Verktyg Visningsval
2012-11-26, 10:09   #1

gorgonzola123

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>
gorgonzola123 är inte uppkopplad
2012-11-26, 11:15   #2

gorgonzola123

Medlem

Registrerad: apr 2012

m


äh skitsamma, skiter i den jäval gästboken
godnatt
gorgonzola123 är inte uppkopplad
2012-11-26, 11:28   #3

blomqvist

Medlem

blomqvists avatar

Registrerad: jul 2003

Citat:
Ursprungligen inskrivet av gorgonzola123 Visa inlägg
äh skitsamma, skiter i den jäval gästboken
godnatt
Spoiler:
<?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>


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?
blomqvist är inte uppkopplad
2012-11-26, 12:42   #4

gorgonzola123

Medlem

Registrerad: apr 2012

Citat:
Ursprungligen inskrivet av blomqvist Visa inlägg
Spoiler:
<?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>


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!
gorgonzola123 är inte uppkopplad
Senaste nyheterna

Redaktionens senaste nyhetsrubriker