Naam is 1???

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart Roelofs

Bart Roelofs

21/05/2011 10:54:13
Quote Anchor link
hey forumgebruikers,

Ik ben nu een tijdje met php bezig, maar ik heb hier een fout waar ik niet helemaal uitkom.

hij zegt als ik het formulier helemaal heb ingevult, dat naam "1" is en emailadres ook "1" is... maar het "bericht" word wel goed weergegeven.

hier de html:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Basic PHP Page</title>
</head>
<div align="center">
<form action="handle_form.php" method="post">
<fieldset>
        <legend align="center">
        vul je gegevens hieronder in:
           </legend>
    <table>
        <tr><td>Naam:</td><td><input type="text" name="naam" maxlength="40" size="25"/><br /></td>
        
        <tr><td>Emailadres:</td><td><input type="text" name="emailadres" maxlength:"100" /><br /></td>

        <tr><td>Telefoonnummer (optioneel):</td><td><input type="text" name="telefoonnummer" maxlength="30" /><br /></td>

        <tr><td>Bericht:</td> <td><textarea name="bericht" rows="5"></textarea><br /></td><br />
</table>
        </fieldset>
      
        <input type="submit" name="submit" value="verzenden"/><br />

</form>
</div>
<body>
</body>
</html>


en de php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>verzonden!</title>
</head>
<?php
$naam
= $_REQUEST['naam'];
$emailadres = $_REQUEST['emailadres'];
$telefoonnummer = $_REQUEST['telefoonnummer'];
$bericht = $_REQUEST['bericht'];


if (!empty($_REQUEST['naam'])){$naam = $_REQUEST['naam'];

}



else { echo "<b>Je bent vergeten een naam in te vullen!</b><br />";

}



if (!empty($_REQUEST['emailadres'])) {$emailadres = $_REQUEST['emailadres'];
}

else { echo "<b>Je bent vergeten een emailadres in te vullen!<br />";
}


if(!empty($_REQUEST['bericht'])) {$bericht = $_REQUEST['bericht'];
}

else { echo "<b>Je bent vergeten een bericht toe te voegen!<br /></b>";
}



if ($naam = $_REQUEST['naam'] && $emailadres = $_REQUEST['emailadres'] && $bericht = $_REQUEST['bericht']){
    
echo "Bedankt, <b>$naam</b>, voor het volgende bericht:<br /><br />

------------------------------------------------------------------<br />


<i>$bericht</i> <br /><br />

------------------------------------------------------------------<br />


Wij streven ernaar om uw mail binnen 48 uur te beandwoorden.<br /><br />

Maar wij kunnen niet garanderen dat dit ten alle tijden gebeurt, dank voor uw begrip.<br /><br />

Wij zullen de mail beandwoorden op:

<b>$emailadres</b><br />
<br />
Groeten Teen Screen"
;
}


else {
        echo "je hebt niet alle velden ingevuld!";
}

?>

<body>
</body>
</html>



de fout is erin gekomen toen ik de volgende code toevoegde:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if ($naam = $_REQUEST['naam'] && $emailadres = $_REQUEST['emailadres'] && $bericht = $_REQUEST['bericht']){


en alles wat eronder staat m.b.t de if/else. de text die de if moet weergeven stond er wel al.

let er even niet op dat hij hem niet verzend. dit weet ik. maar dit komt er pas in als dit allemaal werkt.

Groeten Bart Roelofs
 
PHP hulp

PHP hulp

22/12/2024 19:51:16
 
Daniel H

Daniel H

21/05/2011 10:57:50
Quote Anchor link
Gebruik $_POST[''] ipv $_REQUEST[''] !
 
Bart Roelofs

Bart Roelofs

21/05/2011 11:07:29
Quote Anchor link
dat moet geen verschil maken, hij heeft het al die tijd gewoon gedaan met request. maar ik zal het nog een keer proberen.

Groeten Bart Roelofs

Toevoeging op 21/05/2011 11:09:39:

zojuist alles vervangen door $_POST, maar dit maakt geen verschil. nog steeds is naam 1 en emailadres ook 1... bericht klopt nog steeds.

Bart Roelofs
 
Daniel H

Daniel H

21/05/2011 11:12:01
Quote Anchor link
Nee, klopt de fout zit ergens anders. zie zo gauw even niet waar, maar je kan beter post gebruiken ipv request.
 
Wouter J

Wouter J

21/05/2011 11:22:39
Quote Anchor link
Even wat puntjes op je code:
- regel 8 - 11 is onnodig variabelen kopiëren. Laat dit gewoon weg en gebruik $_POST['varnaam'] in je code i.p.v $varnaam
- variabelen moeten buiten quotes. Dus niet "Hallo $naam" maar 'Hallo '.$naam
- Als je iets wilt vergelijken moet je == gebruiken. Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// Hier gebruiken we = omdat we iets toewijzen aan een var
$naam = 'Wouter';

// Hier gebruiken we == omdat we kijken of $naam gelijk is aan Wouter
if($naam == 'Wouter')
# Deze geeft true, 'Wouter' is gelijk aan  'Wouter'
$nummer = 1;

// Hier gebruiken we == om te kijken of $nummer gelijk is aan 1
if($nummer == 1)
# Deze geeft true, 1 is gelijk aan 1

// Hier gebruiken we === om te kijken of $nummer precies gelijk is.
// Dus ook qua type dus niet een string met een int

if($nummer === '1')
# Deze geeft false, aangezien 1 (int) niet hetzelfde is als '1' (string

// Hier kijken we weer of het gelijk is, maar niet precies gelijk.

if($nummer == '1')
# Deze geeft true, 1 is gelijk aan '1' alleen het zijn andere types.
?>
 
Bart Roelofs

Bart Roelofs

21/05/2011 11:34:34
Quote Anchor link
oke, het probleem is opgelost. maar gekgenoeg werkt het alleen als ik 1 = gebruik, als ik == gebruik, dan werkt het niet zoals het moet. maar alles werkt nu. naam is gewoon naam, emailadres is gewoon emailadres.

bedankt

Bart Roelofs
 
Dennis meijer

dennis meijer

21/05/2011 11:34:50
Quote Anchor link
@Bart

gebruik deze code voor je php... dan werkt die;)

Wel even het bericht van wouter doorlezen en mijn commentaar zodat je het een beetje snapt;)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php


// kijken of het veld naam niet leeg is.
if (empty($_POST['naam']))
{

    // als die leeg is een foutmelding weergeven.
    echo "<b>Je bent vergeten een naam in te vullen!</b><br />";

}

// kijken of het veld emailadres niet leeg is.
elseif (empty($_POST['emailadres']))
{

    // als die leeg is een foutmelding weergeven.
    echo "<b>Je bent vergeten een emailadres in te vullen!<br />";
    
}

// kijken of het veld bericht niet leeg is.
elseif(empty($_POST['bericht']))
{

    // anders foutmelding weergeven.
    echo "<b>Je bent vergeten een bericht toe te voegen!<br /></b>";
    
}


// als er geen foutmeldingen zijn hiermee doorgaan.
else
{
    // kijken of het veld telefoonnummer is ingevuld.
    if (!empty($_POST['telefoonnummer']))
    {

        //als het veld is ingevuld een variabele vullen.
        $telefoonnummer = $_POST['telefoonnummer'];
    }

    
    // de rest van de variabeles vullen.
    $naam = $_POST['naam'];
    $emailadres = $_POST['emailadres'];
    $bericht = $_POST['bericht'];
    
    // hier het bericht laten zien
echo 'Bedankt, <b>'.$naam.'</b>, voor het volgende bericht:<br /><br />

------------------------------------------------------------------<br />


<i>'
.$bericht.'</i> <br /><br />

------------------------------------------------------------------<br />


Wij streven ernaar om uw mail binnen 48 uur te beandwoorden.<br /><br />

Maar wij kunnen niet garanderen dat dit ten alle tijden gebeurt, dank voor uw begrip.<br /><br />

Wij zullen de mail beandwoorden op:

<b>'
.$emailadres.'</b><br />
<br />
Groeten Teen Screen'
;
}



?>
 
Bart Roelofs

Bart Roelofs

21/05/2011 11:52:14
Quote Anchor link
@dennis

die werkt inderdaad ook.

Bart Roelofs
 
Dennis meijer

dennis meijer

21/05/2011 11:53:28
Quote Anchor link
Ja en ziet er iets beter uit.. Alleen zou ik nog niet voor deze opmaak gaan of voor deze manier van scripten maar ieder zijn manier.
 
Bart Roelofs

Bart Roelofs

21/05/2011 11:55:19
Quote Anchor link
@dennis

bedoel je hoe ik de tabs verdeel?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.