Avatar billede rjs Nybegynder
21. november 2007 - 15:12 Der er 7 kommentarer og
1 løsning

Update MySQL fra form virker ikke

Jeg har denne kode:

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">

<?php
    mysql_query("UPDATE `indhold` SET `overskrift1` = $_POST[header1] WHERE i_id = 1");

include ("../php/db_indhold.php");
include ("../php/db_connect.php");

$sda = $i_id;

  echo "<input type='text' id='title' name='title' style='width:775px;text-align:right;' value='$i_link_title'><br>";
  echo "<input type='text' id='header1' name='header1' style='width:775px;text-align:right;' value='$i_overskrift1'><br>";
  echo "<input type='text' id='header2' name='header2' style='width:775px;text-align:right;' value='$i_overskrift2'><br>";
  echo "<input type='textarea' id='header3' name='header3' style='width:400px;height:190px;text-align:left;' value='$i_overskrift3'><br>";
  echo "<input type='text' id='forfatter' name='forfatter' style='width:775px;text-align:right;' value='$i_forfatter'><br>";
  include("../fckeditor/fckeditor.php");

                $oFCKeditor = new FCKeditor('fulltext') ;
                $oFCKeditor->BasePath = '../fckeditor/';
                $oFCKeditor->Name = 'fulltext';
                $oFCKeditor->Value = $i_broedtekst;
                $oFCKeditor->Create() ;

  echo "<input type='submit' id='submit' name='submit' value='Opdater Side/Tekst'>";

?>

Desværre virker den ikke. Håber der er en af jer der kan hjælpe mig.

Min DB forbindelse funker korrekt så det er ikke den det er galt med. Jeg har brugt den andre steder og der virker den fint. og den henter også fint informationerne ind i felterne. Den nægter bare at opdatere den.
Avatar billede pidgeot Nybegynder
21. november 2007 - 15:13 #1
Mangler du ikke apostroffer om værdien (og escaping, for den sags skyld)?
Avatar billede rjs Nybegynder
21. november 2007 - 15:22 #2
æh... hvis du tænker på $_POST[header1] skal være $_POST['header1] så får jeg fejl hvis jeg gør det. Jeg ved ikke hvad du mener når du siger "escaping"
Avatar billede rjs Nybegynder
21. november 2007 - 15:23 #3
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\Dokumenter\Web\web_page_download\admin\pages.php on line 4 <-- Den fejl får jeg hvis jeg laver enten $_POST['header1] eller $_POST["header1"]
Avatar billede pidgeot Nybegynder
21. november 2007 - 15:28 #4
Nej, jeg mener brug af en funktion som mysql_real_escape_string. Se http://php.net/mysql_real_escape_string og http://en.wikipedia.org/wiki/SQL_injection som begrundelse, og
http://www.xkcd.com/327/ som eksempel på en ting der kan gå galt når man ikke tænker på sikkerheden.

Ganske vist ligner det der noget som andre ikke burde kunne komme ind i, og det er nok slået magic quotes til så du til trods for manglende  kan bruge ' i tekster - så problemet er måske ikke HELT så slemt som ellers - men derfor er det stadig dårlig kode (god kode skrives som om der ikke var magic quotes på, og fjerner dem hvis de er der, for så selv at håndtere det - enten med escaping, eller, hvis det er muligt, med bind variables).

Dit primære problem er under alle omstændigheder at der mangler apostroffer uden om  $_POST[header1] - altså '$_POST[header1]' - for ellers ved MySQL jo ikke det er en string.
Avatar billede rjs Nybegynder
21. november 2007 - 15:34 #5
hmm... yes yes... men dit apostroff svar var løsningen. Når vi snakker sikkerhed så er siden en lille del af et meget større system der gør brug af sessions hvor der skal laves login før den er brugbar men det kan man selvfølgelig ikke se her.

Du skal i hvert tilfælde have point.

Drop et svar og du får point.
Avatar billede rjs Nybegynder
21. november 2007 - 15:39 #6
nå ja... jeg kigger self på de links du har lagt til rådighed
Avatar billede pidgeot Nybegynder
21. november 2007 - 16:00 #7
Med mindre du har streng kontrol over hvem der kan logge ind, så er det ikke nødvendigvis nok at man skal det (og selv der kræver det jo at du ved du kan stole på dem du lukker ind - hvilket ikke altid er garanteret) - men her er et svar. :)
Avatar billede rjs Nybegynder
21. november 2007 - 16:06 #8
Jeg ser din pointe. Men spørgsmålet om sikkerhed er ikke så relevant i forbindelse med den her opgave og jeg er relativ ny i faget. Men som sagt kigger jeg på 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