wie ziet de fout?

Status
Niet open voor verdere reacties.

holandes

Gebruiker
Lid geworden
9 aug 2007
Berichten
8
Zit te stoeien met dit script voor een mailformulier.
Alles werkt alleen alle invoervelden komen niet aan in mijn mail.
Alleen het invoerveld $messege = $tekst; komt aan in mijn mail.
dat is dus het veld waar ze vrij informatie kunnen typen, de rest zoals naam mailadres leeftijd etc etc dat bereikt me niet.
Zou iemand eens het script kunnen bekijken en em zeggen waar de fout zit? Heeft me al heel wat gekost om tot hier te komen en weet dat ik er nu bijna ben maar heb een laaste duwtje nodig.
Zal beide scripts posten, de eerste is de PHP en de tweede de HTML pagina.

PHP:
********PHP****** 

<style type="text/css"> 
<!-- 
body { 
    background-color: #99CCFF; 
} 
--> 
</style> 
<?php 
//new function 

$to = "mijn_mail_adres"; 
$nameto = "paginaweb"; 
$from = "mijn_mail_adres"; 
$namefrom = "webpagina"; 
$subject = "desde pagina web"; 
$nombre = $naam;           // dit verstuurt hij niet 
$apollidos = $achternaam;  // dit verstuurt hij niet 
$edad = $leeftijd;         // dit verstuurt hij niet 
$telefono = $telefoon;      // dit verstuurt hij niet 
$correo_electronico = $mail; // dit verstuurt hij niet 
$message =  $tekst;          // dit is het enige vak wat hij verstuurt!!!!!!!!! 

authSendEmail($from, $namefrom, $to, $nameto, $subject, $nombre, $apollidos, $edad, $telefono, $correo_electronico, $message); 
?> 


<?php 
/* * * * * * * * * * * * * * SEND EMAIL FUNCTIONS * * * * * * * * * * * * * */ 

//Authenticate Send - 21st March 2005 
//This will send an email using auth smtp and output a log array 
//logArray - connection, 

function authSendEmail($from, $namefrom, $to, $nameto, $subject, $nombre, $apollidos, $edad, $telefono, $correo_electronico, $message) 
{ 
//SMTP + SERVER DETAILS 
/* * * * CONFIGURATION START * * * */ 
$smtpServer = "mijn_smtp_adres"; 
$port = "25"; 
$timeout = "30"; 
$username = "mijn_mail_adres"; 
$password = "mijn_mail_wachtwoord"; 
$localhost = "localhost"; 
$newLine = "\r\n"; 
/* * * * CONFIGURATION END * * * * */ 

//Connect to the host on the specified port 
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout); 
$smtpResponse = fgets($smtpConnect, 515); 
if(empty($smtpConnect)) 
{ 
$output = "Failed to connect: $smtpResponse"; 
return $output; 
} 
else 
{ 
$logArray['connection'] = "Connected: $smtpResponse"; 
} 

//Request Auth Login 
fputs($smtpConnect,"AUTH LOGIN" . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['authrequest'] = "$smtpResponse"; 

//Send username 
fputs($smtpConnect, base64_encode($username) . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['authusername'] = "$smtpResponse"; 

//Send password 
fputs($smtpConnect, base64_encode($password) . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['authpassword'] = "$smtpResponse"; 

//Say Hello to SMTP 
fputs($smtpConnect, "HELO $localhost" . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['heloresponse'] = "$smtpResponse"; 

//Email From 
fputs($smtpConnect, "MAIL FROM: $from" . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['mailfromresponse'] = "$smtpResponse"; 

//Email To 
fputs($smtpConnect, "RCPT TO: $to" . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['mailtoresponse'] = "$smtpResponse"; 

//The Email 
fputs($smtpConnect, "DATA" . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['data1response'] = "$smtpResponse"; 

//Construct Headers 
$headers = "MIME-Version: 1.0" . $newLine; 
$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine; 
$headers .= "To: $nameto <$to>" . $newLine; 
$headers .= "From: $namefrom <$from>" . $newLine; 

fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n"); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['data2response'] = "$smtpResponse"; 

// Say Bye to SMTP 
fputs($smtpConnect,"QUIT" . $newLine); 
$smtpResponse = fgets($smtpConnect, 515); 
$logArray['quitresponse'] = "$smtpResponse"; 
} 
?> 

<script type="text/JavaScript"> 
<!-- 
function MM_goToURL() { //v3.0 
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false; 
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); 
} 
//--> 
</script> 
<p align="center"><strong>Gracias,</strong></p> 
<p align="center"><strong>Su mail esta enviado.</strong></p> 
<p align="center"><strong>En breve momento me pongo en contacto con Usted.</strong></p> 
<p align="center"><strong>Claudia Perez    </strong></p> 
<p align="center">&nbsp;</p> 

<label> 
<div align="center"> 
  <input name="Button" type="button" onClick="MM_goToURL('parent','http://www.psicologamalaga.es');return document.MM_returnValue" value="pagina de inicio"> 
</div> 
</label> 


*****HTML****** 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Untitled Document</title> 
<style type="text/css"> 
<!-- 
body { 
    background-color: #99CCFF; 
} 
--> 
</style> 
</head> 

<body> 
<form id="form1" name="form1" method="post" action="testmail.php"> 
  <label> 
  <div align="center"><br /> 
    Por favor, <br /> 
    si Usted deja sus datos aqui entonces me pongo en contacto<br /> 
    Con Usted en breves momentos. 
    <br /> 
    <br /> 
    <br /> 
    Nombre 
    <input name="Naam" type="text" id="Naam" size="40" /> 
    &nbsp;&nbsp;<br /> 
    <br /> 
    Apollidos 
    <input name="achternaam" type="text" id="achternaam" size="50" /> 
    <br /> 
    <br /> 
    Edad 
    <input name="leeftijd" type="text" id="leeftijd" size="5" /> 
    <br /> 
    <br /> 
    Telefono 
    <input name="telefoon" type="text" id="telefoon" size="25" /> 
    <br /> 
    <br /> 
    Correo electronico <strong>@</strong> 
    <input name="mail" type="text" id="mail" size="40" /> 
    <br /> 
    <br /> 
    <br /> 
    <br /> 
    <textarea name="tekst" cols="50" rows="5" id="tekst">Escribe aqui sus comentarios.... 
</textarea> 
  </div></label> 
  <p> 
    <label> 
    <div align="center"> 
      <input name="sturen" type="submit" id="sturen" value="versturen" /> 
    </div> 
    </label> 
  </p> 
</form> 
</body> 
</html>
 
Laatst bewerkt door een moderator:
Waarom niet gewoon gebruik maken van de standaard mail(); functie? Die is makkelijker te implementeren en kan hetzelfde naar mijn mening...
 
smtp vertificate

Dan kom ik te zitten met mijn smtp vertificate niet?

zodoende ben ik op dit script terechtgekomen.

de smtp vertificatie dat was mijn vorige probleem
 
Wat mij wel opvalt is dat je nergens de variabelen uit het formulier opvraagt.
Normaal hoor je die met een variabele gelijk aan $_POST['naam_van_formulieritem'] aan te roepen.

Wat aan dit script heb je trouwens zelf gedaan? Wellicht dat je iets verkeerd heb gedaan want als je het compleet hebt gedownload werkt het meestal...
 
Re

Dan kom ik te zitten met mijn smtp vertificate niet?

zodoende ben ik op dit script terechtgekomen.

de smtp vertificatie dat was mijn vorige probleem

Nee, mail() gebruikt de sendmail service, deze heeft geen smtp inloggegevens nodig. (tenzij dit echt op de server van je hostingprovider geregeld is).

:thumb:
 
script komt hier vandaan

ik heb het script hiervandaan.

http://www.codewalkers.com/c/a/Email-Code/Smtp-Auth-Email-Script/

En in deze vorm zoals op deze pagina werkt het inderdaad, alleen als ik er nu een html invoerformulier aan koppel dan wat ik ook doe het verstuurd maar 1 tekstvak.

Zoals op deze pagina bovenaan staat $message=............ daatr kan ik dan van maken $message = en dan de naam van mijn invoervak op de html site.
Als ik nu meer invoervakken wil versturen dan gaat het mis want wat ik ook doe die verstuurt hij niet mee.

Rare is ook dat als ik het tekstvlak in de html pagina een andere naam geef dan in het php script zelgs dan blijft hij hetzelfde invoerveld naar mijn mail versturen en dat vind ik toch wel heel raar.

En smtp vertificatie moet ik gebruiken met mijn mail account
 
oplossing

script op deze manier gemaakt en nu krijg ik wel alle invoer binnen.
staat alleen allemaal achter mekaar in de mail en niet keurig onder mekaar maar wel dat geeft me geen hoofdpijn.

in ieder geval verstuurt hij alle invoer gegevens van de html pagina met SMTP vertificatie en dat was het probleem.

**************oplossing****************

<?php
//new function

$to = "mijn_mail_adres";
$nameto = "paginaweb";
$from = "mijn_mail_adres";
$namefrom = "webpagina";
$subject = "desde pagina web";
$message = '';
$message .= $_POST['naam'].PHP_EOL;
$message .= $_POST['achternaam'].PHP_EOL;
$message .= $_POST['leeftijd'].PHP_EOL;
$message .= $_POST['telefoon'].PHP_EOL;
$message .= $_POST['mail'].PHP_EOL;
$message .= $_POST['tekst'].PHP_EOL;


****************************************************************************
 
En dan vraag ik me nog af of dit script geschikt is tegen spammers.

Nouja gelukkig gebruik je POST ;) een image verification zou nooit slecht zijn :thumb:
 
niet belangrijk

of dit script wel of niet goed is tegen spam dat is niet echt belangrijk voor me.

Het probleem waar het allemaal mee begon was hoe mail via php te kunnen versturen als je smtp vertificatie moest gebruiken.

Nadat dat was opgelost kwam het probleem met de invoervelden wat nu dus ook is opgelost.

Nu kan ik in ieder geval dit script gebruiken als voorbeeld hoe het in ieder geval werkt.

Neem alleen wel aan dat als ik het ooit eens online zou zetten dat ik dan localhost = localhost moet veranderen naar ?????????? FTP gegevens van mijn provider ????????

Dit is dus zo maar een gooi en is van latere zorg.

in ieder geval bedankt voor het meedenken
 
Nee niet de ftp gegevens, denk eerder de server ip adres waarop de smtpserver draaid.

:)
 
hmmmm

ja nu ik het je hoor zeggen gaat er ver weg ergens een belletje rinkelen, heb dat inderdaad eens ergens gelezen.
maar goed dat is een ander onderwerp en op dit moment gaat het formulier toch niet online, is iets voor de toekomst en dan vogel ik dat wel weer uit maar dat kan niet te veel moeilijkheden geven.
woon in spanje en heb hier wel wat boeken liggen maar uiteraard allemaal in het spaans en dan loop ik toch nog wel vast als de dingen technisch worden uitgelegd.
maar goed alles stap voor stap, ben nog niet echt bezig met php, wil het wel in de toekomst want je hebt het toch eigenlijk wel echt nodig maar een mailformulier had ik nu nodig, vandaar de hele correspondentie.
Maar goed word nu een gezellige praat hier en denk niet dat dat echt de bedoeling van het forum is, als je toch wat hebt en heeft geen betrekking op het onderwerp hier voel je vrij om te mailen.

wgringhuis@ya.com ( let op is ya en niet yahoo)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan