vaffelkak Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 Hei alle sammen. Sitter her og sliter med en poste kode jeg har sett meg blind på. Alt ser bra ut på siden, men jeg får ikke noe informasjon inn i sql. Hva kan være galt? Her er koden til siden: <?php include('mysql_connect.php'); if(isset($_POST['submit'])) { $overskrift = mysql_real_escape_string($_POST['overskrift']); $ingress = mysql_real_escape_string($_POST['ingress']); $innhold = mysql_real_escape_string($_POST['innhold']); $skrevetav = mysql_real_escape_string($_POST['skrevetav']); $dato = mysql_real_escape_string($_POST['dato']); $bildetekst = mysql_real_escape_string($_POST['bildetekst']); $bilde = mysql_real_escape_string($_POST['bilde']); $result = mysql_query("INSERT INTO nyheter (`overskrift`, `ingress`, innhold`, skrevetav`, dato`, bildetekst`, bilde`) VALUES ('$overskrift','$ingress','$innhold','$skrevetav','$dato','$bildetekst','$bilde')"); echo "<strong>Nyheten er lagt til i databasen. Du blir nå overført til hovedsiden</strong>"; echo "<meta http-equiv=Refresh content=3;url=http://www.tronder.net/vaffelkak/gjestebok/index.php>"; } else { ?> <br> <h3>Legg til nyhet</h3> <form method='post' action='<?php echo $PHP_SELF ?>'> <table> <tr> <td>Overskrift:</td> <td><input name='overskrift' size='40' maxlength='255'></td> </tr> <tr> <td>Ingress:</td> <td><textarea name='ingress' rows='5' cols='30'></textarea></td> </tr> <tr> <td>Innhold:</td> <td><textarea name='innhold' rows='10' cols='30'></textarea></td> </tr> <tr> <td>Skrevet av:</td> <td><input name='skrevetav' size='40' maxlength='255'></td> </tr> <tr> <td>Dato:</td> <td><input name='dato' size='40' maxlength='255'></td> </tr> <tr> <td>Bildetekst</td> <td><input name='bildetekst' size='40' maxlength='255'></td> </tr> <tr> <td>Bilde:</td> <td><input type="file" name="trusttecfile" size='40'></td> </tr> <tr> <td colspan='2'><input type="submit" name="submit" value="Legg til nyhet"></td> </tr> </table> </form> <? } Lenke til kommentar
ZoRaC Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 Får du noen feilmeldinger? Sikker på at mysql-tilkoblingen er i OK? error_reporting(E_ALL); ini_set("display_errors", 1); Og du kan jo også ta en "echo mysql_error()"; Lenke til kommentar
kjey Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 (endret) Tror det er fordi du har lagt mysql_query() i en variabel... Skal man egentlig ikke bare skrive slik? mysql_query("INSERT INTO nyheter (`overskrift`, `ingress`, innhold`, skrevetav`, dato`, bildetekst`, bilde`) VALUES ('$overskrift','$ingress','$innhold','$skrevetav','$dato','$bildetekst','$bilde')"); Endret 31. mai 2006 av kjey Lenke til kommentar
ZoRaC Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 kjey: Og hvordan skal han få tak i resultatet fra query'en da? Riktignok er det ikke mye resultat ved INSERT, men man vil vel kanskje sjekke at den gikk i orden f.eks. Lenke til kommentar
kjey Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 Kan man ikke da skrive etter mysql_query(): or die(mysql_error()); eller no? Lenke til kommentar
Martin A. Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 Når jeg skriver til database, så gjør jeg det slik $q = "INSERT INTO tabellnavn(tabellfelt) VALUES('hei')"; if(!empty($diversefelt)) { mysql_query($q) OR die(mysql_error()); } Hvor sjekker du foresten om noen felt er tomme? Og er $PHP_SELF en gyldig variabel? Bruker man ikke $_SERVER['PHP_SELF'] til det, evnt bare "action='' " Lenke til kommentar
alp_renx Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 (endret) Du mangler også endel kjing-kjong kolon ("INSERT INTO nyheter (`overskrift`, `ingress`,`innhold`, `skrevetav`, `dato`, `bildetekst`, `bilde`) Du kan også korte ned post variablene dine fra $overskrift = mysql_real_escape_string($_POST['overskrift']); $ingress = mysql_real_escape_string($_POST['ingress']); $innhold = mysql_real_escape_string($_POST['innhold']); $skrevetav = mysql_real_escape_string($_POST['skrevetav']); $dato = mysql_real_escape_string($_POST['dato']); $bildetekst = mysql_real_escape_string($_POST['bildetekst']); $bilde = mysql_real_escape_string($_POST['bilde']); til foreach( $_POST as $key => $value ) { ${$key} = mysql_real_escape_string($value); } men dette har selvfølgelig ikkeno med problemene dine å gjøre, bare gjør scriptet litt mindre. Endret 31. mai 2006 av alp_renx 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å