Gå til innhold

Php til sql problemer


Anbefalte innlegg

Skrevet

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>
 
 <?
}

Videoannonse
Annonse
Skrevet

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()"; ;)

Skrevet (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 av kjey
Skrevet

kjey:

Og hvordan skal han få tak i resultatet fra query'en da? :p

Riktignok er det ikke mye resultat ved INSERT, men man vil vel kanskje sjekke at den gikk i orden f.eks.

Skrevet

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='' "

Skrevet (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 av alp_renx

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...