[PHP] Inschrijfform werkt opeens niet meer

Pagina: 1
Acties:
  • 290 views

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,

ik heb op mijn site een inschrijfformulier die opeens niet meer werkt. Ik heb de code zelf al meerdere malen bekeken en naar mijn weten heb ik ook niets veranderd. Ik kan wel alle velden invullen, hij geeft het bericht "bedankt voor het aanmelden" ook prima weer, alleen de mails komen opeens niet meer aan, zowel bij mij niet (sta in de bcc), als bij het ingevulde adres. Het wordt gehost op de server van een universiteit die gewoon php ondersteunt - hij deed t namelijk nog gewoon 2 dagen geleden.
Ik zit hiermee diep in de sh*t, eergisteren is er namelijk in het Brabants Dagblad een advertentie geweest dat dit plaatsvindt en dat mensen zich kunnen inschrijven... help is much appreciated!
In ieder geval alvast bedankt voor het kijken

de html code

HTML:
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
70
71
72
73
74
75
76
77
78
79
80
81
82
<table width="100%"  border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#F8F8F8">
      <tr>
        <td><p align="justify"><br>          

          Op deze pagina kunt u zich inschrijven voor deelname aan symposium <em>Na de Troonrede</em> 2009. Na inschrijving ontvangt u per mail een bevestiging, alsmede een bewijs van inschrijving. Vanwege de verwachte drukte vragen wij u bij binnenkomst in de foyer uw aanwezigheid kenbaar te maken aan de balie. Voor de lezers van het Brabants Dagblad zijn een beperkt aantal plaatsen beschikbaar. Wij raden deze lezers aan zich zo spoedig mogelijk in te schrijven.<br>Deelname is uiteraard gratis en open voor iedereen.<br>Studenten hoeven zich niet in te schrijven.          
          </p>
      
    <table width=100% border=0 cellspacing=2 cellpadding=0>
<form name="inschrijfmodule" action="contact.php" method="POST">
<div align="center"><br>
    <tr> <td width=33% align=right>
Naam:<font color=#FFB734>*</font>   
    </td><td align=left>
<input type="text" name="naam">
    </td></tr>

    <tr> <td width=33% align=right>
Voornaam:<font color=#FFB734>*</font>   
    </td><td align=left>
<input type="text" name="voornaam">
    </td></tr>

    <tr> <td width=33% align=right>
Bedrijfsnaam:<font color=#FFFFFF>*</font>   
    </td><td align=left>
<input type="text" name="bedrijfsnaam">
    </td></tr>

    <tr> <td width=33% align=right>
(Bedrijfs)adres:<font color=#FFB734>*</font>    
    </td><td align=left>
<input type="text" name="adres">
    </td></tr>

    <tr> <td width=33% align=right>
Postcode:<font color=#FFB734>*</font>   
    </td><td align=left>
<input type="text" name="postcode">
    </td></tr>

    <tr> <td width=33% align=right>
Plaats:<font color=#FFB734>*</font> 
    </td><td align=left>
<input type="text" name="plaats">
    </td></tr>

    <tr> <td width=33% align=right>
Email:<font color=#FFB734>*</font>  
    </td><td align=left>
<input type="text" name="email">
    </td></tr>

    <tr> <td width=33% align=right valign=top>
<font color=#FFB734>*</font>
    </td><td align=left>
<input type="radio" name="groep" id="bd" value="lezer van het Brabants Dagblad"> Lezer Brabants Dagblad<br>
<input type="radio" name="groep" id="mkb" value="ondernemer"> Ondernemer<br>
<input type="radio" name="groep" id="uvt" value="medewerker van de Universiteit van Tilburg"> Medewerker UvT
    </td></tr>

    <tr> <td width=33% align=right>
Aantal personen:<font color=#FFB734>*</font>
    </td><td align=left>
<select name="aantal">
<option value="leeg"></option>
<option value="een">1</option>
<option value="twee">2</option>
<option value="drie">3</option>
<option value="vier">4</option>
</select>
    </td></tr>

    <tr> <td width=33%>
    </td><td align=left>
<input type="submit" value="Inschrijven">
    </table>
    
          <span class="style1"><p>
     De met <font color=#FFB734>*</font> aangegeven velden zijn verplicht.<br>
     De door u ingevulde informatie zal niet aan derden worden verstrekt.</p></span>        </td>
      </tr>
    </table>


en de php code:

PHP:
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
<?php

   $naam          = $_POST['naam'];
   $voornaam      = $_POST['voornaam'];
   $bedrijfsnaam  = $_POST['bedrijfsnaam'];
   $adres         = $_POST['adres'];
   $postcode      = $_POST['postcode'];
   $plaats        = $_POST['plaats'];
   $to            = $_POST['email'];
   $groep         = $_POST['groep'];
   $aantal        = $_POST['aantal'];
   $subject       = "Bevestiging Inschrijving"; 

   $headers  = 'MIME-Version: 1.0' . "\r\n";
   $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

   $headers .= 'From: *** <****@gmail.com>' . "\r\n";
   $headers .= 'Bcc: ***@gmail.com' . "\r\n";

   $message = "Beste " . $voornaam . " " . $naam . " *** ";


if (!$naam) {
echo "U heeft geen naam ingevuld!";
exit; }

if (!$voornaam) {
echo "U heeft geen voornaam ingevuld!";
exit; }

if (!$adres) {
echo "U heeft geen adres ingevuld!";
exit; }

if (!$postcode) {
echo "U heeft geen postcode ingevuld!";
exit; }

if (!$plaats) {
echo "U heeft geen plaats ingevuld!";
exit; }

if (!$to) {
echo "U heeft geen emailadres ingevuld!";
exit; }

if (!$groep) {
echo "U heeft geen groep geselecteerd!";
exit; }

if ($_POST['aantal'] == "leeg") {
echo "U heeft niet aangegeven met hoeveel personen u wilt komen!";
exit; }


  
else
 {
   mail ($to, $subject, $message, $headers);

   header("Location: http://");

 }

?>

[ Voor 10% gewijzigd door RobIII op 01-09-2009 23:26 . Reden: Code tags toegevoegd ]


Acties:
  • 0 Henk 'm!

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Reply-to of een from header mee sturen en dan kijken of het mailtje terug komt met een foutmelding?
Misschien staat de server waarop je werkt wel in een anti-spam database en blokkeren de meeste servers de emails die worden gestuurd.

edit: Ik zou voor de test trouwens een mailadres op diezelfde server gebruiken, en geen Gmail adres.
Als het idd een anti-spam probleempje is zal het nooit bij Gmail aankomen.
Hell, misschien kan je de mailfunctie wel info mee geven om alle output terug te geven in een variabele en die dan weer naar file te schrijven.

Je kan ook error reporting in PHP aan zetten of je apache logs eens doorlezen, kijken of daar rare dingen in staan.

[ Voor 31% gewijzigd door McKaamos op 28-08-2009 12:39 ]

Iemand een Tina2 in de aanbieding?


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Als ik jou was zou ik proberen te debuggen ;)

Probeer de code op een testlocatie zoveel mogelijk uit te kleden tot je nog steeds met de fout zit. Dan minimaliseer je alle omliggende problemen. Probeer in je script op verschillende punten de output zelf te controleren, door middel van var_dump(. En controlleer wat je mail() functie retourneert. Je gaat er nu zomaar vanuit dat als je mail() aanroept, dit ook gewoon werkt!

Daarnaast nog wat algemene tips: probeer eens gebruik te maken van PhpMailer, dat is een stuk veiliger en makkelijker te gebruiken. Probeer niet "leeg" als input te geven voor een "aantal" veld. Kijk of je meer kan valideren dan alleen maar of een veld is leeggelaten. Ik zou hier nog best wat aan sleutelen voordat ik dit online zet ;)

[ Voor 27% gewijzigd door mithras op 28-08-2009 12:42 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het is al gelukt. Blijkbaar blokkeerde de serverhost de mails...

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ook iets gedaan met de andere tips over dat je je script moet beveiligen? Of kom je over een tijdje terug dat ie t weer niet doet omdat een spammer je scriptje heeft misbruikt?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sowieso is het niet de bedoeling "hij doet 't niet" te roepen en je source te dumpen. We verwachten dat je zelf inzet pleegt en dus (o.a.) debugged (Debuggen: Hoe doe ik dat?). Als je dat gedaan had had je ons al van veel meer relevante informatie kunnen voorzien en waarschijnlijk zelfs al zelf geconcludeerd waar 't probleem zat. Daarbij gebruik je wél code tags voor PHP maar voor de HTML niet :? (code tags).

Hoe dan ook; we zitten hier niet om je code voor je te fixen; dat mag je zelf doen ;)

Tot slot; vele spammers zullen je dankbaar zijn voor dit script :Y) Doe de wereld een lol en haal 't offline tot je beseft wat er mis is met je script ;)

[ Voor 10% gewijzigd door RobIII op 01-09-2009 23:28 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.