Gå til innhold

[løst]Hva er det som er feil i scriptet?[/løst]


Anbefalte innlegg

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 av Andy-Pandy
Lenke til kommentar
Videoannonse
Annonse

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

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

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 av Rasks
Lenke til kommentar

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 av Rasks
Lenke til kommentar

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

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

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...