fout in code.. kan niet vinden

Status
Niet open voor verdere reacties.

gebruiker35

Gebruiker
Lid geworden
29 mrt 2008
Berichten
434
Er zit in regel 25 in de variabele een fout. Ik begrijp het echt niet.. wie kan mij helpen?
PHP:
<?php 
$frommail = htmlspecialchars($_POST["frommail"]);
$tomail = htmlspecialchars($_POST["tomail"]);
$subject = htmlspecialchars($_POST["subject"]);
$bericht = htmlspecialchars($_POST["bericht"]);

if (!$frommail) {
echo "ERROR CODE: 2";
exit; }

if (!$tomail) {
echo "ERROR CODE: 2";
exit; }

if (!$bericht) {
echo "ERROR CODE: 3";
exit; }


else {

$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = getenv("REMOTE_ADDR");
$message = " " . $bericht . " ;

$message = str_replace ("<br>","\n", $message);
  mail("$tomail", "$subject",
    $message, "From: " . $frommail . "");
    
echo "Your e-mail has sended."; 
}
?>
 
Je bent quotes vergeten in regel 25. Hierdoor klopt er dus niks meer van.
Probeer dus dit:
PHP:
else { 

$tijd = time(); 
$datum = strftime("%d/%m/%y %H:%M", $tijd); 
$ip = getenv("REMOTE_ADDR"); 
$message = " " . $bericht . "" ; 

$message = str_replace ("<br>","n", $message); 
  mail("$tomail", "$subject", 
    $message, "From: " . $frommail . ""); 
     
echo "Your e-mail has sended.";  
}
 
??

ik begrijp het nog niet.., en het is nog steeds dezelfde foutmelding. Wat zijn quote's?
 
Enkele quotes = '
Dubbele quotes = "

Dit gebruik je in regel 25 om aan te geven wat $message is. Omdat je na $frommail maar 1 quote gebruikt hebt (dus geopend) zie je ook dat de kleuren van alles wat daarna komt niet meer kloppen. Vandaar dat je hem af moet sluiten, dus nog een quote neer moet zetten.

regel 25:
PHP:
$message = " " . $bericht . " " ;

Ik krijg geen foutmelding als ik regel 25 zo heb als hierboven, alleen 'ERROR CODE: 2". Dit is dus een werkend script.
 
De link werkt niet.

Wat je je ook af kan vragen, ondersteunt je server wel PHP?
En in de link gaat het over HTML, moet dit niet PHP zijn?
 
php

ja, php word absoluut ondersteund, er draait al een goed werkend php script. En mijn broer heeft op dezelfde server een php site draaien dus.. Hij verstuurt de velden naar poster.php....
 
..

Parse error: syntax error, unexpected T_VARIABLE in /usr/home/home.rdnet.nl/knulst/poster.php on line 25

wat betekent dan unexpected?
 
Vervang dit: $ip = getenv("REMOTE_ADDR"); is door het volgende:
$ip = $_SERVER['REMOTE_ADDR'];
 
Volgens mij heeft grote frits gelijk, maar er stonden nog een paar verbeterpuntjes in.

Probeer het eens zo:

PHP:
<?php  
$frommail = htmlspecialchars($_POST["frommail"]); 
$tomail = htmlspecialchars($_POST["tomail"]); 
$subject = htmlspecialchars($_POST["subject"]); 
$bericht = htmlspecialchars($_POST["bericht"]); 

if (!$frommail) { 
echo "ERROR CODE: 2"; 
exit; } 

if (!$tomail) { 
echo "ERROR CODE: 2"; 
exit; } 

if (!$bericht) { 
echo "ERROR CODE: 3"; 
exit; } 


else { 

$tijd = time(); 
$datum = strftime("%d/%m/%y %H:%M", $tijd); 
$ip = $_SERVER['REMOTE_ADDR']; 
$message = " " . $bericht . " ";

$message = str_replace ("<br>","\n", $message);
  mail($tomail, $subject, $message, "From: " . $frommail . "");
     
echo "Your e-mail has been sent.";
} 
?>

M.vr.gr.

Pieter
 
Laatst bewerkt:
Probleem was ook simpel op te lossen door alle quotes daar weg te laten aangezien ze niets anders doen dan een spatie er voor en een erachter te zetten.
In Javascript en Java is het dacht ik op deze manier wel gebruikelijk om een string aan te geven.

Haal je die quotes dus weg houdt je alleen
PHP:
$message = $bericht;
over. Dat is natuurlijk een beetje onzin. Dus kun je in je mail-functie in plaats van $message gewoon $bericht neerzetten :)

PHP:
<?php  
$frommail = htmlspecialchars($_POST["frommail"]); 
$tomail = htmlspecialchars($_POST["tomail"]); 
$subject = htmlspecialchars($_POST["subject"]); 
$bericht = htmlspecialchars($_POST["bericht"]); 

if (!$frommail) { 
echo "ERROR CODE: 2"; 
exit; } 

if (!$tomail) { 
echo "ERROR CODE: 2"; 
exit; } 

if (!$bericht) { 
echo "ERROR CODE: 3"; 
exit; } 


else { 

$tijd = time(); 
$datum = strftime("%d/%m/%y %H:%M", $tijd); 
$ip = $_SERVER['REMOTE_ADDR'];

$message = str_replace ("<br>","\n", $message);
  mail($tomail, $subject, $bericht, "From: " . $frommail . "");
     
echo "Your e-mail has been sent.";
} 
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan