Sleepy Gary Skrevet 17. oktober 2004 Del Skrevet 17. oktober 2004 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
???????? Skrevet 17. oktober 2004 Del Skrevet 17. oktober 2004 (endret) <?= $_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 17. oktober 2004 av ???????? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå