Anders Moen Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 (endret) Nå har jeg prøvd og prøvd, men skjønner ikke hva som er feil i scriptet mitt. Er det noen som kan se hva som er feil her? :/ <?php if($_POST['submit']) { $mysql_host = "localhost"; $mysql_user = "brukernavn"; $mysql_pass = "passord"; $mysql_db = "database_navn"; $mysql_tabell = "tabell_navn"; $mysql_link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("ERROR!"); mysql_select_db ($mysql_db) or die ("ERROR!"); $tittel = htmlspecialchars(strip_tags($_POST['tittel'])); $forste = htmlspecialchars(strip_tags($_POST['forste'])); $innhold = htmlspecialchars(strip_tags($_POST['innhold'])); $navn = htmlspecialchars(strip_tags($_POST['navn'])); $epost = htmlspecialchars(strip_tags($_POST['epost'])); $ip = $_SERVER['REMOTE_ADDR']; $dato = date("d, m, Y"); $mysql_query = "INSERT INTO $mysql_tabell (tittel, forste, innhold, navn, epost, ip, dato) VALUES ('$tittel', '$forste', '$innhold', '$navn', '$epost' '$ip', '$dato')"; if(mysql_query($mysql_query)) { echo(" Nyheten ble lagt til! "); } else { echo("En feil oppstod!"); } } else { echo(" <form action='' method='post'> <p>Tittel<br /><input type='text' size='80' name='tittel' /></p> <p>Første avsnitt<br /><textarea rows='7' cols='60' name='forste'></textarea></p> <p>Resten<br /><textarea rows='7' cols='60' name='innhold'></textarea></p> <p>Navn<br /><input type='text' size='80' name='navn' /></p> <p>Epost<br /><input type='text' size='80' name='epost' /></p> <p><input type='submit' value='Legg til' name='submit' /></p> </form> <br /> <br /> "); } ?> Endret 20. januar 2007 av Andy-Pandy Lenke til kommentar
Anders Moen Skrevet 20. januar 2007 Forfatter Del Skrevet 20. januar 2007 (endret) Feilmelding er den her: else { echo("En feil oppstod!"); } Altså, står det "En feil oppstod" når jeg trykker på submit. Og ja, jeg har fylt ut alle feltene. Endret 20. januar 2007 av Andy-Pandy Lenke til kommentar
Rasks Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 du kan jo prøve å bytte ut: if(mysql_query($mysql_query)) { echo(" Nyheten ble lagt til! "); } else { echo("En feil oppstod!"); } med dette: mysql_query($mysql_query) or die(mysql_error()); Da tror jeg vi skal få ut hvorfor informasjonen ikke blir lagt til databasen. Lenke til kommentar
Anders Moen Skrevet 20. januar 2007 Forfatter Del Skrevet 20. januar 2007 Da fikk jeg denne når jeg trykket på submit: "Column count doesn't match value count at row 1". Nå er PHP koden sånn her: <?php if($_POST['submit']) { $mysql_host = "localhost"; $mysql_user = "bruker"; $mysql_pass = "pass"; $mysql_db = "db_navn"; $mysql_tabell = "tabell_navn"; $mysql_link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("ERROR!"); mysql_select_db ($mysql_db) or die ("ERROR!"); $tittel = htmlspecialchars(strip_tags($_POST['tittel'])); $forste = htmlspecialchars(strip_tags($_POST['forste'])); $innhold = htmlspecialchars(strip_tags($_POST['innhold'])); $navn = htmlspecialchars(strip_tags($_POST['navn'])); $epost = htmlspecialchars(strip_tags($_POST['epost'])); $ip = $_SERVER['REMOTE_ADDR']; $dato = date("d, m, Y"); $mysql_query = "INSERT INTO $mysql_tabell (tittel, forste, innhold, navn, epost, ip, dato) VALUES ('$tittel', '$forste', '$innhold', '$navn', '$epost' '$ip', '$dato')"; mysql_query($mysql_query) or die(mysql_error()); } else { echo(" <form action='' method='post'> <p>Tittel<br /><input type='text' size='80' name='tittel' /></p> <p>Første avsnitt<br /><textarea rows='7' cols='60' name='forste'></textarea></p> <p>Resten<br /><textarea rows='7' cols='60' name='innhold'></textarea></p> <p>Navn<br /><input type='text' size='80' name='navn' /></p> <p>Epost<br /><input type='text' size='80' name='epost' /></p> <p><input type='submit' value='Legg til' name='submit' /></p> </form> <br /> <br /> "); } ?> Og MySQL: sql.bmp Lenke til kommentar
Rasks Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 (endret) jeg tror du kanskje må endre $mysql_query til dette: $mysql_query = "INSERT INTO $mysql_tabell (id, tittel, forste, innhold, navn, epost, ip, dato) VALUES (NULL, '$tittel', '$forste', '$innhold', '$navn', '$epost' '$ip', '$dato')"; Selv om id-feltet er auto-increment må du legge inn NULL, tror jeg. Utestet. Edit: Det hjalp kanskje ikke i det hele tatt... Endret 20. januar 2007 av Rasks Lenke til kommentar
Anders Moen Skrevet 20. januar 2007 Forfatter Del Skrevet 20. januar 2007 Får fortsatt den samme feilmeldinga (Column count doesn't match value count at row 1) Lenke til kommentar
Rasks Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 Ser visst ut som min grense er nådd... Lenke til kommentar
Rasks Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 (endret) ok, siste forøk fra min side, nå fungerer det i allefall for meg. Her er koden: <?php if($_POST['submit']) { $mysql_host = "localhost"; $mysql_user = "username"; $mysql_pass = "password"; $mysql_db = "databaswe"; $mysql_tabell = "tabell"; $mysql_link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die(mysql_error()); mysql_select_db ($mysql_db) or die(mysql_error()); $tittel = htmlspecialchars(strip_tags($_POST['tittel'])); $forste = htmlspecialchars(strip_tags($_POST['forste'])); $innhold = htmlspecialchars(strip_tags($_POST['innhold'])); $navn = htmlspecialchars(strip_tags($_POST['navn'])); $epost = htmlspecialchars(strip_tags($_POST['epost'])); $ip = $_SERVER['REMOTE_ADDR']; $dato = date("d, m, Y"); $mysql_query= "INSERT INTO `$mysql_tabell` ( `id` , `tittel` , `forste` , `innhold` , `navn` , `epost` , `dato` , `ip` ) VALUES (NULL , '$tittel', '$forste', '$innhold', '$navn', '$epost', '$dato, '$ip')"; mysql_query($mysql_query) or die(mysql_error()); echo "Nyheten ble lagt til!"; } else { echo(" <form action='' method='post'> <p>Tittel<br /><input type='text' size='80' name='tittel' /></p> <p>Første avsnitt<br /><textarea rows='7' cols='60' name='forste'></textarea></p> <p>Resten<br /><textarea rows='7' cols='60' name='innhold'></textarea></p> <p>Navn<br /><input type='text' size='80' name='navn' /></p> <p>Epost<br /><input type='text' size='80' name='epost' /></p> <p><input type='submit' value='Legg til' name='submit' /></p> </form> <br /> <br /> "); } ?> Endret 20. januar 2007 av Rasks Lenke til kommentar
Anders Moen Skrevet 20. januar 2007 Forfatter Del Skrevet 20. januar 2007 Nå får jeg en ny feilmelding... "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tok_bort_ip_adress_som_sto_her')' at line 1" Antakelig noe med $ip = $_SERVER +++ eller hva det nå enn var. Noen andre slike koder som henter ip adressa fra den som submitter? Lenke til kommentar
Anders Moen Skrevet 20. januar 2007 Forfatter Del Skrevet 20. januar 2007 Nå har jeg løst det Bytta ut hele greia med en annen kode jeg fant på nettet en gang. Hvis noen trenger den, så poster jeg den her: <div style='width: 600px; border: 1px solid black; margin: 0 auto; padding: 20px;'> <form action='' method='post'> <p>Tittel<br /><input type='text' size='90' name='tittel' /></p> <p>Første<br /><textarea cols='70' rows='10' name='forste'></textarea></p> <p>Innhold<br /><textarea cols='70' rows='10' name='innhold'></textarea></p> <p>Navn<br /><input type='text' size='90' name='navn' /></p> <p>Epost<br /><input type='text' size='90' name='epost' /></p> <p> <br /><input type='submit' name='submit' value='Legg til' /></p> </form> <?php $db=mysql_connect("localhost", "brukernavn", "passord"); mysql_select_db("database_navn", $db); if(isset($_POST['submit'])) { $con = mysql_connect("localhost","brukernavn","passord"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("database_navn", $con); $sql="INSERT INTO nyheter (tittel, forste, innhold, epost, navn, dato) VALUES ('$_POST[tittel]','$_POST[forste]','$_POST[innhold]','$_POST[epost]','$_POST[navn]','$_POST[dato]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "Din nyhet ble lagt til."; } ?> 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å