fouten in registreerscript!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Trisie

trisie

26/07/2009 12:01:00
Quote Anchor link
ik heb bezig met een registreerscript alleen ik weet niet wat er fout aan is.

misschien weten jullie het?

ik heb er een uur naar gekeken alleen ik zie de fout niet.

dit is mijn code

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
<html>
<head>
<title>Mailformulier</title>
</head>
<body>
<?php
    if ($_POST ["verzendbutton"] !="verzenden" || !$_POST["naam"] || !$_POST["mailadres"] || !$_POST["reactie"]){
?>

<form action="mailform.php" method="post">
<?php
    if ($_POST ["verzendbutton"] && !$_POST["naam"]){
        echo "<font color=\"red\">Vul hier de naam in!</font><br>";
}

?>

Naam: <input type="text" name="naam" value="<?php echo $_POST["naam"]?>"><br>
<?php
    if ($_POST ["verzendbutton"] && !$_POST["mailadres"]){
        echo "font color=\"red\">Vul hier je mailadres in!</font><br>";
}

?>

E-Mail: <input type="text" name="mailadres" value="<?php echo $_POST["mailadres"] ?>"><br>
<?php
    if ($post["verzendbutton"] && !$_POST["reactie"]){
        echo "<font color=\"red\">Vul hier uw reactie in!</font><br>";
}

?>

Reactie: <textarea cols="30" rows="4" name="reactie"><?php echo $_POST["reactie"] ?></textarea><br>
<input type="submit" name="verzendbutton" value="verzenden">
</form>
<?php
}
else{
$boodschap = "Naam: ".$_POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($_POST ["mailadres"], "Uw reactie van de website",$boodschap);
    echo "Bedankt ".$naam." fijn dat je je registreerde!";
}

?>

</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Trisie
 
PHP hulp

PHP hulp

15/11/2024 02:59:34
 
GaMer B

GaMer B

26/07/2009 12:03:00
Quote Anchor link
Je kan je relevante code tussen de tags zetten.
 
Trisie

trisie

26/07/2009 12:06:00
Quote Anchor link
ok thnx het staat er
 
GaMer B

GaMer B

26/07/2009 12:08:00
Quote Anchor link
En wat gaat er fout dan? Krijg je een foutmelding of krijg je er helemaal geen? Doet het script iets niet wat je wel verwacht?

Als je geen foutmelding krijgt, zet dit eens bovenaan het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);[/code]
 
Trisie

trisie

26/07/2009 12:13:00
Quote Anchor link
nou ik krijg 7 foutmeldingen in het formulier zelf:
Notice: Undefined index: verzendbutton in C:\wamp\www\PHP\mailform.php on line 7
Notice: Undefined index: verzendbutton in C:\wamp\www\PHP\mailform.php on line 11
Notice: Undefined index: naam in C:\wamp\www\PHP\mailform.php on line 15
Notice: Undefined index: verzendbutton in C:\wamp\www\PHP\mailform.php on line 17
Notice: Undefined index: mailadres in C:\wamp\www\PHP\mailform.phpon line 21
Notice: Undefined variable: post in C:\wamp\www\PHP\mailform.php on line 23
Notice: Undefined index: reactie in C:\wamp\www\PHP\mailform.php on line 27

en als je op verzend drukt nog 2:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\PHP\mailform.php on line 34
Notice: Undefined variable: naam in C:\wamp\www\PHP\mailform.php on line 35
 
GaMer B

GaMer B

26/07/2009 12:17:00
Quote Anchor link
Je probeert onderscheid te maken tussen:
- formulier is verzonden
- formulier is niet verzonden

Er is in feite maar één echte goede manier om dat te doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // Formulier is verzonden
    // Verdere afhandeling met !$_POST['naam'] et cetera

}
else
{
    // Formulier is niet verzonden. Formulier weergeven
}[/code]

EDIT: Wat betreft de mail() functie, je zult in je instellingen een mail server moeten instellen. Standaard is er geen mail server aanwezig op localhost. Gebruik bijvoorbeeld de mail server van je internet provider, zoals Ziggo o.i.d. Mail() werkt namelijk niet out-of-the-box =]
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Trisie

trisie

26/07/2009 12:18:00
Quote Anchor link
oh oke de code die ik net had komt uit een php boek

maar dat is dus niet goed?
 
Jesper Diovo

Jesper Diovo

26/07/2009 12:30:00
Quote Anchor link
Nee, dat is helemaal niet goed. Om te controleren of een variabele bestaat, gebruik je isset() en of deze gevuld is empty(). Overigens kijk je nergens of het formulier wel degelijk verzonden is. Kijken of er een of andere verzendbutton in $_POST zit is niet de juiste manier. Zie de reactie van GaMer13 voor de juiste manier.
 
Trisie

trisie

26/07/2009 12:45:00
Quote Anchor link
ik heb het geprobeerd, er zijn wel een paar fouten eruit maar nog niet alles

er staat steeds deze fout:
Notice: Undefined index: verzendbutton

dit is nu de code
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
<html>
<head>
<title>Mailformulier</title>
</head>
<body>
<form action="mailform.php" method="post">
<?php
    if ($_POST ["verzendbutton"] && !$_POST["naam"]){
        echo "<font color=\"red\">Vul hier de naam in!</font><br>";
}

?>

Naam: <input type="text" name="naam"><br>
<?php
    if ($_POST ["verzendbutton"] && !$_POST["mailadres"]){
        echo "<font color=\"red\">Vul hier je mailadres in!</font><br>";
}

?>

E-Mail: <input type="text" name="mailadres"><br>
<?php
    if ($_POST["verzendbutton"] && !$_POST["reactie"]){
        echo "<font color=\"red\">Vul hier uw reactie in!</font><br>";
}

?>

Reactie: <textarea cols="30" rows="4" name="reactie"></textarea><br>
<input type="submit" name="verzendbutton" value="verzenden">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$boodschap = "Naam: ".$_POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($_POST ["mailadres"], "Uw reactie van de website",$boodschap);
    echo "Bedankt ".$naam." fijn dat je je registreerde!";
$_POST ["verzendbutton"] !="verzenden" || !$_POST["naam"] || !$_POST["mailadres"] || !$_POST["reactie"];
}
else {
echo "Het formulier is niet verzonden";
}

?>

</body>
</html>
 
GaMer B

GaMer B

26/07/2009 12:48:00
Quote Anchor link
$_POST['verzendbutton'] bestaat toch nog helemaal niet?? Hoe kan je daar dan mee werken??

Doe het dan zo: if(isset($_POST['verzendbutton'])
 
Trisie

trisie

26/07/2009 13:01:00
Quote Anchor link
EDIT: ok dat is nu gelukt alleen als ik hem wil verzenden dan krijg ik nog 1 fout:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\PHP\mailform.php on line 34


heb nu dit script:
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
<html>
<head>
<title>Mailformulier</title>
</head>
<body>
<?php
if (isset($_POST ["verzendbutton"]) !="verzenden" || !$_POST["naam"] || !$_POST["mailadres"] || !$_POST["reactie"]){
?>

<form action="mailform.php" method="post">
<?php
    if (isset($_POST ["verzendbutton"]) && !$_POST["naam"]){
        echo "<font color=\"red\">Vul hier de naam in!</font><br>";
}

?>

Naam:<br> <input type="text" name="naam"><br>
<?php
    if (isset($_POST ["verzendbutton"]) && !$_POST["mailadres"]){
        echo "<font color=\"red\">Vul hier je mailadres in!</font><br>";
}

?>

E-Mail:<br> <input type="text" name="mailadres"><br>
<?php
    if (isset($_POST["verzendbutton"]) && !$_POST["reactie"]){
        echo "<font color=\"red\">Vul hier uw reactie in!</font><br>";
}

?>

Reactie:<br> <textarea cols="30" rows="4" name="reactie"></textarea><br>
<input type="submit" name="verzendbutton" value="verzenden">
</form>
<?php
}
else{
$boodschap = "Naam: ".$_POST["naam"]."\nCommentaar: ".$_POST["reactie"];
mail($_POST ["mailadres"], "Uw reactie van de website",$boodschap);
    echo "Bedankt ".$_POST['naam']." fijn dat je je registreerde!";
}

?>

</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door trisie
 
- SanThe -

- SanThe -

26/07/2009 13:08:00
Quote Anchor link
Ik zou het boek weggooien.
 
Trisie

trisie

26/07/2009 13:10:00
Quote Anchor link
nee is verder wel een goed boek alleen dit script werkt niet de vorige wel allemaal.

het is: Leer jezelf professioneel werken met PHP 5 & MYSQL van Arjan Burger
 
- Ariën  -
Beheerder

- Ariën -

26/07/2009 13:10:00
Quote Anchor link
Die eerste is een inkopper. Kwestie van even lezen
En die tweede, tja... lees dit topic eens door.

Verder is de structuur van PHP-script-opbouw in bijna alle boeken om te huilen.
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Trisie

trisie

26/07/2009 13:11:00
Quote Anchor link
de 2e is eruit alleen de eerste niet. zou je me kunnen vertellen hoe ik dat moet doen?
 
- Ariën  -
Beheerder

- Ariën -

26/07/2009 13:13:00
Quote Anchor link
Staat er toch?

Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Trisie

trisie

26/07/2009 13:16:00
Quote Anchor link
ja dat staat er, maar wat moet ik dan veranderen in php.ini?
 
- Ariën  -
Beheerder

- Ariën -

26/07/2009 13:18:00
Quote Anchor link
kijken of er een SMTP-server en poort ingevuld is?
Dat maak ik op uit die vetgedrukte error?

Misschien even een bril opdoen en lezen wat er staat ;-)?
 
Trisie

trisie

26/07/2009 13:20:00
Quote Anchor link
ik kan wel lezen hoor(met dyslexie)

dit staat in mijn php.ini:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

EDIT: mooie foto trouwens :p
Gewijzigd op 01/01/1970 01:00:00 door trisie
 
- Ariën  -
Beheerder

- Ariën -

26/07/2009 13:21:00
Quote Anchor link
draait er een mailserver op je PC?
Zo ja, zet die aan, zo nee... vul i.pv. van localhost het SMTP adres van je intenretprovider in.

En herstart uiteraard Apache..
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Trisie

trisie

26/07/2009 13:22:00
Quote Anchor link
oke maar hoe kom ik erachter wat het SMTP adres van mijn internetprovider is?

EDIT, dat heb ik gedaan alleen blijft zelfde foutmelding staan
Gewijzigd op 01/01/1970 01:00:00 door trisie
 

Pagina: 1 2 3 volgende »



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.