Avatar billede kakster Nybegynder
08. januar 2008 - 19:04 Der er 14 kommentarer og
1 løsning

Problemer med at opdater database

Hej Eksperter

Jeg har flg. kode:
<?php
//tjek for login

include_once ('config.php');

if (!empty($_POST['editor'])) {
$update = "UPDATE tekst SET tekst = " . $_POST  ." where id =" . $_GET['id'];
mysql_query($update);
}   

$sql = "SELECT * FROM tekst WHERE id =" . $_GET['id'];
$query = mysql_query($sql);
$data = mysql_fetch_array($query);
?>

<form name="editor" method="post" action="?id=<?PHP $_GET['id'];?>">

<?php
//fckeditor starter
include_once ('_editor/fckeditor.php');
    $editor                = new fckeditor('editor');
       
        $editor->BasePath    =  "_editor/";
        $editor->ToolbarSet    = $toolbar;
        $editor->Value        = nl2br($data['tekst']);
        $editor->Height = '500';
        $editor->Width = '650';
        $editor->Create()

?>
   
    <br/>
    <input type="submit" Value="opdater">
    </form>

Det der er problemet er at ovenstående kode ikke opdater databasen.

Jeg er lidt i tvivl om hvad action skal være i formtag'et og har derfor bare prøvet mig frem.
Avatar billede nielle Nybegynder
08. januar 2008 - 19:09 #1
Prøv med:

$update = "UPDATE tekst SET tekst = " . $_POST['editor'] . " where id = " . $_GET['id'];
Avatar billede nielle Nybegynder
08. januar 2008 - 19:10 #2
$update = "UPDATE tekst SET tekst = '" . $_POST['editor'] . "' where id = " . $_GET['id'];
Avatar billede nielle Nybegynder
08. januar 2008 - 19:11 #3
... eller:

$update = "UPDATE tekst SET tekst = '" . mysql_real_escape_string($_POST['editor']) . "' where id = " . mysql_real_escape_string($_GET['id']);
Avatar billede kakster Nybegynder
08. januar 2008 - 19:22 #4
Det virker desværre ikke :(
Avatar billede nielle Nybegynder
08. januar 2008 - 19:30 #5
Prøv at lave en Vis Kilde på den form som editoren vises i. Hvordan ser HTML-koden ud?
Avatar billede kakster Nybegynder
08. januar 2008 - 19:37 #6
Det hele virker fint, hvis jeg vælger at udsrkive $_POST['editor'];
altså: echo $_POST['editor']

Det har jeg rettet den til nu. DU kan se siden her:

koden som du efterspørger ser sådan her ud:
<p>Jeg deltager gerne i udstillinger rundt om i landet.<br />
<br />
Jeg synes det er en god mulighed for at vise mine ting og samtidig v&aelig;re med til at inspirere og udbrede interessen for pilefletningens mange muligheder.<br />
<br />
Kontakt mig hvis du har interesse i at have nogle af mine ting med p&aring; en udstilling.<br />
<br />
Det er min hensigt at l&aelig;gge billeder fra diverse udstillinger i Galleriet fremover, det kan forh&aring;bentlig ogs&aring; bruges som inspiration.&nbsp; TEST</p>
<form name="editor" method="post" action="?id=">

<div><input type="hidden" id="editor" name="editor" value="" style="display:none" /><input type="hidden" id="editor___Config" value="" style="display:none" /><iframe id="editor___Frame" src="_editor/editor/fckeditor.html?InstanceName=editor" width="650" height="500" frameborder="0" scrolling="no"></iframe></div>   
    <br/>
    <input type="submit" Value="opdater">
    </form>
Avatar billede nielle Nybegynder
08. januar 2008 - 19:55 #7
Der er et problem formens action.

Ret til:

<form name="editor" method="post" action="?id=<?php echo $_GET['id']; ?>">
Avatar billede kakster Nybegynder
08. januar 2008 - 20:03 #8
fantastisk.. SÅ virker det :P

lige et hurtigt spørgsmål hvad er forskellen på at skrive: mysql_real_escape_string() og undlade det

smid svar ;)
Avatar billede nielle Nybegynder
08. januar 2008 - 20:04 #9
> lige et hurtigt spørgsmål hvad er forskellen på at skrive: mysql_real_escape_string() og undlade det

Prøv f.eks. at skrive:

Scarlet O'Hare

i editor-feltet...
Avatar billede kakster Nybegynder
08. januar 2008 - 20:09 #10
ah.. så kommer den skrå streg med ind over :P
Avatar billede kakster Nybegynder
08. januar 2008 - 20:10 #11
smider du et svar?
Avatar billede nielle Nybegynder
08. januar 2008 - 20:16 #12
Bl.a. Funktionen mysql_real_escape_string() beskytter generelt imod at folk forsøger at snige potentielt indhold ind i din database.

Læs evt. mere her:

http://dk2.php.net/mysql_real_escape_string
Avatar billede nielle Nybegynder
08. januar 2008 - 20:18 #13
... snige potentielt skadelgt indhold ...
Avatar billede kakster Nybegynder
08. januar 2008 - 20:18 #14
oki fantastisk :P

så lader vi da bare den blive :P. hehe Mange tak for hjælpen :P
Avatar billede nielle Nybegynder
09. januar 2008 - 06:55 #15
Du skla så ikke kun bruge den der. Faktisk skal den bruges hver gang at der kommer data ind udefra og det kommer i nærheden af din database.
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