Gastenboek plaats berichten 4 keer...

Status
Niet open voor verdere reacties.

gebruiker35

Gebruiker
Lid geworden
29 mrt 2008
Berichten
434
Mijn gastenboek plaatst berichten 4 keer, ik begrijp het totaal niet....

wie helpt?

PHP:
	if(isset($_POST["reactie"]))
		{

		setlocale (LC_ALL, 'nl_NL');
		$tijd = strftime ("%T");
		$datum = strftime ("%d-%m-%y");

 $bericht = $_POST["reactie"];



 $bericht = htmlspecialchars($bericht);
 $bericht = nl2br($bericht);


$len = strlen($bericht);

for($i = 0; $i < $len; $i++)
{
if(ord($bericht[$i]) == 97){
die();
}


 $bericht = eregi_replace("(^|[ \n\r\t])((http(s?)://)(www.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
 $bericht = eregi_replace("(^|[ \n\r\t])((ftp://)(www.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
 $bericht = eregi_replace("([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)","<a href=\"mailto:\\1\">\\1</a>", $bericht);
 $bericht = eregi_replace("(^|[ \n\r\t])(www.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $bericht);
 $bericht = eregi_replace("(^|[ \n\r\t])(ftp.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"ftp://\\2\" target=\"_blank\">\\2</a>", $bericht);



 $bericht = str_replace(":)"," <img src=\"emos/regular_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":("," <img src=\"emos/sad_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(";)"," <img src=\"emos/wink_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":@"," <img src=\"emos/angry_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":'("," <img src=\"emos/cry_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":|"," <img src=\"emos/whatchutalkingabout_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":$"," <img src=\"emos/embaressed.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("^o)"," <img src=\"emos/gek.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("+o("," <img src=\"emos/ill.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("^:o)"," <img src=\"emos/party.gif\" alt=\"Smilie\" >",$bericht);


 $bericht = str_replace("(mo)"," <img src=\"emos/money.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(a)"," <img src=\"emos/angel_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(b)"," <img src=\"emos/beer.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(c)"," <img src=\"emos/cup.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(d)"," <img src=\"emos/drank.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(e)"," <img src=\"emos/email.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(f)"," <img src=\"emos/flower.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(g)"," <img src=\"emos/cadeau.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(h)"," <img src=\"emos/shades_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(i)"," <img src=\"emos/lightbulb.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(k)"," <img src=\"emos/kiss.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(l)"," <img src=\"emos/heart.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(m)"," <img src=\"emos/msn.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(n)"," <img src=\"emos/thumbs_down.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(o)"," <img src=\"emos/orloge.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(p)"," <img src=\"emos/picture.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(r)"," <img src=\"emos/rainbow.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(t)"," <img src=\"emos/telephone.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(u)"," <img src=\"emos/broken_heart.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(w)"," <img src=\"emos/wflower.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(x)"," <img src=\"emos/woman.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(y)"," <img src=\"emos/thumbs_up.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(z)"," <img src=\"emos/man.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":s"," <img src=\"emos/confused_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":o"," <img src=\"emos/omg_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":p"," <img src=\"emos/tounge_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":d"," <img src=\"emos/teeth_smile.gif\" alt=\"Smilie\" >",$bericht);

 $bericht = str_replace("(MO)"," <img src=\"emos/money.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(A)"," <img src=\"emos/angel_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(B)"," <img src=\"emos/beer.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(C)"," <img src=\"emos/cup.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(D)"," <img src=\"emos/drank.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(E)"," <img src=\"emos/email.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(F)"," <img src=\"emos/flower.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(G)"," <img src=\"emos/cadeau.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(H)"," <img src=\"emos/shades_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(I)"," <img src=\"emos/lightbulb.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(K)"," <img src=\"emos/kiss.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(L)"," <img src=\"emos/heart.gif\" alt=\"Smilie\" >",$bericht); 
 $bericht = str_replace("(M)"," <img src=\"emos/msn.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(N)"," <img src=\"emos/thumbs_down.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(O)"," <img src=\"emos/orloge.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(P)"," <img src=\"emos/picture.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(R)"," <img src=\"emos/rainbow.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(T)"," <img src=\"emos/telephone.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(U)"," <img src=\"emos/broken_heart.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(W)"," <img src=\"emos/wflower.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(X)"," <img src=\"emos/woman.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(Y)"," <img src=\"emos/thumbs_up.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace("(Z)"," <img src=\"emos/man.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":S"," <img src=\"emos/confused_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":O"," <img src=\"emos/omg_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":P"," <img src=\"emos/tounge_smile.gif\" alt=\"Smilie\" >",$bericht);
 $bericht = str_replace(":D"," <img src=\"emos/teeth_smile.gif\" alt=\"Smilie\" >",$bericht);

 $bericht = str_replace(":D"," <img src=\"emos/teeth_smile.gif\" alt=\"Smilie\" >",$bericht);


$inhoud = file_get_contents("./gasten.php");


 		$naam = $_SESSION['Username'];
		$time = " <div id='time'> $tijd | $datum </div> ";
		$newmes = " || <div id='naam'> $time $naam zegt: </div> <div id='bericht'> $bericht </div><p> ||
$inhoud ";
  	  		        
 		
   $a=fopen("./gasten.php","w");
   fwrite($a,"$newmes"); 
        fclose($a); 
			}
		
	 

}


?>
 
Test je toevallig met de tekst test :D
Je hebt in je script zelf gezegd dat hij zoveel berichten moet testen als de tekst lang is (dus als je een langere tekst intypt word dit meer dan 4x gepost)

Verander gewoon

$len = strlen($bericht);

for($i = 0; $i < $len; $i++)
{
if(ord($bericht[$i]) == 97){
die();
}

door

if(ord($bericht[$i]) == 97){
die();
}else{
 
thanks...

daar zit idd een fout in, dat moet dit zijn:

PHP:
$len = strlen($indexhtml);

for($i = 0; $i < $len; $i++)
{
if(ord($indexhtml[$i]) != 92){
fwrite($a, $indexhtml[$i]);
}
}

om te zorgen dat hij geen backslash schrijft, want dat doet hij voor iedere ' en "
en steeds weer, en aangezien dat dus bij ieder bericht dat geplaatst word gebeurd....
 
thanks...

daar zit idd een fout in, dat moet dit zijn:

PHP:
$len = strlen($indexhtml);

for($i = 0; $i < $len; $i++)
{
if(ord($indexhtml[$i]) != 92){
fwrite($a, $indexhtml[$i]);
}
}

om te zorgen dat hij geen backslash schrijft, want dat doet hij voor iedere ' en "
en steeds weer, en aangezien dat dus bij ieder bericht dat geplaatst word gebeurd....

Als je \ komt doordat je een textarea gebruikt kan je deze ook wegkrijgen door gebruik te maken van de functie stripslashes()
Zie php.net voor meer info
 
dat is mijn probleem niet...

en kgeloof ook niet dat het daardoor ontstaat, wel?
 
dat is mijn probleem niet...

en kgeloof ook niet dat het daardoor ontstaat, wel?

Als je een textarea gebruikt wel, omdat dit over het algemeen gebruikt word voor data in een database op te slaan, daarom dat er automatisch een backslash bijkomt bij de aanhalingstekens wat een probleem in de syntax kunnen veroorzaken. Als je dan de data letterlijk uit de database zou lezen zou je ook de backslashes hebben, daarom dat de functie stripslashes() is gemaakt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan