Gå til innhold

gjestebok i php og mysql


Anbefalte innlegg

trenger hjelp med en gjestebok jeg driver og lager

 

<form name="form" action="<?php echo $PHP_SELF;?>" method="post">
<b>Skriv i gjesteboken:</b><br/>
<textarea style="width: 400px;" name="innlegg" cols="45" rows="3"></textarea><br/>
Navn:<br/><input type="text" name="navn" value="" size="23" maxlength="25" /><br/>
Hjemmeside:<br/><input type="text" name="hjemmeside" value="" size="23" maxlength="60" /><br/>
<input type="submit" name="send" value="  OK  " />
</form> </a>


<?php
$kobling = mysql_connect("localhost", "gruppe", "passord") or die ("Klarte ikke å koble til db");
mysql_select_db ("gruppe") or die ("Klarte ikke å velge db");

$resultat = mysql_query("SELECT `id`, `navn`, `hjemmeside`, `innlegg`, `dato` FROM `gjestebok` WHERE 1 ORDER BY `id` DESC LIMIT 0, 100") or die ("Klarte ikke å kjøre spørring");

$antallrader = mysql_num_rows($resultat);


while ($rad = mysql_fetch_array($resultat))
{
$id = $rad["id"];
$navn = $rad["navn"];
$innlegg = $rad["innlegg"];
$hjemmeside = $rad["hjemmeside"];
$dato = $rad["dato"];


print '<p class="gbtext">'.$innlegg.'</p>';
print '<p class="gbnavn"><a href="'.$hjemmeside.'">'.$navn.'::</a></p><hr/>';
}
mysql_close($kobling);
?>

<?php
$navn= $_POST['navn'];

$innlegg= $_POST['innlegg'];

if(isset ($_POST['navn'])) {
$navn= $_POST['navn']; }
else {
$navn= 'skriv navn'; }


if(isset ($_POST['hjemmeside'])) {
$hjemmeside= $_POST['hjemmeside']; }
else {
$hjemmeside= 'skriv hjemmeside'; }

if(isset ($_POST['innlegg'])) {
$innlegg= $_POST['innlegg']; }
else {
$innlegg= 'skriv innlegg'; }


$kobling = mysql_connect("localhost", "gruppe", "passord") or die ("Klarte ikke å koble til db");
mysql_select_db ("gruppe") or die ("Klarte ikke å velge db");

mysql_query ("INSERT INTO `gjestebok` ( `id` , `navn` , `dato` , `hjemmeside` , `innlegg` , `valgfri1` , `bilde` ) VALUES ('', '$navn', '$dato' , '$hjemmeside', '$innlegg', NULL, NULL)");


mysql_close($kobling);

?>

 

problemet er at den sender en melding i gjestboken bare jeg reloader siden,

så hva kode trenger jeg for at den bare skal poste når jeg skriver inn

 

har aldri vert borti php og mysql før jeg begynte med denne, så viss dere ser feil, mangler eller unødvendig kode så si i fra. :)

Lenke til kommentar
Videoannonse
Annonse

<?= $_SERVER['PHP_SELF'] ?>

er det samme som

<?php echo $_SERVER['PHP_SELF']; ?>

 

Det er litt rar validering av variablene du har!

 

Så over til det du spør om. Lag en ny fil som heter f.eks. lagre.php - husk å endre navnet i <form slik at skjemaet sendes til denne siden. Flyt all lagre koden over til denne siden. Under lagrekoden så legger du til header("Location: navnet_på_hovedsiden.php");

 

Forbedre gjerne validering av brukerdata bedre og sjekk om variablene ble lagret før du sender brukeren videre. Ta en kikk på www.php.net/mysql_affected_rows

Endret av ????????
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...