Gå til innhold

Gjestebok problemer i PHP


Anbefalte innlegg

Jeg har en gjestebok og den skal virke helt fint. Men jeg vet ikke hvorfor jeg ikke kan poste ting :S

 

Sånn er hele scriptet:

 

 

<script type="text/javascript" src="smileys.js"></script>

<title></title>

<table width="100%" border="1" cellspacing="0" bordercolor="#000000">

<tr>

<td width="432"><form name="guestbook" action="post.php" method="post">

<p>Navn:

<input name="name" type="text" id="name">

<br>

E -Mail:

<input name="email" type="text" id="email">

<br>

WebSide:

<input name="url" type="text" id="url">

<br>

<br>

<strong>Smileys: <span class="style2"><img src="smileys/smiling.gif" alt=":)" width="15" height="15" style="cursor:pointer;border:0" onClick="addsmiley(':)')" /></span>

| <img src="smileys/sad.gif" width="15" height="15" style="cursor:pointer;border:0" onClick="addsmiley(':(')">

| <img src="smileys/mad.gif" width="15" height="15" style="cursor:pointer;border:0" onClick="addsmiley(':mad:')">

</strong><br>

Melding:<br>

<textarea name="message" id="message"></textarea>

</p>

<p>

<input type="submit" name="Submit" value="Send">

<input type="reset" name="Reset" value="Tøm Melding">

</p>

</form></td>

</tr>

</table>

<br>

<table width="100%" border="1" cellspacing="0" bordercolor="#000000">

<tr>

<td class="style3"><em><strong>Inlegg</strong></em>:</td>

</tr>

<tr>

<td><?php

//where shout data is stored must be CHOMDED to 777

$dataf = "posts.txt";

//max length of input

$length = 500;

$comments = 1000;

 

 

if (!$name)

{ $name = "Anonymous"; }

else $name .= ":";

if (!$email)

{ $email = "Hidden"; }

else $email .= ":";

if (!$url)

{ $url = "None"; }

else $url .= ":";

 

 

$message = str_replace(":mad:","<img src='smileys/mad.gif'>",$message);

$message = str_replace(":)","<img src='smileys/smiling.gif'>",$message);

$message = str_replace(":(","<img src='smileys/sad.gif'>",$message);

$message = str_replace("fuck","****",$message);

$message = str_replace("bitch","****",$message);

$message = str_replace("asshole","****",$message);

$message = str_replace("cunt","****",$message);

$message = str_replace("bullshit","****",$message);

$message = str_replace("shit","****",$message);

$message = stripslashes($message);

$comfile = file($dataf);

 

if ($message != "") {$df = fopen ($dataf, "w");

$message = stripslashes($message);fwrite ($df, "<table width='100%' border='1' cellspacing='0' bordercolor='#000000'>

<tr>

<td width='51'><strong>name</strong></td>

<td width='928'>$name</td>

</tr>

<tr>

<td><strong>email</strong></td>

<td><i><a href='mailto:$email'>$email</a></i></td>

</tr>

<tr>

<td><strong>website</strong></td>

<td><a href='$url' target='_blank'>$url</a></td>

</tr>

<tr height='100%'>

<td><strong>message</strong></td>

<td>$message</td>

</tr>

</table>

<br>");

for ($i = 0; $i < $comments; $i++) {fwrite ($df, $comfile[$i]);}fclose($df);}

Header("Location: $HTTP_REFERER");

?></td>

</tr>

</table>

Lenke til kommentar
Videoannonse
Annonse

Se på denne her:

 

<form name="guestbook" action="post.php" method="post">

 

Der ser du at formen heter guestbook.

 

<input type="submit" name="Submit" value="Send">

 

Her ser du at submit heter Submit. Derfor prøver input'en å sende til "Submit" i formen som ikke eksisterer. Det du må gjøre er å gjøre disse like. Da skal det funke.

 

<form name="Submit" action="post.php" method="post">

 

Der ser du at nå heter formen "Submit".

 

<input type="submit" name="Submit" value="Send">

 

Dette skal være korrekt, men hvordan ser post.php ut? Du ber den tross alt sende dit og da bør det være en funskjon der, ellers så skjer det jo ingen ting. :hm:

 

Lykke til da. :)

Endret av ett
Lenke til kommentar

Post ser slik ut. Men tror det er feil :S

 

<?php

//where shout data is stored must be CHOMDED to 777

$dataf = "posts.txt";

//max length of input

$length = 500;

$comments = 1000;

 

 

if (!$name)

{ $name = "Anonymous"; }

else $name .= ":";

if (!$email)

{ $email = "Hidden"; }

else $email .= ":";

if (!$url)

{ $url = "None"; }

else $url .= ":";

 

 

$message = str_replace(":mad:","<img src='smileys/mad.gif'>",$message);

$message = str_replace(":)","<img src='smileys/smiling.gif'>",$message);

$message = str_replace(":(","<img src='smileys/sad.gif'>",$message);

$message = str_replace("fuck","****",$message);

$message = str_replace("bitch","****",$message);

$message = str_replace("asshole","****",$message);

$message = str_replace("cunt","****",$message);

$message = str_replace("bullshit","****",$message);

$message = str_replace("shit","****",$message);

$message = stripslashes($message);

$comfile = file($dataf);

 

if ($message != "") {$df = fopen ($dataf, "w");

$message = stripslashes($message);fwrite ($df, "<table width='100%' border='1' cellspacing='0' bordercolor='#000000'>

<tr>

<td width='51'><strong>name</strong></td>

<td width='928'>$name</td>

</tr>

<tr>

<td><strong>email</strong></td>

<td><i><a href='mailto:$email'>$email</a></i></td>

</tr>

<tr>

<td><strong>website</strong></td>

<td><a href='$url' target='_blank'>$url</a></td>

</tr>

<tr height='100%'>

<td><strong>message</strong></td>

<td>$message</td>

</tr>

</table>

<br>");

for ($i = 0; $i < $comments; $i++) {fwrite ($df, $comfile[$i]);}fclose($df);}

Header("Location: $HTTP_REFERER");

?>

Lenke til kommentar

Dette ser da helt greit ut i mine øyne. Hva tror du er feil? Alle variabler og lignende ser ut til å stemme. Har ikke tittet veldig nøye, men ser sånn ut ihvertfall.

 

Edit: Se på denne:

 

/where shout data is stored must be CHOMDED to 777
$dataf = "post.txt";

 

Her ser du at i post.txt så gjøres det noe. Finnes post.txt?

 

Edit2: Hva skal du egentlig med å sensurere engelske banneord hvis ikke guestbooken skal være på engelsk?

Da kunne du droppa det.

Endret av ett
Lenke til kommentar

Kan du godt egentlig.

 

<?php
//where shout data is stored must be CHOMDED to 777
$dataf = "posts.txt";
//max length of input
$length = 500;
$comments = 1000;

if (!$name)
{ $name = "Anonymous"; }
else $name .= ":";
if (!$email)
{ $email = "Hidden"; }
else $email .= ":";
if (!$url)
{ $url = "None"; }
else $url .= ":";

$comfile = file($dataf);

if ($message != "") {$df = fopen ($dataf, "w");
$message = stripslashes($message);fwrite ($df, "
<div class="name"><p>Navn: $name</p>
<div class="email"><p>Email: <a href='mailto:$email'>$email</a></p>
<div class="website"><p>Webside: <a href='$url' target='_blank'>$url</a></p>
<div class="message"><p>$message</p>
");

for ($i = 0; $i < $comments; $i++) {fwrite ($df, $comfile[$i]);}fclose($df);}
Header("Location: $HTTP_REFERER");
?>

 

Nå ser post.php mye bedre ut. Fulgte det med noen posts.txt? Er tydligvis kommentarene som er der, eller noe.

Lenke til kommentar

På post så har jeg gjort slik:

 

<?php

$dataf = "posts.txt";

//max length of input

$length = 500;

$comments = 1000;

 

 

if (!$name)

{ $name = "Anonymous"; }

else $name .= ":";

if (!$email)

{ $email = "Hidden"; }

else $email .= ":";

if (!$url)

{ $url = "None"; }

else $url .= ":";

 

 

$message = str_replace(":@","<img src='smileys/mad.gif'>",$message);

$message = str_replace(":)","<img src='smileys/smiling.gif'>",$message);

$message = str_replace(":(","<img src='smileys/sad.gif'>",$message);

$comfile = file($dataf);

 

if ($message != "") {$df = fopen ($dataf, "w");

$message = stripslashes($message);fwrite ($df, "<table width='100%' border='1' cellspacing='0' bordercolor='#000000'>

<tr>

<td width='51'><strong>Navn:</strong></td>

<td width='928'>$name</td>

</tr>

<tr>

<td><strong>E-Mail:l</strong></td>

<td><i><a href='mailto:$email'>$email</a></i></td>

</tr>

<tr>

<td><strong>WebSide:</strong></td>

<td><a href='$url' target='_blank'>$url</a></td>

</tr>

<tr height='100%'>

<td><strong>message</strong></td>

<td>$message</td>

</tr>

</table>

<br>");

?>

 

Så når jeg poster ting så kommer dette opp:

 

Parse error: parse error, unexpected $ in /home/freehost/t35.com/s/m/smorky/inc/post.php on line 371

Endret av Martin-_-
Lenke til kommentar

Jeg hadde gjort ferdig filen til deg jo:

 

<?php
//where shout data is stored must be CHOMDED to 777
$dataf = "posts.txt";
//max length of input
$length = 500;
$comments = 1000;

if (!$name)
{ $name = "Anonymous"; }
else $name .= ":";
if (!$email)
{ $email = "Hidden"; }
else $email .= ":";
if (!$url)
{ $url = "None"; }
else $url .= ":";

$message = str_replace(":@","<img src='smileys/mad.gif'>",$message);
$message = str_replace(":)","<img src='smileys/smiling.gif'>",$message);
$message = str_replace(":(","<img src='smileys/sad.gif'>",$message);
$comfile = file($dataf);

if ($message != "") {$df = fopen ($dataf, "w");
$message = stripslashes($message);fwrite ($df, "
<div class="name"><p>Navn: $name</p>
<div class="email"><p>Email: <a href='mailto:$email'>$email</a></p>
<div class="website"><p>Webside: <a href='$url' target='_blank'>$url</a></p>
<div class="message"><p>$message</p>
");

for ($i = 0; $i < $comments; $i++) {fwrite ($df, $comfile[$i]);}fclose($df);}
Header("Location: $HTTP_REFERER");
?>

 

Da skal den funke. Hva STÅR det i posts.txt? :hm:

Edit: Dette er bare en ryddigere kode enn din, men inneholder det samme. Prøv denne du.

Endret av ett
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...