Gå til innhold

problem med gjestebok


Anbefalte innlegg

bra.

da funker det slik jeg håpet.

 

Kan jeg hente brukernavn fra ($_SESSION['brukernavn'] så jeg kan få et skrit til å automatisk legge in forfatter når forfateren skal lage posten?, eller må det skrives inn manuelt?

Kan selfølgelig kontrolere at navn of brukernavn er lik før en post lagres, men det ville vert kjekkere om forfatter kunne skrives inn automatisk etter hvilken bruker som var loget inn.

Når posten legges til, så er vel spørringen noe som dette?:

 

"INSERT INTO tabell (tittel, post, dato)

VALUES ('$tittel','$post','$dato')"

 

Da fikser du slik:

 

"INSERT INTO tabell (tittel, post, dato, forfatter)

VALUES ('$tittel','$post','$dato','$forfatter')"

 

Forfatter finner du slik:

 

(session_start() i toppen av scriptet)

$forfatter = $_SESSION['brukernavn'];

 

Og da er det i boks! ;)

Lenke til kommentar
Videoannonse
Annonse

Alt fungerer utenom datoen, noen som vet hvorfor?

kode:

 

reg.php

if($formMethod == "post") {
$navn = $_POST['navn'];
$webside = $_POST['webside'];
$beskjed = $_POST['beskjed'];
$dato    = $_POST['date("HdmY")']; }

// Insert the data into the database
if (mysql_query("INSERT INTO $mySQLtable (navn,webside,beskjed,dato) VALUES ('$navn','$webside','$beskjed','$dato')")) {
echo $regSuccess; }
else { echo $regFailed;}

 

og i les.php

// Retrieve from database and show it
$result = mysql_query("SELECT * FROM $mySQLtable ORDER BY id");
while ($row = mysql_fetch_object($result)) {

echo "
<table class='tdtop' width='$TableWidth' cellpadding='2' border='1'>
 <tr>
   <td class='tekst' align='left'>". $row->navn ."</td>
   <td align='right'>[ ". $row->webside ." ]</td>
 </tr>
</table>
<table class='tdmid' cellpadding='2' width='$TableWidth' border='1'>
 <tr>
   <td>". $row->beskjed ."</td>
 </tr>
</table>
<table class='tdbottom' cellpadding='2' width='$TableWidth' border='1'>
 <tr>
   <td class='tekst2' align='left'>skrevet: ". $row->dato ."</td>
   <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=" . $row->id . "\">Slett</a> ]</td>
 </tr>
</table>
<p>
";
}

 

Link til gjesteboken

Lenke til kommentar

Nå har jeg bytta til $dato = "date('HdmY')", og det funka faktisk en gang, men så klarte jeg selfølgelig å fu**e det opp når jeg skulle endre på noe annet og nå får jeg bare melding om den ikke klarte å skrive til database...

 

kode:

<link rel="stylesheet" type="text/css" href="style.css">
<?php
include("config.php");
//Floodingsperre
if (!file_exists($IPLogFile)) {
$fp = fopen($IPLogFile, "w");
fwrite($fp, "");
fclose($fp);
}


function FloodDetector($IPLogFile) {
$done = 0;
$line = 0;
$file = file($IPLogFile);
$ip = getenv("REMOTE_ADDR");
$hour = date("HdmY");
$date = $a[6];
while($file[$line]) {
 $a = explode("|", $file[$line]);
 if (($a[0] == $ip) && ($a[1] == $hour)) { $done = 1; }
 $line++;
}
if ($done == 1) return true;
else {
 $a = implode($file, "");
 $fp = fopen($IPLogFile, "w"); 
 fwrite($fp, $ip . "|" . $hour . "|\n" . $a);
 fclose($fp);
 return false;
}
}


// Get data from form
if ($webside == "http://") { $webside = "ingen side"; }

if($formMethod == "post") {
$navn = $_POST['navn'];
$webside = $_POST['webside'];
$beskjed = $_POST['beskjed'];
$dato    = "date('d/m/Y')"; }	

else {
$navn = $_GET['navn'];
$webside = $_GET['webside'];
$beskjed = $_GET['beskjed']; 
$dato    = "date('d/m/Y')"; }

if ($webside == "http://") { $webside = "ingen side"; }

else {
$webside = "<a href=\"$webside\">hjemmeside</a>";
}


// Remove HTML-tags and unnecessary spaces
$navn = rtrim(ltrim(strip_tags($navn)));
$webside = rtrim(ltrim($webside));
$beskjed = rtrim(ltrim(strip_tags($beskjed)));

// Check that none of the fields are empty
if (empty($navn) || empty($beskjed)) {
echo "Et eller flere felt mangler nødvendig informasjon.<p><a href='gjestebok.php'>Tilbake</a></p>"; }

//Check if user is flooding	
elseif (FloodDetector($IPLogFile)) {
   echo "<p>ERROR! Flooding-sperre: Du har allerede skrevet et innlegg i løpet av denne timen!</p>\n"; }

else {
// Connect to MySQL
mysql_connect($mySQLhost, $mySQLuser, $mySQLpass)
       or die("Could not connect: " . mysql_error());
mysql_select_db($mySQLdb);

// Insert the data into the database
if (mysql_query("INSERT INTO $mySQLtable (navn,webside,beskjed,dato) VALUES ('$navn','$webside','$beskjed','$dato')")) {
echo $regSuccess; }
else { 
echo $regFailed; }

mysql_close(); }

echo "<p><a href='$pathList'>Les i gjesteboka</a></p>";

?>

Endret av Tha_Zaynt
Lenke til kommentar

holder på med str_replace nå, men har litt problemer. Får bare feilmeldingen;

Parse error: parse error, unexpected '.' in c:\appserv\www\steinar\les.php on line 15

 

her er koden:

<link rel="stylesheet" type="text/css" href="style.css">

<?php session_start(); ?>

<?php

include("config.php");

 

// MySQL Connect

mysql_connect($mySQLhost, $mySQLuser, $mySQLpass)

      or die("Could not connect: " . mysql_error());

mysql_select_db($mySQLdb);

 

// Retrieve from database and show it

$result = mysql_query("SELECT * FROM $mySQLtable ORDER BY id");

while ($row = mysql_fetch_object($result)) {

 

. $row->beskjed . = str_replace("X(","<img src=\"$SmileyDir/angry.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":f","<img src=\"$SmileyDir/flirt.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":x","<img src=\"$SmileyDir/dead.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":(","<img src=\"$SmileyDir/frown.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":h","<img src=\"$SmileyDir/cool.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":i","<img src=\"$SmileyDir/idea.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":)","<img src=\"$SmileyDir/smile.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(";)","<img src=\"$SmileyDir/wink.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":l","<img src=\"$SmileyDir/hrmpf.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":o","<img src=\"$SmileyDir/redface.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":00","<img src=\"$SmileyDir/look.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":q","<img src=\"$SmileyDir/quest.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":r","<img src=\"$SmileyDir/shame.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":D","<img src=\"$SmileyDir/biggrin.gif\" alt=\"\">",. $row->beskjed .);

. $row->beskjed . = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",. $row->beskjed .);

 

echo "

<table class='tdtop' width='$TableWidth' cellpadding='2' border='1'>

  <tr>

    <td class='tekst' align='left'>". $row->navn ."</td>

    <td align='right'>[ ". $row->webside ." ]</td>

  </tr>

</table>

<table class='tdmid' cellpadding='2' width='$TableWidth' border='1'>

  <tr>

    <td>". $row->beskjed ."</td>

  </tr>

</table>

<table class='tdbottom' cellpadding='2' width='$TableWidth' border='1'>

  <tr>

    <td class='tekst2' align='left'>skrevet: ". $row->dato ."</td>

    <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=" . $row->id . "\">Slett</a> ]</td>

  </tr>

</table>

<p>

" ; }

}

 

mysql_close()

?>

 

Ser noen feilen?

Lenke til kommentar

Fant løsninga selv:

 

Det skulle ikke være;

 

. $row->beskjed . = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",. $row->beskjed .);

 

men:

 

$row->beskjed = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",$row->beskjed);

Lenke til kommentar

Jeg vil gjerne legge til et script i gjesteboka mi som gjør at det blir laget en ny side hver gang det blir mer enn ti innlegg(litt vanskeli å forklare, men dere skjønner sikkert hva jeg mener).

 

Vil at det skal se noe slik ut:

 

<-Forrige 1 2 3.. Neste->

 

innlegg1

innlegg2

innlegg3

innlegg4

innlegg5

innlegg6

innlegg7

innlegg8

innlegg9

innlegg10

 

<-Forrige 1 23 .. Neste->

 

Du er nå på side X av X

 

Jeg fant et script som gjør akkurat dette, men problemet er at jeg ikke skjønner bæret av den..

Her er koden:

 }
 $line++; 
}

echo "<p>";
$c = round(round(100 * $start / $EntriesPerPage -50) / 100 +1); // den aktive siden
if ($start == 1) $c = 1;
if ($start >= $EntriesPerPage * $EntriesPerPage +1) $c = $c-1;
$d = round(round(100 * $b / $EntriesPerPage +49) / 100); // hvor mange sider
if ($d < 1) $d = 1;
$next = $start+$EntriesPerPage;
$prev = $start-$EntriesPerPage;
if ($prev <= 1) $prev = 1;
if ($start > $EntriesPerPage) echo "<a href=\"$URLToThisPage&action=view&start=$prev\">« Forrige side</a>";
if (($start > $EntriesPerPage) && ($b >= $start+$EntriesPerPage)) echo " :: ";
if ($b >= $start+$EntriesPerPage) echo "<a href=\"$URLToThisPage&action=view&start=$next\">Neste side »</a>";
echo "</p>\n";
echo "<p>Du er nå på side <b>$c</b> av <b>$d</b>.<br>\n";
echo "Antall innlegg: <b>$b</b></p>\n";
}

 

Vet noen hvordan jeg skal bruke dette eller evt. om det finnes noen enklere måte å gjøre det på?

 

Her er koden til siden der innleggene vises:

 

les.php

<link rel="stylesheet" type="text/css" href="style.css">
<?php session_start(); ?>
<?php
include("config.php");

// MySQL Connect
mysql_connect($mySQLhost, $mySQLuser, $mySQLpass)
     or die("Could not connect: " . mysql_error());
mysql_select_db($mySQLdb);

// Retrieve from database and show it
$result = mysql_query("SELECT * FROM $mySQLtable ORDER BY id");
while ($row = mysql_fetch_object($result)) {

$row->beskjed = str_replace("X(","<img src=\"$SmileyDir/angry.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":f","<img src=\"$SmileyDir/flirt.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":x","<img src=\"$SmileyDir/dead.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":(","<img src=\"$SmileyDir/frown.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":h","<img src=\"$SmileyDir/cool.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":i","<img src=\"$SmileyDir/idea.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":)","<img src=\"$SmileyDir/smile.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(";)","<img src=\"$SmileyDir/wink.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":l","<img src=\"$SmileyDir/hrmpf.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed= str_replace(":o","<img src=\"$SmileyDir/redface.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":00","<img src=\"$SmileyDir/look.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":P","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":q","<img src=\"$SmileyDir/quest.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":r","<img src=\"$SmileyDir/shame.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":D","<img src=\"$SmileyDir/biggrin.gif\" alt=\"\">",$row->beskjed); 
$row->beskjed = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",$row->beskjed);
$row->webside = str_replace ("hjemmeside","<img src=\"img/home.gif\" alt=\"\">",$row->webside); 

echo "
<table class='tdtop' width='$TableWidth' cellpadding='2' border='1'>
 <tr>
   <td class='tekst' align='left'>". $row->navn ."</td>
   <td class='none' align='right'>". $row->webside ."</td>
 </tr>
</table>
<table class='tdmid' cellpadding='2' width='$TableWidth' border='1'>
 <tr>
   <td>". $row->beskjed ."</td>
 </tr>
</table>
<table class='tdbottom' cellpadding='2' width='$TableWidth' border='1'>
 <tr>
   <td class='tekst2' align='left'>skrevet: ". $row->dato ."</td>
   <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=" . $row->id . "\">Slett</a> ]</td>
 </tr>
</table>
<p>
"; }

mysql_close()
?>

Endret av Tha_Zaynt
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å
×
×
  • Opprett ny...