if($_POST['navn'] != "" && $_POST['kommentar'] != "") { mysql_query($query); } else { echo "<h2>Du skrev ikke noget navn, eller nogen kommentar!!</h2>"; }
gæstebogen opdatere sig selv, og kommer med echo "Du har ikke skrevet noget navn eller nogen kommentar" Jeg kan ikke finde ud af hvorfor siden opdatere sig selv, det er som om at den trykker på tilføj knappen selv?
Udover det så brokker den sig over at jeg lukker mySQL forbindelsen til sidst, det er derfor jeg har udkommenteret den.
Og grunden til at den piver over at du lukker databasen til sidst er, at du allerede har lukket den én gang ca. på linie 24. Derfor tror jeg også, at du vil få ballade med at få indsat dine data i databasen, da du ikke har nogen åben connection til din database.
Jeg vil derfor foreslå, at du fjerne den close på linie 24, og bruger den du nu har udkommenteret.
NU har jeg lavet om på database lukningen, og udkommenteret den sidste af dem. Samt udkommenteret den sidste linje med refresh. Den opdatere stadigvæk med samme besked, men nu brokker den sig ikke over database linjen mere. Troede bare man skulle holde forbindelsen til databasen lukket hvis man ikke brugte den, også først åbne den i det øjeblik man trykker "tilføj" men så har jeg da også lært noget i dag:P
Det kunne du også sagtens gøre, men eftersom du bruger den til at udhente data og evt. indsætte data i samme kørsel, så kan jeg ikke se der skulle være nogen grund til at lukke forbindelsen imellemtiden.
Og hvis du vil lukke den, så skal du i hvert fald åbne en ny connection inden du bruger denne kodedel: <?php
if($_POST['navn'] != "" && $_POST['kommentar'] != "") { mysql_query($query); } else { echo "<h2>Du skrev ikke noget navn, eller nogen kommentar!!</h2>"; }
//mysql_close($conn); ?> ...ellers er der jo ingen forbindelse den kan udføre din $query på :)
viste jeg faktisk ikke:P nu har jeg fjernet den, og nu står beskeden med "du har ike indtastet..." bare der konstant. Jeg får nogle mySQL fejl når jeg prøver at skrive i gstebogen, prøver lige at se om jeg kan fange dem.
nej det er rigtig nok, jeg gør bare som du foreslog først. Er vildt overrasket oer så hurtigt det går med at få svar i PHP forummet i forhold til andre steder på siden;)
Det er klart, at du vil få "du har ikke indtastet..." hele tiden, da du jo som udgangspunkt før du udfylder forms'ene ikke har noget i $_POST['navn'] og $_POST['kommentar'].
Det kan du dog løse, ved f.eks. at gøre således: if(isset($_POST['navn']) && isset($_POST['kommentar'])) { if($_POST['navn'] != "" && $_POST['kommentar'] != "") { mysql_query($query); } else { echo "<h2>Du skrev ikke noget navn, eller nogen kommentar!!</h2>"; } }
Og grunden til at vi svarer hurtigt her er jo nok, at vi ofte selv sidder og koder - eller måske har vi bare mindre liv i denne kategori end folk i de andre?! :)
nu er jeg da kommet lidt videre, men den vil ikke rigtig opdatere siden som den skal. Når jeg poster et indlæg kommer jeg til en ny side, kun med det kode, og gamle indlæg. Jeg skal så trykke F5 ogå kommer mit indlæg.
Jeg ville gerne have det sådan at det selv opdaterede når jeg trykkede tilføj.
Jeg klager ikke jeg synes kun det er lækkert at man kan få løst sine problemer hurtigt også komme videre.
Du kan prøve at rykke indsæt-koden (altså ca. det jeg skrev 10.42.44) op øverst i filen i stedet for i bunden. Logisk udskriver den jo de gamle indlæg før den indsætter dit nye, og derfor bliver det ikke vist før du opdaterer :)
//tilslutter til database hosten $conn = mysql_connect($host, $username, $password) or die("Kunne ikke finde hosten"); $database = mysql_select_db($db);
ja har godt tænkt på det, og nu virker det da også efter en ændring, bortset fra at den viser guestbook.php for sig selv og ikke i index filen, hvis du er med?
Kan ikke lige huske hvordan det er at man ændre det?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.