Ik heb een mail formuliertje waar mensen mee kunnen mailen. Nou werkt de print functie van mn webmail nogal slecht...

Alle variabelen van het formulier worden omgezet naar een url en de &onderwerp= wordt &onderwerp_filterd en geen waarde, hier is zo'n link:
http://scoutfm.nl/2006/printmail/?naam=Iljan&[email protected]&ip=81.204.217.156&subkamp=Megalodon&groep=test%20groep&telefoon=01234567890&onderwerp_filtered=Sitemail%20-%20verzoek&message=

Message zou ook een waarde moeten hebben.

Het formulier is de onderstaande code:

<?php
$ip = $_SERVER["REMOTE_ADDR"];
$onderwerp = $_REQUEST["onderwerp"];
$email = $_REQUEST["email"];
$naam = $_REQUEST["naam"];
$groep = $_REQUEST["groep"];
$telefoon = $_REQUEST["telefoon"];
$subkamp = $_REQUEST["subkamp"];
$opmerking = $_REQUEST["opmerking"];
$naar = 'ScoutFM <[email protected]>';
$subject = 'Sitemail - '.$onderwerp;
$linkje = '<a target="_blank" href="http://scoutfm.nl/2006/printmail/?naam=' . $naam . '&email=' . $email . '&ip=' . $ip . '&subkamp=' . $subkamp . '&groep=' . $groep . '&telefoon=' . $telefoon . '&onderwerp=' . $subject . '&message=' . $message . '">Klik hier voor printen</a>';
$message = 'Hoi<br><br> Je hebt een email ontvangen van '.$naam.' <br><br>Onderwerp: '.$onderwerp.' <br>E-mail adres: '.$email.' <br>Groep: '.$groep.' <br>Telefoon: '.$telefoon.' <br>Sufkamp: '.$subkamp.' <br><br><br>'.$naam.' heeft je het volgende te melden: <br>'.$opmerking.' <br><br>IP Adres: '.$ip.' <br><br><center><hr> '.$linkje.' <br><hr></center>';
$headers = 'From: '.$naam.' <'.$email.'>' . "\r\n" .
'Reply-To: '.$naam.' <'.$email.'>' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n" . 
'X-Mailer: PHP/' . phpversion();

mail($naar, $subject, $message, $headers);

echo "Hoi $naam,<br>Je email verstuurd hoor...<br><br> Dit heb je ingestuurd:<br><br>";
echo "Onderwerp: $onderwerp <br>";
echo "Naam: $naam <br>";
echo "E-mail: $email <br>";
echo "Groep: $groep <br>";
echo "Telefoon: $telefoon <br>";
echo "Subkamp: $subkamp <br>";
echo "Opmerking: $opmerking <br>";
echo "IP Adres: $ip <br>";
echo "Subject: $subject <br>";
echo "<br><center><a href='http://scoutfm.nl/2006' target='_top'>KLIK HIER OM TERUG TE GAAN NAAR DE WEBSITE VAN SCOUT FM OF SLUIT DE PAGINA</A>"; 
?>


en de print pagina:

 <?php
$ip = $_REQUEST["ip"];
$onderwerp = $_REQUEST["onderwerp"];
$email = $_REQUEST["email"];
$naam = $_REQUEST["naam"];
$groep = $_REQUEST["groep"];
$telefoon = $_REQUEST["telefoon"];
$subkamp = $_REQUEST["subkamp"];
$opmerking = $_REQUEST["opmerking"];
$subject = 'Sitemail - '.$onderwerp;
$message = $_REQUEST["message"]
?>
<html>
<head>
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Scout FM Email bericht -
<?php echo "$onderwerp"; ?></title>
</head>
<body>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" id="table1" width="598" height="0">
	<tr>
		<td style="border-bottom:3px solid #000000; border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; ">
		<p align="left"><img border="0" src="post.gif" align="left"><b><font face="Verdana" size="4">Scout FM Email Bericht</font></b><font face="Verdana" size="4"> 
		- <?php echo "$onderwerp"; ?></font></td>
	</tr>
	<tr>
		<td>
		<table border="0" cellpadding="0" cellspacing="0" width="100%" id="table2">
			<tr>
				<td width="99"><font face="Arial Unicode MS"><b>Van:</b></font></td>
				<td><font face="Arial Unicode MS"><?php echo "$naam"; ?> (<?php echo "$email"; ?>)</font></td>
				<td rowspan="3" width="91" height="70">
				<img border="0" src="logosfm.bmp" width="91" height="70" align="right"></td>
			</tr>
			<tr>
				<td width="99"><b><font face="Arial Unicode MS">Geprint</font></b><font face="Arial Unicode MS"><b>:</b></font></td>
				<td><font face="Arial Unicode MS">
				<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A %d %B %Y %H:%M:%S" startspan -->donderdag 29 juni 2006 14:01:51<!--webbot bot="Timestamp" endspan i-checksum="4482" --></font></td>
			</tr>
			<tr>
				<td width="99"><font face="Arial Unicode MS"><b>Onderwerp:</b></font></td>
				<td><font face="Arial Unicode MS"><?php echo "$onderwerp"; ?></font></td>
			</tr>
		</table>
		</td>
	</tr>
	<tr>
		<td><hr noshade color="#000000" size="1"></td>
	</tr>
	<tr>
		<td style="border-bottom: 1px solid #000000"><font face="Tahoma"><?php echo "$message"; ?><br><br></font></td>
	</tr>
	<tr>
		<td align="center"><font face="Tahoma" style="font-size: 9pt">Groep: 
		<?php echo "$groep"; ?> - Sufkamp: <?php echo "$subkamp"; ?> - Tel: <?php echo "$telefoon"; ?> - </font></td>
	</tr>
	<tr>
		<td><font face="Tahoma" size="1">Bericht afkomstig van: <?php echo "$ip"; ?></font></td>
	</tr>
</table>
</body>
</html>


Waarom gaat het nou niet goed? Alternatieven met databases zijn geen optie, zo moet het werken... :D
krijg je foutmeldingen??
Offtopic: Variabelen horen nooit tussen quotes te staan:
<?php
// Fout:
echo "$onderwerp";

// Goed
echo $onderwerp;
?>
les 1 foutafhandeling:


begin elk php script met:

<?php
error_reporting(E_ALL);
?>
Hmmm goeie tip:

Notice: Undefined index: onderwerp in /var/www/s/scoutfm.nl/HTML/2006/printmail/index.php on line 6

Notice: Undefined index: opmerking in /var/www/s/scoutfm.nl/HTML/2006/printmail/index.php on line 12

Oplossing: Eerst controleren of een variabele wel bestaat:

<?php

if(isset($var)){
// doe iets
}
else{
// geef foutmelding
}
?>
Dit mag nooit ontbreken in je scripts, evenals de error_reporting().
Ja maar alles is wel ingevuld mijn probleem is dat ie de verkeerde link mee stuurd! IPV &onderwerp=blablabla&message=Hallo wereld

Stuurt ie &onderwerp_filtered=Sitemail%20-%20website&message=

Die print pagina is wel goed maar de variabele niet
url encode volgens mij even op PHP.net kijken
Ik ben een n00b met php, t meeste lukt wel maar vraag niet hoe...
Leuk om te weten. . .

Zet eventjes [ignore]
 en 
[/ignore] om je hele stuk code, dan is het wat beter leesbaar :c)
Nu he ik nog geen oplossing :(

Reageren