Avatar billede delphiuser Mester
11. februar 2014 - 00:20 Der er 6 kommentarer og
1 løsning

Fatter det ikke. det er ellers simpelt

Jeg glor mig bare så træt i hovedet engang imellem. kan slet ikke se hvad fejlen er. har lavet dette script så mange gange og alligevel kan jeg ikke finde fejlen. fatter det ikke.

<?php
if(isset($_POST['submit'])) {
    mysql_query("insert into feedback(f_date, f_name, f_mail, f_sub, f_desc) values('".$_POST['f_date']."', '".$_POST['f_name']."', '".$_POST['f_mail']."', '".$_POST['f_sub']."', '".$_POST['f_desc']."')") or die(mysql_error());
    echo '<tr><th colspan="3">'.$_POST['f_sub'].' '.$_POST['f_date'].'</th></tr>';
    echo '<tr><td width="140" height="20">Navn</td><td width="10" height="20" align="center">:</td><td width="250" height="20">'.$_POST['f_name'].'</td></tr>';
    echo '<tr><td width="140" height="20">Email</td><td width="10" height="20" align="center">:</td><td width="250" height="20">'.$_POST['f_mail'].'</td></tr>';
    echo '<tr><td width="140" height="20">Emne</td><td width="10" height="20" align="center">:</td><td width="250" height="20">'.$_POST['f_sub'].'</td></tr>';
    echo '<tr><td colspan="3">'.substr($_POST['f_desc'],0,250).'</td></tr>';
}
?>

fejl besked:

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 's der er nye. Dette bliver yderst spændende. Håber det lykkes som jeg gerne' at line 1

venlig hilsen

Delphiuser
Avatar billede arne_v Ekspert
11. februar 2014 - 00:56 #1
Det kunne vaere fordi der er en ' i input data og din kode er slet ikke gearet til at haandtere den slags.

mysqli og prepared statement vill loese dette og mange andre problemer.
Avatar billede delphiuser Mester
11. februar 2014 - 01:15 #2
Jeg fandt selv ud af hvad fejlen var.

arne_v -> jeg har ikke fundet ud af mysqli endnu. syntes det er mere indviklet end den gode gamle mysql.
Avatar billede arne_v Ekspert
11. februar 2014 - 01:23 #3
Hvad var fejlen saa?
Avatar billede repox Seniormester
11. februar 2014 - 07:21 #4
#2
Den "gode gamle" MySQL udvidelse er deprecated og er helt væk fra PHP version 6, hvilket betyder din kode vil holde op med at virke.

I øvrigt er din kode ekstremt sårbar overfor SQL injections, hvilket vil betyde at du er væsentligt mere udsat for at blive angrebet og har stor sandsynlighed for at blive hårdt ramt når  det sker.
Avatar billede delphiuser Mester
11. februar 2014 - 14:22 #5
arne_v -> Det var en fejl i min tabel opsætning i min database.

repox -> findes der nogle gode sider på nettet hvor man kan læse og lære om mysqli gerne på dansk?
Avatar billede repox Seniormester
11. februar 2014 - 14:33 #6
#5
Der er en guide her på eksperten: http://www.eksperten.dk/guide/1480
Og så har jeg selv skrevet en: http://err0r.dk/artikler/vis/mysqli-for-begyndere
Avatar billede delphiuser Mester
11. februar 2014 - 16:02 #7
repox -> tak for hjælpen jeg vil kigge på det og se om jeg kan finde ud af det.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester