Gå til innhold

Problem Med Gjestebok.


Anbefalte innlegg

Jeg har laget en gjestebok i php.

Her er koden for selve gjesteboken:

 

<form action="?side=sendgjestebok" method="post">
<div align="left">
<span class=style2>Gjesteboka mi!<br>
Navn:<br> 
   <input name="navn" type="text" id="navn" size="15" maxlength="40"><br>
E-mail:<br>
   <input name="email" type="text" id="email" size="20" maxlength="40"><br>
Hjemmeside: (ikke fjern http://) <br>
   <input name="hjemmeside" type="text" id="hjemmeside" value="http://" size="20" maxlength="50">
   <br> 
Melding:<br> 
   <textarea name="melding" cols="30" rows="3" maxlenght="250"></textarea><br>
HTML: On <br> 
   <input type="submit" value="Send">
</span>
 </div>
</form>
<span class=style1>Innlegg:</span><br><br>
<?php
include("style.php");
include("conect.php");

$dbcnx = mysql_connect("$host", "$user", "$pass");
if (!$dbcnx) {
echo ("$red Kunne ikke koble til database! $end");
exit ();
}

$sql = mysql_select_db ("$db", $dbcnx);
if (!$sql) {
echo ("$red Kunne ikke finne databasen. $end");
exit();
}

$gjestebok = mysql_query ("SELECT `id`, `navn`, `email`, `hjemmeside`, `melding`, `dato` FROM `gjestebok` WHERE 1 ORDER BY `id` DESC LIMIT 0, 100");
if (!$gjestebok) {
echo ("$red Kunne ikke hente ut gjestebok innlegg.<br> Eller gjesteboken er tom. $end");
exit();
}

while ($row = mysql_fetch_array($gjestebok) ) {
list($year,$month,$day) = explode('-',$row['dato']); 
$date = date("M-d-Y",mktime(0,0,0,$month,$day,$year));
$email = ($row[email]);
$hjemmeside = ($row[hjemmeside]);
$text = str_replace(":P", "<img src=\"images/geipe.gif\">", $text);

echo ("
$blue Navn<u>:</u>$end $normal<a href=mailto:$email>" . $row[navn] . "$end<br></a>$blue Hjemmeside <u>:</u>$end $normal<a href=$hjemmeside target=_blank> $hjemmeside </a>  $end<br>$blue Dato <u>:</u>$end $red $date $end<br>$blue Melding <u>:</u>$end<br> $normal" . $row[melding] . "$end<br><br>
");}
?>

 

Og her er koden får php fila som gjør att alt sendes til databasen :)

 

<?php

include("style.php");

if ( $_POST['navn'] && $_POST['email'] && $_POST['hjemmeside'] && $_POST['melding'] );
{
$email_sjekk = ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", 
$_POST['email']); 

if($email_sjekk == "1");
include("conect.php");

$dbcnx = mysql_connect("$host", "$user", "$pass");
if (!$dbcnx)
{ echo ("$red Kunne ikke koble til database! $end");
 exit (); }


$sql = mysql_select_db ("$db", $dbcnx);
if (!$sql)
{echo ("$red Kunne ikke finne databasen. $end");
exit(); }


$info = @mysql_query ("INSERT INTO `gjestebok` (`id`, `navn`, `email`, `hjemmeside`, `melding`, `dato`) VALUES ('', '$navn', '$email', '$hjemmeside', '$melding', CURDATE())");
if(@mysql_affected_rows($info) == "0")
{ 
echo("$red Det skjedde en feil! Vennligst gå tilbake og prøv på nytt! $end"); 
} 
else 
{ 
echo("$blue Du har nå skrevet i Gjesteboka.<br>$end $normal <a href=?side=gjestebok>Tilbake..</a> $end"); 
}
}
?>

 

Men når Gjesteboka blir skrevet inn blir det bare tomme rows i databasen..

Noen som ser en feil en eller annen plass? :nei:

Lenke til kommentar
Videoannonse
Annonse

Der du har:

$text = str_replace(":p", "<img src=\"images/geipe.gif\">", $text);

så bare fortsetter du:

$text = str_ireplace(";P", "<img src=\"images/geipe.gif\">", $text);

Merk, bruk som sagt f.eks. str_ireplace slik at den tar hensyn til både store og små bokstaver.

 

Det kan være lurt å bytte ut teksten før du lagrer det.

Lenke til kommentar

<?php
$text = str_ireplace(";P", "<img src=\"images/geipe.gif\">", $text);

include("style.php");

if ( $_POST['navn'] && $_POST['email'] && $_POST['hjemmeside'] && $_POST['melding'] );
{
$email_sjekk = ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", 
$_POST['email']); 

if($email_sjekk == "1");

include("conect.php");

$dbcnx = mysql_connect("$host", "$user", "$pass");
if (!$dbcnx)
{ echo ("$red Kunne ikke koble til database! $end");
 exit (); }


$sql = mysql_select_db ("$db", $dbcnx);
if (!$sql)
{echo ("$red Kunne ikke finne databasen. $end");
exit(); }


$info = @mysql_query ("INSERT INTO `gjestebok` (`id`, `navn`, `email`, `hjemmeside`, `melding`, `dato`) VALUES ('', '$_POST['navn']', '$_POST['email']', '$_POST['hjemmeside']', '$_POST['melding']', CURDATE())");
if(@mysql_affected_rows($info) == "0")
{ 
echo("$red Det skjedde en feil! Vennligst gå tilbake og prøv på nytt! $end"); 
} 
else 
{ 
echo("$blue Du har nå skrevet i Gjesteboka.<br>$end $normal <a href=?side=gjestebok>Tilbake..</a> $end"); 
}
}
?>

 

Testet å sette inn: $text = str_ireplace(";P", "<img src=\"images/geipe.gif\">", $text);

 

Men funket ikke kom bare:

Fatal error: Call to undefined function: str_ireplace() in /mnt/home3/z/zo/zoot89/public_html/sendgjestebok.php on line 2

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...