Toon posts:

[PHP] Mailfform

Pagina: 1
Acties:
  • 85 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik was dus even bezig met een mailform maken, en dan krijg ik een foutmelding :F

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    echo '<html><head><title>Mail sent</title></head><body><script type="text/javascript">'; 
    $ontvanger = "p_slagter@hotmail.com"; 
    if($HTTP_POST_VARS['nickname']==''){echo 'alert("You didnt fill in a nickname..")'; $controle=0;}else{$nickname = $HTTP_POST_VARS['nickname']; 
    if($HTTP_POST_VARS['icq']==''){echo 'alert("You didnt fill in a valid ICQ Number. If you dont have ICQ fill in n/a")'; $controle=0;}else{$icq = $HTTP_POST_VARS['ICQ']; 
    if($HTTP_POST_VARS['email']==''){echo 'alert("Please enter an e-mail address")'; $controle=0;}else{$email = $HTTP_POST_VARS['emailadres']; 
    if($HTTP_POST_VARS['nationaliteit']==''){echo 'alert("Please fill in your nationality")'; $controle=0;}else{$nationaliteit = $HTTP_POST_VARS['nationality']; 
    if($HTTP_POST_VARS['desired']==''){echo 'alert("Whats your desired squad?")'; $controle=0;}else{$desired = $HTTP_POST_VARS['desired']; 
    if($HTTP_POST_VARS['referee']==''){echo 'alert("You didnt fill in a referee..")'; $controle=0;}else{$ref = $HTTP_POST_VARS['referee'];
    if($HTTP_POST_VARS['formersquad']==''){echo 'alert("Please fill in one or more former squads!")'; $controle=0;}else{$formsq = $HTTP_POST_VARS['formersquad']; 
    if($HTTP_POST_VARS['age']==''){echo 'alert("Please fill in your age!")'; $controle=0;}else{$age = $HTTP_POST_VARS['age']; 
    if($controle==1){$verzender="From: ".$nickname." <".$email.">";};  
    if($controle==1){mail($ontvanger,$nickname,$icq,$email,$nationaliteit,$desired,$ref,$formsq,$age,$verzender);}; 
    echo "</script>";
    if($controle=1){echo "Mail sent. Click <a href=javascript:history.back()>here</a> to go back or <a href=javascript:close()>here</a> to close this window.";}else{echo " Something went wrong, please go <a href=javascript:history.back()>back</a> and fill in the form correctly (fill in <b>all</b> fields!";}; 
    echo "</body></html>"; 
?>


De foutmelding: Parse error: parse error, unexpected $ in /usr/local/psa/home/vhosts/dreamgrafix.be/httpdocs/tf/php/versturen.php on line 17

Line 17 is "?>" en daar is nix fouts aan.. wat doe ik fout?

[ Voor 38% gewijzigd door Verwijderd op 20-03-2003 19:14 ]


Verwijderd

hehe sorry |:(
ik bedoel gebruik dit :) [ php] [ /php]

[ Voor 89% gewijzigd door Verwijderd op 20-03-2003 19:15 ]


  • KorZijl
  • Registratie: December 2002
  • Laatst online: 30-11-2021

KorZijl

errare humanum est

Gebruik even codetags, want zo is het niet echt duidelijk ;)

Verwijderd

Topicstarter
Ik ben een beginner dus niet te moelijke dingen zeggen pls ;p

Verwijderd

Verwijderd schreef op 20 maart 2003 @ 19:12:
gebruik dit even,
code:
1
 for(i=0;i<4;i++) { .. }
behoud opmaak van tekst (preformatted), [code=...] herkent "c, c++, perl, python, asp, vb, java, js, fortran, cobol, pascal, delphi, html", hiervoor komen later zo mogelijk highlighters voor.
Liever
PHP:
1
for(i=0;i<4;i++) { .. }

Dus:

[php]
// JE CODE
[/php]

[ Voor 5% gewijzigd door Verwijderd op 20-03-2003 19:16 ]


Verwijderd

wat doe ik fout? > Heel veel ;)

<debugmode on>

Je sluit je {else} tag nerges af ....
Aan het eind:
code:
1
... (fill in <b>all</b> fields!";};

}; hoeft mag niet achter accolade...
Voeg slashes toe ipv echo ' woei "bla" tja '; dus: echo "Woei \"bla\" tja";

En lijn alles mooi uit, dan is het beter leesbaar:
PHP:
1
2
3
4
5
6
7
8
9
10
// Voorbeeld
if($HTTP_POST_VARS['nickname']=='')
{
    echo 'alert("You didnt fill in a nickname..")';
    $controle=0;
}
else
{
    $nickname = $HTTP_POST_VARS['nickname']; 
} // DEZE VERGEET JE TELKENS!!
Verwijderd schreef op 20 March 2003 @ 19:19:
[...]


Dus zo?
[...layout...verneukt...]
Yep :)

En hier:
PHP:
1
mail($ontvanger,...,$verzender);};

gaat ook weer het een en ander fout.
- Weer die ;
-> Weghalen :)
- Check hoe je een mail verzend met php. (van die syntax klopt dus geen reet)
-> Zo ziet een standaard mail() eruit:
PHP:
1
mail($geadresseerde, $subject, $bericht);


<debugmode off>

[ Voor 255% gewijzigd door Verwijderd op 20-03-2003 19:31 ]


Verwijderd

Topicstarter
Verwijderd schreef op 20 March 2003 @ 19:17:
Je sluit je {else} tag nerges af ....
Aan het eind: }; hoeft mag niet achter accolade...
Dus zo?
PHP:
1
else{echo " Something went wrong, please go <a href=javascript:history.back()>back</a> and fill in the form correctly (fill in <b>all</b> fields!";}

[ Voor 29% gewijzigd door Verwijderd op 20-03-2003 19:21 ]


Verwijderd

Topicstarter
Goed, na al die aanpassingen, krijg ik de message "Mail sent. Click here to go back or here to close this window."
Opzich is dat goed, maar ik krijg geen mail binnen? Weet iemand waarom niet? :p

Verwijderd

Verwijderd schreef op 20 March 2003 @ 19:31:
Goed, na al die aanpassingen, krijg ik de message "Mail sent. Click here to go back or here to close this window."
Opzich is dat goed, maar ik krijg geen mail binnen? Weet iemand waarom niet? :p
Heb je mail() via deze syntax gedaan?
code:
1
mail($geadresseerde, $subject, $bericht);

Zoja, echo dit dan even:
code:
1
echo $geadresseerde."<br>".$subject."<br>".$bericht;

en paste dat hierzo.

Of misschien moet je ff wachten, dat de smtp server niet zo snel is...
En staat de smtp server wel goed in je config files? (zie php.net doc. over mail functie)

[ Voor 24% gewijzigd door Verwijderd op 20-03-2003 19:38 ]


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
PHP:
1
if($controle=1) { mail( ....) }

Wat zou dat nou doen......... ;)

Nou succes met debuggen, maar doe volgende keer iets meer moeite met aangeven wat je gedaan hebt? Want nu lijkt het er gewoon op dat je ons hier zit te misbruiken voor een helpdesk voor iets wat je ook zelf heel goed kent.
En wat heb je hier zelf van geleerd?

Volgende keer iets beter zoeken in www.php.net dus! :) Succes
Pagina: 1

Dit topic is gesloten.