anfänger Guestbook

McMarcDeluxe

Mitglied
ich bin grad dabei ein Anfänger Guestbook auf meine Website zu machen, nur leider kann html benutzt werden :( könnt ihr mir sagen wo genau ich einen Code einfügen kann damit niemand mehr HTML benutzen kann? :( hier der gesamte Code:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <HTML>
  <HEAD>
  <TITLE>Gästebuch</TITLE>
  </HEAD>
  <STYLE>
  BODY { background-color:#113a67; font-family:Verdana,Arial,Tahoma; font-size:8pt; color:#ffffff }
  A { font-family:Verdana,Arial,Tahoma; font-size:8pt; color:#ffaf49 }
  H1 { font-family:Verdana,Arial,Tahoma; font-size:16pt; color:#ffaf49 }
  HR { color:#ffffff }
  TD { font-family:Verdana,Arial,Tahoma; font-size:8pt; color:#ffffff }
  INPUT,TEXTAREA { background-color:#517aa7; border:1px solid #ffffff; font-family:Arial,Tahoma; font-size:8pt; color:#ffffff; }
  </STYLE>
  <BODY>
  <?
  
  ##### Admin-Passwort #####
  $adminpasswort="12345";
  
  ##### Ihre Email-Adresse - UNBEDINGT ÄNDERN! #####
  $myemail="Ihre@Email.Hier";
  
  ##### Soll bei jedem Eintrag eine Mail an Sie geschickt werden (ja/nein)? #####
  $email_senden="nein";
  
  ########### HAUPTPROGRAMM ###########
  if ($eintrag) { eintrag(); }
  else if ($senden) { auswertung($kommentar,$nname,$hpage,$email); }
  else if ($admin_login) { admin_login(); }
  else if ($admin) { admin($passwort); }
  else if ($loeschen) { loeschen($to_delete); }
  else gaestebuch_zeigen();
  
  ########### FUNKTIONEN ###########
  
  function gaestebuch_zeigen ()
  {
  	global $PHP_SELF;
  	echo <<<FORMULAR
  		<h1>Gästebuch</h1>
  		<center>
  		<FORM METHOD="POST" ACTION="$PHP_SELF">
  		<INPUT TYPE="SUBMIT" NAME="eintrag" VALUE="Neuer Eintrag">
  		</FORM>
  		</center>
  FORMULAR;
  	
  	$eintrag=array();
  	$lesen=array();
  	$teil=array();
  	
  	if (file_exists("gbuch.txt")) {
  	
  	$datei=fopen("gbuch.txt","r");
  	while (!feof($datei)) {
  	$lesen=fgets($datei,100000);
  	array_push($eintrag,$lesen);
  	}
  	
  	array_pop($eintrag);
  	arsort($eintrag);
  	
  	foreach ($eintrag as $zeile) {
  	$teil=explode("|",$zeile);
  	
  	$sekunden=$teil[0];
  	$zeit=$teil[1];
  	$name=$teil[2];
  	$email=$teil[3];
  	$hpage=$teil[4];
  	$text=$teil[5];
  	
  	echo "<p align=\"justify\" style=\"margin-left:17pt;margin-right:25pt\">\n";
  	echo"$zeit<br>\n";
 	echo "<img src=\"gb_person.gif\" width=\"12\" height=\"12\" border=\"0\" vspace=\"0\">&nbsp;$name<br>\n";
  	
  	if ($email!="") {
 	echo "<img src=\"gb_email.gif\" width=\"12\" height=\"12\" border=\"0\" vspace=\"0\">&nbsp;<a href=\"mailto:$email\">$email</a><br>\n";
  	}
  	
  	if ($hpage!="") {
 	echo "<img src=\"gb_home.gif\" width=\"12\" height=\"12\" border=\"0\" vspace=\"0\">&nbsp;<a href=\"$hpage\" target=\"blank\">$hpage</a><br>\n";
  	}
  	
 	echo "<p align=\"justify\" style=\"margin:40pt; margin-top:0pt; margin-bottom:0pt\">$text</p>";
  	echo "</p>\n";
  	echo"<hr width=\"80%\" color=\"#2f5a4f\" size=\"1\">\n";
  	
  	}
  	
  	}
 		echo "<p align=\"right\"><a href=\"$PHP_SELF?admin_login=true\">Admin</a>\n";
  }
  
  function eintrag()
  {
  	global $PHP_SELF;
  	
  	$ua=getenv("HTTP_USER_AGENT");
  	if (1*strpos(strtolower($ua),"msie")>0) {
  	$breite1=38;
  	$breite2=62;
  	} else { 
  	$breite1=22;
  	$breite2=30;
  	}
  	
  	echo <<<EINTRAG
  	<p align="right"><a href="$PHP_SELF">zum Gästebuch</a></p>
  	<table cellpadding="5" cellspacing="5" width="100%">
  	<tr>
  	<td align="center">
  	
  	<h1>Eintrag ins Gästebuch</h1><p>
  	<FORM action="$PHP_SELF" method="post">
  	<table width="310">
  	<tr>
  		<td>
  			Name:
  		</td>
  		<td>
 			<input type="text" name="nname" size="$breite1" maxlength="40" VALUE="$nname">
  		</td>
  	</tr>
  	<tr>
  		<td>
  			Email:*
  		</td>
  		<td>
 			<input type="text" name="email" size="$breite1" VALUE="$email">
  		</td>
  	</tr>
  	<tr>
  		<td width="33%">
  			Homepage:*
  		</td>
  		<td>
 			<input type="text" name="hpage" size="$breite1" VALUE="$hpage">
  		</td>
  	</tr>
  	<tr>
  		<td colspan="2">
  			Kommentar:<br>
 			<textarea name="kommentar" rows="6" cols="$breite2" VALUE="$kommentar"></textarea>
  		</td>
  		<td>
  			&nbsp;
  		</td>
  	</tr>
  	<tr>
  		<td colspan="2">
 			<input type="submit" name="senden" value="eintragen">&nbsp;
  			<INPUT TYPE="reset" VALUE=" löschen ">
  		</td>
  		<td>
  		</td>
  	</tr>
  	<tr>
  		<td>
  			<br>* optional
  		</td>
  	</tr>
  	</table>
  	</FORM>
  	
  	</td></tr></table>
  EINTRAG;
  }
  
  function auswertung ($kommentar,$nname,$hpage,$email)
  {
  	global $PHP_SELF;
  	global $myemail;
  	global $email_senden;
  	
  	echo "<p align=\"right\"><a href=\"$PHP_SELF\">zum Gästebuch</a></p>\n";
  	
  	####### Die Angaben werden von überflüssigen Zeichen befreit #######
  	$kommentar = stripslashes ($kommentar);
  	$kommentar = trim ($kommentar);
  	$nname = stripslashes ($nname);
  	$nname = trim ($nname);
  	$hpage = stripslashes ($hpage);
  	$hpage = trim ($hpage);
  	$email = stripslashes ($email);
  	$email = trim ($email);
  	
  	####### Das Datum und die Zeit wird ermittelt #######
  	$tag=date("d.");
 $m=array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
  	$monat=$m[1*date("m")-1];
  	$jahr=date("Y");
  	$tdw=array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag",);
  	$x=date("w");
  	$zeit=date("H:i:s");
  	$anm=$tdw[$x].",&nbsp;".$tag."&nbsp;".$monat."&nbsp;".$jahr."&nbsp;-&nbsp;".$zeit;
  	$sekunden=date("U");
  	
  	####### Definition der Fehlermeldung #######
  	$zurueck="Klicken Sie <a href=\"javascript:history.back()\"><b>hier</b></a>, um zum Formular zurückzukehren und die Fehler zu beheben.</center>";
  	
  	####### Überprüfunge auf Fehler #######
 	if ((empty($kommentar)) || ((!ereg(".+@.+\..+", $email)) && (!empty($email))) || (empty($nname))) {echo "<center><br><br><br><h1>Fehler !</h1><br><br>";}
  	
  	### Kommentar ###
  	if (empty($kommentar))
  	{ echo "Sie keinen Kommentar eingegeben.<br><br>"; echo "$zurueck\n"; }
  	
  	### Email ###
  	else
  	if(!ereg(".+@.+\..+", $email)&& !empty($email)) {
  	echo "Die Email-Adresse ist falsch.<br><br>"; echo "$zurueck\n"; } 
  	
  	### Name ###
  	else
  	if (empty($nname))
  	{ echo "Sie haben Ihren Namen nicht eingegeben.<br><br>"; echo "$zurueck\n"; } 
  	
  	####### Alles in Ordnung #######
  	else {
  	
  	####### Daten werden gespeichert #######
  	$komm=ereg_replace(chr(10),"<br>",$kommentar);
 		if (!file_exists("gbuch.txt")) { $datei=fopen("gbuch.txt","w"); fclose($datei); }
  	$gbfile=fopen("gbuch.txt","a");
  	fputs($gbfile,"$sekunden|$anm|$nname|$email|$hpage|$komm\n");
  	fclose($gbfile);
  	
  		####### FALLS $email_senden="ja", WIRD EINE EMAIL AN $myemail GESENDET #######
  		if ($email_senden=="ja")
  		{
  		$subject = "Eintrag";
  		$header = "From: Gästebuch <$myemail>\n";
  		$nachricht="Zeit - $anm\nName - $nname\nEmail - $email\nText - $komm";
  		mail($myemail,$subject,$nachricht,$header);
  		}
  	
 	echo "<center><br><br><br><h1>Die Daten wurden gesendet.</h1><br><br><br>\n";
  	echo "<a href=\"$PHP_SELF\">Gästebuch erneut anschauen</a></center>";
  	}
  }
  
  function admin_login()
  {
  	global $PHP_SELF;
  	
  	echo <<<ADMINFORMULAR
  	<p align="right"><a href="$PHP_SELF">zum Gästebuch</a></p>
  	<center><br><br>
  	<form action="$PHP_SELF?admin=true" method="post">
  	Passwort:
  	<input type="password" name="passwort" size="20" maxlength="30">
  	<input type="submit" name="admin" value=" login ">
  	</form>
  	</center>
  ADMINFORMULAR;
  }
  
  function admin($passwort)
  {
  	global $PHP_SELF;
  	global $adminpasswort;
  	
  	echo "<p align=\"right\"><a href=\"$PHP_SELF\">zum Gästebuch</a></p>\n";
  	
  		if ($passwort==$adminpasswort)
  	{
  	echo "<form action=\"$PHP_SELF\" method=\"post\">";
  	echo "<table cellpadding=\"5\" cellspacing=\"5\" width=\"100%\">";
  	
  	$eintrag=array();
  	$lesen=array();
  	$teil=array();
  	
  	if (file_exists("gbuch.txt"))
  	{
  		$datei=fopen("gbuch.txt","r");
  		while (!feof($datei))
  		{
  			$lesen=fgets($datei,100000);
  			array_push($eintrag,$lesen);
  		}
  		
  		array_pop($eintrag);
  		rsort($eintrag);
  		
  		foreach ($eintrag as $zeile)
  			{
  			$teil=explode("|",$zeile);
  			$sekunden=$teil[0];
  			$zeit=$teil[1];
  			$name=$teil[2];
  			$email=$teil[3];
  			$hpage=$teil[4];
  			$text=$teil[5];
  			$time=ereg_replace("&nbsp;","",$zeit);
  			$time=ereg_replace(" ","",$time);
 			echo "<tr><td width=\"50\" align=\"right\" valign=\"top\">";
 			echo "<input type=\"radio\" name=\"to_delete\" value=\"$sekunden\"><br>";
  			echo "</td><td>";
  			echo"Zeit: $zeit<br>";
  			echo "Name: $name<br>";
  			echo "Email: $email<br>";
  			echo "Homepage: $hpage<br>";
  			echo "Kommentar: $text<br><br>";
  			echo "</td></tr>";
  			}
  		echo "<tr><td></td><td align=\"left\">";
 		echo "<input type=\"submit\" name=\"loeschen\" value=\"den markierten Eintrag löschen\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
  		echo "<input type=\"reset\" value=\"abbrechen\"></td></tr>";
  		echo "</table></form>";
  	}
  	
  	}
  	
  	else
  	{
  	echo "<center><h1><br><br><br><br>Falsches Passwort!</h1>\n";
 	echo "<p align=\center\"><a href=\"$PHP_SELF?admin_login=true\">Admin</a><center>\n";
  	}
  }
  
  function loeschen($to_delete)
  {
  	global $PHP_SELF;
  	global $adminpasswort;
  	
  	$zeile=array();
  	$tosave=array();
  	
  	$to_delete=ereg_replace("&nbsp;","",$to_delete);
  	$to_delete=ereg_replace(" ","",$to_delete);
  	
  	$datei=fopen("gbuch.txt","r");
  	while (!feof($datei))
  		{
  		$zeile=fgets($datei,100000);
  		$teil=explode("|",$zeile);
  		$datum=ereg_replace("&nbsp;","",$teil[0]);
  		$datum=ereg_replace(" ","",$datum);
  		if ($datum!=$to_delete) { array_push($tosave,$zeile); }
  		}
  	fclose($datei);
  	
  	$datei=fopen("gbuch.txt","w");
  	foreach ($tosave as $x)
  		{
  		fputs($datei,"$x");
  		}
  	fclose($datei);
  	
  	echo <<<FORMULAR
  	<p align="right"><a href="$PHP_SELF">zum Gästebuch</a></p>
  	<center>
  	<h1>Der Eintrag wurde gelöscht</h1><br><br><br>
  	<a href="$PHP_SELF">zum Gästebuch</a><br><br><br>
  	<form action="$PHP_SELF" method="post">
  	<input type="hidden" name="passwort" value="$adminpasswort">
  	<input type="submit" name="admin" value="zurück zur Administration">
  	</form>
  	</center>
  FORMULAR;
  }
  ?>
  </BODY>
  </HTML>
 
Alle Benutzereingaben, welche du im Gästebuch ausgibst, behandle vorher mit [phpf]htmlspecialchars[/phpf]... das ersetzt die Zeichen <>"& durch die entprechende HTML-Entität.
 
Danke :( aber leider hilft mir das nicht sehr viel :(

$neu = htmlspecialchars("INHALT", ENT_QUOTES);

wozwischen muss ich das hier machen? :( ich bin ein echter Anfänger ich hab keine Ahnung von nichts. sry
 
Zuletzt bearbeitet:
Hier zum Bsp.: das sind die Benutzereingaben:
Code:
$kommentar = stripslashes ($kommentar);
  	$kommentar = trim ($kommentar);
  	$nname = stripslashes ($nname);
  	$nname = trim ($nname);
  	$hpage = stripslashes ($hpage);
  	$hpage = trim ($hpage);
  	$email = stripslashes ($email);
  	$email = trim ($email);

....
Code:
$kommentar=htmlspecialchars($kommentar);
erledigt das bspw. für $kommentar
 
Zurück