PHP formulier werkt niet met php5

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marko

Marko

05/06/2006 15:42:00
Quote Anchor link
Ik heb het volgende fomulier gemaakt:
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
65
66
67
68
69
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<?php

$myemail
= '[email protected]';

$op = $_POST[op];

switch($op)
{
    case
'contact':

        $Naam = stripslashes($_POST['name']);
        $Email = stripslashes($_POST['email']);
        $Onderwerp = stripslashes($_POST['subject']);
        $Bericht = stripslashes($_POST['text']);
        if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",$email))
        {

            $status = "Je email adres klopt niet, je bericht kan niet verzonden worden.<br><br>";
            break;
    }
    

        $referer = $_POST['referer'];
        $remote_host = $_SERVER['REMOTE_ADDR'];
        $server = $_SERVER['SERVER_NAME'];
        $browser = $_SERVER['HTTP_USER_AGENT'];

        $header = "From: $Email\r\nReply-To: $Email\r\n";

        $message = "
            Naam: $Naam
            Via: $referer
            Website: $server
            Remote Host: $remote_host
            Remote Browser: $browser

            $Bericht
        "
;

        if(mail($myemail, "Formulier $Onderwerp", $message, $header))
        {

            $status = "Bedankt voor je bericht. We mailen je snel terug!<br><br>";
        }


        break;
}


?>


<?php print $status; ?>

<form method="post" action="<?php print $_SELF; ?>">
<input type="hidden" name="op" value="contact">
<input type="hidden" name="referer" value="<?php print $_SERVER[HTTP_REFERER]; ?>">
Naam<br><input name="name" size="35" value=""><br>
E-mail adres<br><input name="email" size="35" value=""><br>
Onderwerp<br><input name="subject" size="35" value=""><br>
<br>Bericht<br><textarea name="text" cols="50" rows="10"></textarea><br><br>
<input type="submit" value="Verstuur Bericht!">



<body>

</body>
</html>


Na de update van apache na php 5 werkt het formulier niet meer. ik heb in alle hoeken al gevraagd wat er fout is. Hij werkte wel voor de update.

Hij geeft aan dat de mail fout is dat klopt zie het script

de link is http://www.heracles-vakj.nl/Contact/index.php
waar het fomuliertje op staat.

Misschien hebben jullie een idee waar de fout zit.
Alvast bedankt
Gewijzigd op 01/01/1970 01:00:00 door Marko
 
PHP hulp

PHP hulp

22/12/2024 15:10:43
 
Jan Koehoorn

Jan Koehoorn

05/06/2006 15:48:00
Quote Anchor link
Je regex heb je getest?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
  if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
      $status = "Je email adres klopt niet, je bericht kan niet verzonden worden.<br><br>";
      break;
  }

?>

Waarom staat de sluit akkolade NA break?
De ene keer gebruik je $email, de andere keer $Email.

Tip: begin je script met error_reporting(E_ALL).
 
Jan Koehoorn

Jan Koehoorn

05/06/2006 15:51:00
Quote Anchor link
En je <form> tag kun je beter zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">


edit: je hebt je form tag ook niet afgesloten, zie ik.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Marko

Marko

05/06/2006 15:55:00
Quote Anchor link
Regex getest? ik ben beetje beginneling qua php..ik vind dit al moeilijk genoeg. Alles werkte GOED voor de update van apache
Gewijzigd op 01/01/1970 01:00:00 door Marko
 
Jan Koehoorn

Jan Koehoorn

05/06/2006 16:03:00
Quote Anchor link
Dat was dan mazzel dat het toen goed werkte :-)
Maar na de update zul je toch iets netter moeten gaan programmeren. Ik zal die regex even voor je testen, momentje.
 
Marko

Marko

05/06/2006 16:05:00
Quote Anchor link
Ja oke thnx. Ik vind alles best moeilijk. probeer ook me zelf dingen te leren.

Maar goed..
 
Jan Koehoorn

Jan Koehoorn

05/06/2006 16:13:00
Quote Anchor link
Die regex lijkt wel te werken. Ik heb je code iets aangepast en bij mij doet hij het:
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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<?php
  $myemail
= '[email protected]';
  if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset ($_POST['op'])) {
      switch ($_POST['op']) {
          case
'contact':
              $Naam = stripslashes($_POST['name']);
              $Email = stripslashes($_POST['email']);
              $Onderwerp = stripslashes($_POST['subject']);
              $Bericht = stripslashes($_POST['text']);
              if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $Email)) {
                  $status = "Je email adres klopt niet, je bericht kan niet verzonden worden.<br><br>";
                  break;
              }

              $referer = $_POST['referer'];
              $remote_host = $_SERVER['REMOTE_ADDR'];
              $server = $_SERVER['SERVER_NAME'];
              $browser = $_SERVER['HTTP_USER_AGENT'];
              $header = "From: $Email\r\nReply-To: $Email\r\n";
              $message = "
                Naam: $Naam
                Via: $referer
                Website: $server
                Remote Host: $remote_host
                Remote Browser: $browser
                $Bericht"
;
              if (mail($myemail, "Formulier $Onderwerp", $message, $header)) {
                  $status = "Bedankt voor je bericht. We mailen je snel terug!<br><br>";
              }

              break;
      }
  }

?>


<?php print $status; ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="hidden" name="op" value="contact">
    <input type="hidden" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>">
    Naam<br><input name="name" size="35" value=""><br>
    E-mail adres<br><input name="email" size="35" value=""><br>
    Onderwerp<br><input name="subject" size="35" value=""><br>
    <br>Bericht<br><textarea name="text" cols="50" rows="10"></textarea><br><br>
    <input type="submit" value="Verstuur Bericht!">
</form>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Marko

Marko

05/06/2006 16:19:00
Quote Anchor link
Bedankt ! super !

Hij werkt :)
 



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.