Trädvy Permalänk
Medlem
Registrerad
Apr 2012

Gästbok i php med databas

Hej!
Jag kan inte mycket om programmering men måste nu i skolan göra en gästbok i php som projektarbete.
Jag har wamp server och mysql.

kanske är jag helt ute och cyklar men som sagt kan jag näst intill inget och vi har en ytterst kass lärare som vi inte får någon värdeful hjälp av.
Skrivit en del själv och följt något turorial på youtube. Grejen är att jag får upp sidan i webbläsaren och allt men när jag ska skriva ett inlägg så läggs de inte till i databasen. Har skapat databasen och allt i adminsidan till mysql (phpadmin eller vad de nu heter) på localhost.
Vet inte om ni kan förstå eller hjälpa utefter denna informationen men behöver tips/ideer lösningar wut ever . Allt som kan vara till hjälp

detta har jag hitintills skrivit i notepad ++ :

<?php
error_reporting (E_ALL ^ E_NOTICE);
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charser=utf-8" />
<title>Gästbok</title>

</head>
<body>
<?php
// koppla till databas
mysql_connect("localhost", "root", "root");
mysql_select_db("vin");
/************************************************************/
// forms

echo "<h2>Skriv i gästboken</h2>";

if ($_POST['postbtn']){
$name = strip_tags($_POST['name']);
$email = strip_tags($_POST['email']);
$message = strip_tags($_POST['message']);

if ($name && $email && $message){

$time = date("H:i:s");
$date = date("F d, Y");
$ip = $_SERVER['REMOTE_ADDR'];

// lägg till till databas
mysql_query("INSERT INTO gastbok VALUES (
'', '$name', '$email', '$message', '$time', '$date', '$ip' )");

echo "Ditt meddelande har lagts till.";

}
else
echo "Du måste fylla i alla fälten / Ogiltig kod i meddelandet.";

}

echo "<form action='./gastbok.php' method='post'>
<table>
<tr>
<td>Namn:</td>
<td><input type='text' name='name' style='width: 200px;' /></td>
</tr>
<tr>
<td>Epost:</td>
<td><input type='text' name='email' style='width: 200px;' /></td>
</tr>
<tr>
<td>Meddelande:</td>
<td><textarea name='message' style='width: 200px; height: 100px;'></textarea></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='postbtn' value='Skicka' /></td>
</tr>
</table>
</form>";

/************************************************************/
//Display

echo "<h2>Inlägg</h2>";

$query = mysql_query("SELECT * FROM gastbok ORDER BY id DESC");
$numrows = mysql_num_rows($query);

if ($numrows > 0) {
echo " <hr />";
while ( $row = mysql_fetch_assoc($query) ){
$id = $row['id'];
$name = $row['name'];
$email = $row['email'];
$message = $row['message'];
$time = $row['time'];
$date = $row['date'];
$ip = $row['ip'];

echo "<div>
Skrivet av <b>$name</b> tid <b>$time</b> datum <b>$date</b><br />
$message
</div> <hr />";
}
}
else
echo "Inga inlägg hittade.";

/************************************************************/

mysql_close();

?>
</body>
</html>

Trädvy Permalänk
Medlem
Registrerad
Apr 2012

m

äh skitsamma, skiter i den jäval gästboken
godnatt

Trädvy Permalänk
Medlem
Registrerad
Jul 2003
Skrivet av gorgonzola123:

äh skitsamma, skiter i den jäval gästboken
godnatt

<?php error_reporting (E_ALL ^ E_NOTICE); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charser=utf-8" /> <title>Gästbok</title> </head> <body> <?php // koppla till databas mysql_connect("localhost", "root", "root"); mysql_select_db("vin"); /************************************************************/ // forms echo "<h2>Skriv i gästboken</h2>"; if ($_POST['postbtn']){ $name = strip_tags($_POST['name']); $email = strip_tags($_POST['email']); $message = strip_tags($_POST['message']); if ($name && $email && $message){ $time = date("H:i:s"); $date = date("F d, Y"); $ip = $_SERVER['REMOTE_ADDR']; // lägg till till databas mysql_query("INSERT INTO gastbok (name, email, message, time, date, ip) VALUES ('$name', '$email', '$message', '$time', '$date', '$ip' )"); echo "Ditt meddelande har lagts till."; } else echo "Du måste fylla i alla fälten / Ogiltig kod i meddelandet."; } echo "<form action='./gastbok.php' method='post'> <table> <tr> <td>Namn:</td> <td><input type='text' name='name' style='width: 200px;' /></td> </tr> <tr> <td>Epost:</td> <td><input type='text' name='email' style='width: 200px;' /></td> </tr> <tr> <td>Meddelande:</td> <td><textarea name='message' style='width: 200px; height: 100px;'></textarea></td> </tr> <tr> <td></td> <td><input type='submit' name='postbtn' value='Skicka' /></td> </tr> </table> </form>"; /************************************************************/ //Display echo "<h2>Inlägg</h2>"; $query = mysql_query("SELECT * FROM gastbok ORDER BY id DESC"); $numrows = mysql_num_rows($query); if ($numrows > 0) { echo " <hr />"; while ( $row = mysql_fetch_assoc($query) ){ $id = $row['id']; $name = $row['name']; $email = $row['email']; $message = $row['message']; $time = $row['time']; $date = $row['date']; $ip = $row['ip']; echo "<div> Skrivet av <b>$name</b> tid <b>$time</b> datum <b>$date</b><br /> $message </div> <hr />"; } } else echo "Inga inlägg hittade."; /************************************************************/ mysql_close(); ?> </body> </html>

Dold text

En if-sats är felstängd. INSERT-queryn var fel. Du ser i min indentering på vilka ställen det går fel.

Tips: Indentera alltid och när du skriver kod i forum lägger du inom kod-taggar.

Citera, tack!
Har du läst tråden om strandhögtalare och andra musiklådor?

Trädvy Permalänk
Medlem
Registrerad
Apr 2012
Skrivet av blomqvist:

<?php error_reporting (E_ALL ^ E_NOTICE); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charser=utf-8" /> <title>Gästbok</title> </head> <body> <?php // koppla till databas mysql_connect("localhost", "root", "root"); mysql_select_db("vin"); /************************************************************/ // forms echo "<h2>Skriv i gästboken</h2>"; if ($_POST['postbtn']){ $name = strip_tags($_POST['name']); $email = strip_tags($_POST['email']); $message = strip_tags($_POST['message']); if ($name && $email && $message){ $time = date("H:i:s"); $date = date("F d, Y"); $ip = $_SERVER['REMOTE_ADDR']; // lägg till till databas mysql_query("INSERT INTO gastbok (name, email, message, time, date, ip) VALUES ('$name', '$email', '$message', '$time', '$date', '$ip' )"); echo "Ditt meddelande har lagts till."; } else echo "Du måste fylla i alla fälten / Ogiltig kod i meddelandet."; } echo "<form action='./gastbok.php' method='post'> <table> <tr> <td>Namn:</td> <td><input type='text' name='name' style='width: 200px;' /></td> </tr> <tr> <td>Epost:</td> <td><input type='text' name='email' style='width: 200px;' /></td> </tr> <tr> <td>Meddelande:</td> <td><textarea name='message' style='width: 200px; height: 100px;'></textarea></td> </tr> <tr> <td></td> <td><input type='submit' name='postbtn' value='Skicka' /></td> </tr> </table> </form>"; /************************************************************/ //Display echo "<h2>Inlägg</h2>"; $query = mysql_query("SELECT * FROM gastbok ORDER BY id DESC"); $numrows = mysql_num_rows($query); if ($numrows > 0) { echo " <hr />"; while ( $row = mysql_fetch_assoc($query) ){ $id = $row['id']; $name = $row['name']; $email = $row['email']; $message = $row['message']; $time = $row['time']; $date = $row['date']; $ip = $row['ip']; echo "<div> Skrivet av <b>$name</b> tid <b>$time</b> datum <b>$date</b><br /> $message </div> <hr />"; } } else echo "Inga inlägg hittade."; /************************************************************/ mysql_close(); ?> </body> </html>

Dold text

En if-sats är felstängd. INSERT-queryn var fel. Du ser i min indentering på vilka ställen det går fel.

Tips: Indentera alltid och när du skriver kod i forum lägger du inom kod-taggar.

TACKTACK! har försökt med koden i evigheter (inte lätt och veta vart felet ligger när man inte förstår logiken bakom koden ännu)
och även massa andra koder som jag hittat på olika sidor. INget har funkat. men nuså! tacktack!