Verzenden van Email via PHP-script

Status
Niet open voor verdere reacties.

anton144

Gebruiker
Lid geworden
5 apr 2008
Berichten
100
Hallo allemaal,

Ik heb een script gemaakt voor "Tell a Friend", maar hij verstuurd niets.
Geeft een foutmelding in de laatste regel.

Parse error: syntax error, unexpected $end in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 97

k zie het even niet.
Wie ziet het wel en zou mij kunnen helpen aan een oplossing?
Het script is bijgesloten.
En een volgende vraag : Wie weet hoe ik een forum van phpBB in een site kan intregeren.
Met welke opdracht zou dat moeten en werken?
Bij voorbaat dank voor uw antwoorden en beter nog de oplossingen hiervan.
 

Bijlagen

Laatst bewerkt:
Zoals de fout al doet vermoeden; je script eindigt te snel; je vergeet een sluitingsteken.
Dit is te voorkomen door je code netter te "tabben";tabs te plaatsen.

Een sluitingsteken } na:
echo $sResultaat;
en het zou opgelost moeten zijn.

Edit:
Over je forum;
een iframe mischien?
 
Zoals de fout al doet vermoeden; je script eindigt te snel; je vergeet een sluitingsteken.
Dit is te voorkomen door je code netter te "tabben";tabs te plaatsen.

Een sluitingsteken } na:
echo $sResultaat;
en het zou opgelost moeten zijn.

Edit:
Over je forum;
een iframe mischien?

Ok Happylinks, inderdaad, ik had er over heen gezien maar....... nu krijg ik de volgende fouten :
Notice: Undefined offset: 0 in D:\Programmas\UsbWebserver\Root\Windows7\IP-block.php on line 66

Notice: Use of undefined constant name - assumed 'name' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 39

Notice: Use of undefined constant email - assumed 'email' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 40

Notice: Use of undefined constant friendmail1 - assumed 'friendmail1' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 41

Notice: Use of undefined constant friendmail2 - assumed 'friendmail2' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 42

Notice: Use of undefined constant friendmail3 - assumed 'friendmail3' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 43

Warning: mail() expects at least 3 parameters, 1 given in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 79

Kan dat komen dat ik localhost werk? Dus zonder email server?
 
Notice: Use of undefined constant name - assumed 'name' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 39

Notice: Use of undefined constant email - assumed 'email' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 40

Notice: Use of undefined constant friendmail1 - assumed 'friendmail1' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 41

Notice: Use of undefined constant friendmail2 - assumed 'friendmail2' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 42

Notice: Use of undefined constant friendmail3 - assumed 'friendmail3' in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 43
Deze fouten worden veroorzaakt door dit stuk code:
PHP:
$sNaam=$_POST[name];
  $sEmail=$_POST[email];
  $sVriend1=$_POST[friendmail1];
  $sVriend2=$_POST[friendmail2];
  $sVriend3=$_POST[friendmail3];
Je moet aanhalingstekens gebruiken, anders worden ze gezien als constanten:
PHP:
$sNaam=$_POST['name'];
  $sEmail=$_POST['email'];
  $sVriend1=$_POST['friendmail1'];
  $sVriend2=$_POST['friendmail2'];
  $sVriend3=$_POST['friendmail3'];

Warning: mail() expects at least 3 parameters, 1 given in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 79

Deze wordt veroorzaakt door dit stuk code
PHP:
mail("$sVriend1, $sVriend2, $sVriend3, $sOnderwerp, $stext, $sHeaders");
Omdat er aanhalingstekens om alle parameters staan wordt het gezien als 1 string parameter. Dit moet zijn
PHP:
mail("$sVriend1, $sVriend2, $sVriend3", $sOnderwerp, $stext, $sHeaders);
 
mailen met PHP

Hallo,
Heb een script gemaakt om gegevens van een formulier te mailen.
Het werkt allemaal op het scherm.
Geeft netjes weer wat er gemaild zou moeten worden van wie en naar wie.
En.... als je Vriend2 en/of Vriend3 niet invuld, geeft hij een Error, de andere velden zijn verplichte velden.
Komt daarna keurig in het BEDANK-scherm.
ALLEEN....... hij verzend geen mails.
Wie ziet het, ik denk dat ik er blind overheen kijk.
heb de file bijgesloten.
Is er ook een controle op geldige email adressen mogelijk?
 

Bijlagen

Laatst bewerkt:
is php instelling, standaard kijkt deze op localhost naar een smtp server.

zoek in php.ini naar het volgende

[mail function]
; For Win32 only.
SMTP = localhost

naar

[mail function]
; For Win32 only.
SMTP = je eigen ISP provider


je eigen ISP provider weet ik dus niet maar ik weet wel een lijst waar je dit kan vinden http://www.bedrijvenweb.nl/support/faq/e_mail/welke_smtp_server/


Hallo Raymond,

Bedankt voor je antwoord, maar sorry---- deze instellingen staan goed en is ingesteld op poort 25

[mail function]
; For Win32 only.
SMTP = {smtp_host}
smtp_port = {smtp_poort}

; For Win32 only.
sendmail_from = {smtp_mail

Ik werk om te testen met de USBwebserver gewoon op mijn PC, geen provider
Ik denk dat het in het script zit, maar ik zie het niet.
Dacht dat alles wel klopte, maar misschien dat een ander het ziet.
Want hij zegt dat alles verstuurd is na verzenden.

Maar als ik 1 of 2 van de drie emails leeg laat geeft hij ook een fout melding.(zie hieronder.)

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 83

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 88

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 93

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Programmas\UsbWebserver\Root\Windows7\TellafriendVeC.php on line 100
Van : Anton
Email : mijn@email.nl

Onderwerp : Van Tell-a-Friend formulier website jou Windows7info site


Aanbeveling :
Anton heeft gebruik gemaakt van de tell-a-friend formulier op Uw site.
Zijn/haar Email adres is mijn@email.nl

De mensen die hij/zij opmerkzaam heeft gemaakt op uw site zijn:

zijn@email.nl
haar@email.com


IP: 127.0.0.1
Tijdstip: Wed 3 Mar, 2010 20:50

Uw bericht aan vriend 1 kon niet verzonden worden. Probeer het later nog eens!
Uw bericht aan vriend 2 kon niet verzonden worden. Probeer het later nog eens!
Uw bericht aan vriend 3 kon niet verzonden worden. Probeer het later nog eens!
Uw bericht naar de beheerder van deze site kon niet verzonden worden. Probeer het later nog eens!
 
Laatst bewerkt:
Dus de instellingen zijn NIET goed. php probeert nu te verbinden met een mailserver op localhost en die bestaat niet. Om het te laten werken moet je zelf een mailserver starten (er zijn providers die dit niet toestaan en de standaard poort blokkeren, dus eerst onderzoeken of het überhaupt wel kan) of gebruik maken van die van je provider.
 
Waarom zou hij de instellingen van zijn webservertje moeten wijzigen als hij de mails verstuurt via zijn usb webserver? Deze zullen automatisch goed zijn en stel dat hij de bestanden upload nar zijn site dan zijn de instellingen toch ook al goed ingesteld door de host?
Ik persoonlijk denk dat je het hier niet moet zoeken ook al zou je wel een keer kunnen proberen je webserver opnieuw te installeren.
Ook zou je even kunnen kijken of je firewall geen onderdelen van je webserver blokkeert. Mocht dit niet werken zal ik nog even goed naar je script kijken en kijken of daar misschien een foutje inzit.

Laat even weten of het na bovenstaande stappen wel of niet werkt en welke fouten je nou precies keikgt als je wat doet.

Gegroet Michiel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan