[php] mailscript werk wel / niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dit scriptje gebruik ik vrij veel en werkt altijd. nu heb ik een andere domeinnaam en daar komt er wel een mail binnen op mijn mailadres alleen vult hij de waardes niet in die ik in het formulier ingeef.

waar kan dit aan liggen??

dit is trouwens het scriptje:
code:
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
<?php

    $inhoud = "
    
    De volgende donatie voor de Stichting Havonos is ontvangen van:
    
    Geslacht:       $geslacht
    Voorletters:    $voorletters
    Tussenvoegsel:  $tussenvoegsel
    Achternaam:     $achternaam
    
    Adres:          $adres
    Postcode:       $postcode
    Woonplaats:     $woonplaats
    Telefoon:       $telefoon
    E-mail:         $email
    
    Eventuele opmerking:
    $tekst
    
    Bovengenoemde doet een donatie van $vastbedrag / $anderbedrageuro
    per $periode van bankrekeningnummer $banknummer
    
    ";

if(!$_POST['geslacht'] || !$_POST['voorletters'] || !$_POST['achternaam'] || !$_POST['adres'] || !$_POST['postcode'] || !$_POST['woonplaats'] || !$_POST['periode'] || !$_POST['vast-bedrag']) {
    // 1 van de dingen zijn niet ingevuld
    echo("Fout, u moet alle velden invullen.");
}
else {
    // alles is ingevuld. Hier kan nu gemaild worden.

    $ontvanger = "Stichting Havonos <info@mijnadres.nl>";
    $headers .= "From: $naam <$email>\n";
    $onderwerp = "Aanmelding donatie via havonos.nl website";
    $mail = mail($ontvanger,$onderwerp,$inhoud,$headers);

?>

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Waarschijnlijk staat register_globals uit op je server. Als dat uitstaat, wat ook aan te raden is, kun je variabelen uit (bijvoorbeeld) $_GET en $_POST arrays niet zomaar gebruiken in je script. Probeer net als je in je check doet ( if( blabla ) ) ook de variabelen die je in $inhoud gebruikt rechtstreeks uit de $POST-array te halen.

Dus:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Geslacht:       $_POST['geslacht']
    Voorletters:    $_POST['voorletters']
    Tussenvoegsel:  $_POST['tussenvoegsel']
    Achternaam:     $_POST['achternaam']
    
    Adres:          $_POST['adres']
    Postcode:       $_POST['postcode']
    Woonplaats:     $_POST['woonplaats']
    Telefoon:       $_POST['telefoon']
    E-mail:         $_POST['email']
    
    Eventuele opmerking:
    $_POST['tekst']
    
    Bovengenoemde doet een donatie van $_POST['vastbedrag'] / $_POST['anderbedrageuro']
    per $_POST['periode'] van bankrekeningnummer $_POST['banknummer']

[ Voor 11% gewijzigd door Gertjan op 14-03-2005 20:49 ]


Acties:
  • 0 Henk 'm!

  • grolle
  • Registratie: Oktober 2001
  • Laatst online: 15-09 10:26
Verwijderd schreef op maandag 14 maart 2005 @ 20:39:
dit scriptje gebruik ik vrij veel en werkt altijd. nu heb ik een andere domeinnaam en daar komt er wel een mail binnen op mijn mailadres alleen vult hij de waardes niet in die ik in het formulier ingeef.

waar kan dit aan liggen??

dit is trouwens het scriptje:
PHP:
34
$headers .= "From: $naam <$email>\n";
Zelfde gedachte als hier boven
En wat zijn je andere headers in regel 34? (die .= )

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
aha, ik heb het gedaan maar het gaat nog niet zoals het hoort. Bij de e-mail blijven alle waardes nog gewoon blanco dus hij stuurt ze niet mee. snap het niet helemaal

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Wat Ali_illegali zegt gaat natuurlijk ook op voor regel 36.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het formulier werkt ik het gewoon de globals aan gezet. maar nu wil ik een waarde van het formulier in dezelfde pagina ook nog eens op het scherm laten weergeven. Is deze dan ook gewoon oproepbaar via $waarde of moet ik hiervoor een gehele array aanmaken??

Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Verwijderd schreef op maandag 14 maart 2005 @ 22:23:
het formulier werkt ik het gewoon de globals aan gezet. maar nu wil ik een waarde van het formulier in dezelfde pagina ook nog eens op het scherm laten weergeven. Is deze dan ook gewoon oproepbaar via $waarde of moet ik hiervoor een gehele array aanmaken??
Ik raad je toch sterk aan om register_globals uit te laten staan, en het probleem op te lossen i.p.v. te omzeilen. Als je nog problemen hebt, kun je je code nog eens posten zoals je het nu hebt? Het stuk wat je in je startpost postte was zo te zien ook niet helemaal compleet.

Oh, en ja: als jij die waarde niet overschreven hebt met iets anders kun je hem rustig nog eens gebruiken :)

[ Voor 8% gewijzigd door Gertjan op 14-03-2005 23:26 . Reden: vraag vergeten te beantwoorden ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
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
83
84
85
86
87
<html>

    <head>
     <link href="style.css" rel="styleSheet" type="text/css">
     <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
     <meta name="generator" content="Adobe GoLive 4">
     <title>Stichting Havonos</title>
     <link href="css/mainpages.css" rel="styleSheet" type="text/css">
  </head>

    <body bgcolor="white" background="afbeeldingen/background-center.gif">
        <center>

        <?php

    $inhoud = "
    
    De volgende donatie voor de Stichting Havonos is ontvangen van:
     
    Geslacht:          $geslacht
    Voorletters:      $voorletters
    Tussenvoegsel:  $tussenvoegsel
    Achternaam:     $achternaam
     
    Adres:             $adres
    Postcode:         $postcode
    Woonplaats:     $woonplaats
    Telefoon:         $telefoon
    E-mail:            $email
     
    Eventuele opmerking: 
    $tekst
     
    Bovengenoemde doet een donatie van $vastbedrag / $anderbedrag
    per $periode van bankrekeningnummer $banknummer
    
    ";

if(!$_POST['geslacht'] || !$_POST['voorletters'] || !$_POST['achternaam'] || !$_POST['adres'] || !$_POST['postcode'] || !$_POST['woonplaats'] || !$_POST['periode'] || !$_POST['vastbedrag']) {
    // 1 van de dingen zijn niet ingevuld
    echo("Fout, u moet alle velden invullen.");
}
else {
    // alles is ingevuld. Hier kan nu gemaild worden.

    $ontvanger = "Stichting Havonos <sieni@havonos.nl>";
    $headers = "From: $naam \n";
    $onderwerp = "Aanmelding donatie via havonos.nl website";
    $mail = mail($ontvanger,$onderwerp,$inhoud,$headers);

?>


<div align="center">
                <table width="64" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td>
                            <table width="550" border="0" cellspacing="0" cellpadding="0" above="550">
                                <tbody>
                                    <tr>
                                        <td colspan="2">
                                            <table width="100%" border="0" cellspacing="1">
                                                <tbody>
                                                    <tr height="50">
                                                        <td colspan="2" valign="top" height="50"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font size="4">Bedankt</font>,</b></font><font size="2" face="Trebuchet MS"><b> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">We zullen het door u opgegeven bedrag binnenkort van uw rekening afschrijven.<br>
                                                                        <br>
                                                                        U ontvangt en kopie van dit formulier op uw opgegeven e-mail adres.<br>
                                                                    </font></b></font></td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>
<?php
}
?>

        </center>
    </body>

</html>

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Wat wil je met die lap code zeggen? :o

Trouwens, zet register_globals nou gewoon weer uit joh. Iedere beheerder met een beetje zelfrespect laat zoiets uit staan omdat het niets oplevert dan mogelijke beveiligingslekken. Bovendien werkt je script in 99% van de gevallen niet meer als je het naar een andere server zou uploaden, want daar staat het bijna zeker weten uit.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

-NMe- schreef op vrijdag 18 maart 2005 @ 17:38:
Wat wil je met die lap code zeggen? :o
Ali_Illegali schreef op maandag 14 maart 2005 @ 23:25:
Als je nog problemen hebt, kun je je code nog eens posten zoals je het nu hebt? Het stuk wat je in je startpost postte was zo te zien ook niet helemaal compleet.
;)

Maarrem nu post je dus die code, maar daar staat helemaal geen $_GET of $_POST in :?

edit: Aah, ik zie het.. Je moet *alle* variabelen die je meegeeft vanaf een andere pagina vervangen door $_GET['variabele'] of $_POST['variabele'], en niet alleen die ene die je nu hebt gedaan. Ik dacht dat $_GET of $_POST nergens stond, maar stond er maar 1 keer ofzo.

[ Voor 25% gewijzigd door Verwijderd op 18-03-2005 18:03 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 18 maart 2005 @ 18:01:
edit: Aah, ik zie het.. Je moet *alle* variabelen die je meegeeft vanaf een andere pagina vervangen door $_GET['variabele'] of $_POST['variabele'], en niet alleen die ene die je nu hebt gedaan. Ik dacht dat $_GET of $_POST nergens stond, maar stond er maar 1 keer ofzo.
Verwijderd schreef op maandag 14 maart 2005 @ 22:23:
het formulier werkt ik het gewoon de globals aan gezet.
;)

Two can play that game. :P

Ik zou dus, inderdaad, zoals Sidney al zegt, netjes alle vervangen door GET- en POST waarden, en register globals weer uitzetten. En dan ook echt alle variabelen goed zetten, want ik vermoed dat daar een deel van het probleem zat.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
zal het vandaag maar eens proberen. als het lukt laat ik het weten.
thanx anyway
Pagina: 1