Simpel PHP mail form werkt wel, stuurt geen gegevens.

Pagina: 1
Acties:
  • 329 views

Acties:
  • 0 Henk 'm!

  • MrVegeta
  • Registratie: September 2002
  • Laatst online: 22-09 19:39

MrVegeta

! Dolf is rechtvaardig !

Topicstarter
Ik moet even een snel een mail formpje opzetten en google was me vriend en gaf me al snel een simpel formpje, maar ik krijg het niet 100% werkend. Ik krijg wel een mailtje maar er staan verder geen gegevens in, geen afzender, onderwerp, e-mail adres etc.

Er zijn 2 bestanden waar het om gaat, de contact.php, (allemaal opmaak meuk etc er uit gehaald)
HTML:
1
2
3
4
5
6
<form name="form1" method="post" action="includes/send_contact.php">
<textarea name="detail" cols="50" rows="4" id="detail"></textarea><br />
<<input name="name" type="text" id="name" size="50"><br />
<input name="customer_mail" type="text" id="customer_mail" size="50"><br />
<input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"><br />
</form>


En het PHP bestand, send_contact.php,
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
<?php
// Contact subject
$subject ="$subject";
// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail";
// From
$header="from: $name <$mail_from>";

// Enter your email address
$to ='peter@no-illusions.nl';

$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email
// display message "We've recived your information"
if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>


Nou ben ik zelf niet echt bedreven met PHP maar ik zie hier niet waarom die geen gegevens mee stuurt. Hij krijgt de gegevens zoals subject, message, etc uit contact.php en moet dat toch gewoon meesturen met het mailtje? Maar ipv daarvan krijg ik steeds een leeg mailtje.

Geeft steekhoudelijke argumenten terwijl hij niet weet waar het over gaat. BlizzBoys, HD casts van StarCraft II gemaakt door Tweakers! Het begint, Zombiepocalyps


Acties:
  • 0 Henk 'm!

  • harrald
  • Registratie: September 2005
  • Laatst online: 16-09 08:44
edit: never mind (nieuwe forum regels)

[ Voor 84% gewijzigd door harrald op 28-03-2009 18:05 ]


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Staat register_globals aan? Anders werkt dat uiteraard niet met die variabelen zo kopieren uit het formulier... ($subject ="$subject" enzo) En als register_globals niet aan staat, mooi zo laten. Dit is een vreselijk achterhaalde manier om variabelen uit een formulier te halen. Echo eens wat er precies wordt doorgegeven aan het mailcommando. Even debuggen dus.

[ Voor 29% gewijzigd door Bergen op 28-03-2009 18:08 ]


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 22-09 09:45

Onbekend

...

De verstuurde variablen uit het form zijn geen normale php-variablen, maar POST-variablen.
Je moet dit bijvoorbeeld gebruiken:
$subject =$_POST["subject"];

Zie hier voor meer info:
http://www.w3schools.com/php/php_post.asp

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • kaesve
  • Registratie: Maart 2009
  • Laatst online: 16-05 03:04
hmm. je stuurt de data mee met een POST. is het dan niet de bedoeling dat je ze uit een $_POST[] array haalt?

dus
code:
1
$subject ="$_POST['subject']";
ipv
code:
1
$subject ="$subject";

Acties:
  • 0 Henk 'm!

  • MrVegeta
  • Registratie: September 2002
  • Laatst online: 22-09 19:39

MrVegeta

! Dolf is rechtvaardig !

Topicstarter
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
<?php
// Contact subject
$subject= $_POST["$subject"];
// Details
$message= $_POST["$detail"];
// Mail of sender
$mail_from= $_POST["$customer_mail"];
// From
$header="from: $name <$mail_from>";

// Enter your email address
$to ='peter@no-illusions.nl';

$send_contact=mail($to,$_POST["$subject"],$_POST["$message"],$_POST["$header"]);

// Check, if message sent to your email
// display message "We've recived your information"
if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";}
?>

Zoiets? Wil ook nog niet werken. Ik begrijp wel dat "jullie" geen zin hebben om een help-desk te zijn maar ik wil dit gewoon ff klaar hebben in het weekend en ik heb het gevoel dat het al zo goed als klaar is aangezien de mail al gewoon wordt gestuurd...

Hoe kan ik bekijken of de global_register aanstaat op mijn server?

Geeft steekhoudelijke argumenten terwijl hij niet weet waar het over gaat. BlizzBoys, HD casts van StarCraft II gemaakt door Tweakers! Het begint, Zombiepocalyps


Acties:
  • 0 Henk 'm!

  • TvdW
  • Registratie: Juli 2007
  • Laatst online: 30-08-2021
nvm

[ Voor 97% gewijzigd door TvdW op 28-03-2009 18:29 . Reden: was al gezegd ]


Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 22-09 12:06
Scriptje maken met phpinfo(); erin, daar kun je vinden of register_globals aan of uit staat

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • itarix
  • Registratie: Juli 2005
  • Laatst online: 07:05

itarix

404 soul not found

Je hebt de variablen iets te goed overgenomen vanuit orginele script

probeer eens bij alle $_POST[""] commando's de dollar tekens weg te halen
$_POST["$subject"]; moet $_POST["subject"]; zijn
Of zou je echt persee enkele haakjes moeten gebruiken?
In dat geval kun je ook $_POST['subject']; proberen.

Acties:
  • 0 Henk 'm!

  • harrald
  • Registratie: September 2005
  • Laatst online: 16-09 08:44
in je mailform verstuur je iets met bijv de naam: detail
vervolgens wil je de inhoud van detail uit POST pakken met $detail?
waarom?

probeer dit: $detail = $_POST['detail'];

ik raad je echt aan om eens in de basis stof van php te duiken want je gaat op deze manier gevaarlijke scriptjes schrijven.

edit: @hierboven 'string' ondersteund geen variabelen in de string waar "string" dit wel doet.
$foo= 'bla' echo '$foo' //print uit: $foo
$foo= "bla" echo '$foo' //print uit: bla

[ Voor 23% gewijzigd door harrald op 28-03-2009 18:40 ]


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Register_globals is echt heel fout om te gebruiken en moet je dus echt niet aan zetten!

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Ow... daarnaast is het misschien makkelijker om van iets als PHPmailer gebruik te maken. Dat zorgt er voor dat al je dingen gewoon veilig afgehandeld worden en vereenvoudigd het sturen van mails via PHP.

Acties:
  • 0 Henk 'm!

  • MrVegeta
  • Registratie: September 2002
  • Laatst online: 22-09 19:39

MrVegeta

! Dolf is rechtvaardig !

Topicstarter
register_globals / off / off. Okay vandaar dat het dus niet werkt. Dus als er iemand nog tips heeft om een simpel formuliertje in elkaar te zetten hoor ik het graag...

Geeft steekhoudelijke argumenten terwijl hij niet weet waar het over gaat. BlizzBoys, HD casts van StarCraft II gemaakt door Tweakers! Het begint, Zombiepocalyps


Acties:
  • 0 Henk 'm!

  • harrald
  • Registratie: September 2005
  • Laatst online: 16-09 08:44
MrVegeta schreef op zaterdag 28 maart 2009 @ 18:40:
register_globals / off / off. Okay vandaar dat het dus niet werkt. Dus als er iemand nog tips heeft om een simpel formuliertje in elkaar te zetten hoor ik het graag...
Je hebt nu verscheidene tips gekregen, echter doe je er nog niet veel mee. :>
Zoek eens uit wat $_POST doet, en bekijk hoe de mail() functie werkt. Dan moet je toch een heel stuk verder komen. ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Check de mail functie tutorials op W3Schools eens;
http://www.w3schools.com/PHP/php_mail.asp

Je hebt niet echt veel research gedaan he :P ? Zoals harrald al zei,
ga je eens verdiepen in de Mail functie. Deze is vrij simpel, en je hebt
de boel zo onder de knie :)

Denk wel dat je eruit komt met het linkje...

Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

MrVegeta schreef op zaterdag 28 maart 2009 @ 18:40:
register_globals / off / off. Okay vandaar dat het dus niet werkt.
Nogmaals, NIET AANZETTEN. Het is rete onveilig en staat niet voor niets standaard uitgeschakeld sinds PHP 4.2.0. Zie ook http://nl2.php.net/register_globals.
Dus als er iemand nog tips heeft om een simpel formuliertje in elkaar te zetten hoor ik het graag...
Je hebt er toch al een? Je moet alleen nog even de foutjes eruit halen.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Wat Harrald zegt.

Verder zijn we hier inderdaad geen afhaal balie, en dat is niet omdat 'we' daar geen zin in hebben, maar een policy om het hier een beetje werkbaar te houden.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.