Gå til innhold

problem med gjestebok


Anbefalte innlegg

Skrevet (endret)

Jeg sitter og prøver å lage en _helt_ basic gjestebok bare for å teste. Den fungerte relativt fint, men jeg har et problem; Når noen skriver en beskjed overwriter de den beskjeden som står dær fra før..Jeg har garantert gjort en skikkelig n00b feil, men ayways..her er koden:

 

 

 

<?php 
$fornavn = $_REQUEST['navn'];
$webside = $_REQUEST['webside'];
$beskjed = $_REQUEST['beskjed'];

echo "<div>Navn: $navn </div>";
echo "<br>";
echo "<div>Webside: $webside</div>";
echo "<br>";
echo "<div>Beskjed: $beskjed</div>";
echo "<p>";
?>

 

Bare ignorer den overflødige bruken av echo, det fikser jeg senere ;)

Endret av Tha_Zaynt
Videoannonse
Annonse
Skrevet

Hvis det er all php koden du bruker, så vil den skrive over det som sto der fra før da teksten ikke blir lagret noe sted.

Når du skal se på gjesteboken etter att du har skrevet i den, så vil det ikke stå noe der i det hele tatt.

 

Tror du må utvide scriptet ditt ;)

Skrevet (endret)

Nå har jeg utvidet scriptet en del, men jeg få bare Parse error: parse error, unexpected T_VARIABLE in c:\appserv\www\steinar\config.php on line 9

 

<?php
// Configuration file

$regScript  = "reg.php"; // Path to main script. Default: reg.php
$formMethod  = "post"; // Method for form. Use post or get
$pathList  = "./les.php"; // Path to les.php
$yourname       = "Steinar Andersen" //Write your name here

// mySQL configuration
$mySQLhost  = "localhost";
$mySQLuser  = "admin";
$mySQLpass  = "******";
$mySQLdb  = "gb";
$mySQLtable  = "gebis";

// Messages
$regSuccess	= "<a>Takk for at du tok deg tid til å skrive i gjesteboka mi! <p>Mvh. Steinar</p></a>";
$regFailed	= "<a>Ditt innlegg ble ikke registrert. Prøv igjen senere!</a>";
?>

 

info fra phpmyadmin:

bruker: admin

vert: localhost

hva kan være galt her?

Endret av Tha_Zaynt
Skrevet

Du mangler et semikolon her:

 

$yourname       = "Steinar Andersen" //Write your name here

 

Rett:

 

$yourname       = "Steinar Andersen"; //Write your name here

 

:w00t:

Skrevet

Du må som oftests se på linja over, hvis du har glemt en } i en haug med if setninger havner feilen som regel helt nederst i scriptet.

 

Sånn som skjer, php kan ikke vite nøyaktig hvor ting skal være.

Skrevet (endret)

Etter at du har satt en variabal, forventer PHP et semikolon. Hvis den kommer til linje 9 og finner at du ikke har gitt den et semikolon, vil PHP si at feilen er på linje 9, selv om det er linje 8 du har glemt semikolon på. ;)

Endret av opix
Skrevet

ok, takk for forklaringen. Et spm til; Kan jeg lage en slette-funksjon til gjesteboka mi når jeg lagrer infoen som blir fylt ut i skjemaet i en database?

Skrevet (endret)

Fordi PHP-tolkeren blir forvirret først på linjen etter, da den plutselig får en variabel i fanget.

 

 

ARGH. F5 er en fin knapp, ja. :blush:

Endret av jorgis
Skrevet

Det er fullt mulig. Jeg foretrekker en slettlink som vises dersom du er innlogget. Hvordan skriver du ut innleggene? while-løkke med mysql_fetch_array? :hmm:

Skrevet

slik henter jeg ut info fra databasen:

 

<?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)) {

echo "
<div> Navn: ". $row->navn ."<div>
<br>
<div> Webside: ". $row->webside ."</div>
<br>
<div> Beskjed: ". $row->beskjed . "</div>
<br>
<hr>";

}
mysql_close()
?>

Skrevet
Hvis du har en session som heter innlogget, kan du gjøre slik:

[code]
<?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)) {

echo "
<div> Navn:&nbsp;". $row->navn ."<div>
<br>
<div> Webside:&nbsp;". $row->webside ."</div>
<br>
<div> Beskjed:&nbsp;". $row->beskjed . "</div>
<br>";
if ($_SESSION['innlogget'] == 1)
{
   echo "<div> [<a href=\"slettinnlegg.php?id=" . $row->id . "\">X</a>]</div>
   <br>";
}
<hr>";

}
mysql_close()
?>
[/code]

I slettinnlegg.php:

[code]
<?php
if ($_SESSION['innlogget'] == 1)
{
   $id = $_GET['id'];
   if (mysql_query("DELETE FROM $mySQLtable WHERE id = '$id'"))
   {
       echo "Innlegget er slettet.";
   }
   else
   {
       echo "En feil oppstod.";
   }
}
else
{
   echo "Du er ikke logget inn!";
}
?>
[/code] :thumbup:

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