webForumDet fria alternativet

mysql UPDATE fungerar inte.

2 svar · 482 visningar · startad av altruism

altruismMedlem sedan nov. 200664 inlägg
#1

Jag gör ett enklare CMS till en sida (första gången jag gör något sådant) och har fått ett problem då jag laddar in en text i ett textfält som jag sedan ska uppdatera.

Jag laddar in texten från en tabell som heter tbl_content, där "content" innehåller texten, "contentid" är dess unika värde, "language" är vilket språk texten är på och "pageid" talar om vilken sida texten finns på.

På adminsidan ska jag som sagt ladda in en text i ett textfält och sen ska man kunna ändra det däri, klicka på spara och så uppdateras databasen med det nya innehållet. Men det uppdateras inget...

Såhär ser den aktuella koden ut:

 
<?php 
include_once $_SERVER['DOCUMENT_ROOT'] . '/dataliner/includes/dbconnect.inc.php';

    function getContent(){
        if(isset($_GET['language'])){
            $selectedLang = $_GET['language'];
            $result1 = mysql_query("SELECT content,contentid FROM tbl_content WHERE language= '$selectedLang' AND pageId= '1'");
            
            $contentArray = mysql_fetch_array($result1, MYSQL_BOTH);
            $content1[content] = $contentArray[0];
            $content1[contentid] = $contentArray[1];
        }
    return $content1;
    }
    function updateContent(){
        $result2 = mysql_query("UPDATE tbl_content SET content = '$_POST[mainedit]' WHERE contentid = $content1[contentid]");
        return result2;
    }
    $result2 = updateContent();
    $content1 = getContent();

?>

och själva formuläret/textfältet där texten hamnar:

<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
	<textarea id="mainedit" class="widgEditor"><?php echo $content1[content]; ?></textarea>
	<br />
<input type="submit" value="Spara" />
			
</form>

Jag har provat att skriva ut arrayen $content1 och både content och contentid finns i arrayen.

Edit: allt ligger i samma phpfil.
Edit2: jag har nu slängt in $content1 som argument i updateContent funktionen

EDIT3: JAg har nu förstått att jag inte får med "$content1[contentid]" till updateContent funktionen. Nu har jag även ändrat om det lite så updateContentfunktionen ligger i en separat php-fil.

Frågan är nu alltså hur jag får över en variabel från en funktion till en funktion som ligger i en annan php-fil? globals kanske, men jag får det inte att fungera...

LenaThMedlem sedan aug. 200716 inlägg
#2

Om du provar att lägga med contentid i ett hidden field i formuläret kanske?

Men jag undrar... får du med något alls till updatefunktionen? Räcker det verkligen att ha id="mainedit" i formuläret, behöver det inte vara name? För hela formulärhanterngen bygger väl på name-value-par?

Jag brukar alltid skriva ut mina query-strängar så jag vet att dom ser riktiga ut innan jag kör dom mot databasen. Man (jag åtminstone) gör väldigt ofta fel där...

Att grejerna ligger i olika filer ska nte ha någon betydelse, bara det inkluderas riktigt.

altruismMedlem sedan nov. 200664 inlägg
#3

Tack så mycket, det löste problemet!

126 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)