Avatar billede starf Nybegynder
26. oktober 2005 - 14:29 Der er 7 kommentarer og
1 løsning

Redigere fra database.. problem.. igen

Jeg her været igang med at ændre den måde jeg linker til forskelige sider på, og efter jeg gjorde det holdte mit regigerings haløj op med at virke.

dette her er min kode: admin_profil_redigere_form.php

<?php
require('config.php');

$sql = "SELECT * FROM profiler WHERE id = ".$_GET['id'];
//echo $sql;
$q = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($q);
//echo "<pre>";
//print_r($row);

?>
<form action="admin.php?page=profilredigereformsave" method="post">

<b>Navn</b>

<input type="text" value="<?php echo $row['navn'] ?>" name="navn" size="30"><br>

<b>By</b>

<input type="text" value="<?php  echo $row['bynavn'] ?>" name="by" size="30"><br>

<b>Alder</b>

<input type="text" value="<?php  echo $row['alder'] ?>" name="alder" size="30"><br>

<b>Interesser</b>

<input type="text" value="<?php  echo $row['interesser'] ?>" name="interesser" size="30"><br>

<b>Profil tekst</b>

<input type="text" value="<?php  echo $row['txt'] ?>" name="txt" size="30"><br>

<b>Profil billede</b>

<?php
// FINDER BILLEDER I VALGTE DIR
$file_path = "images";
$dir_open = dir($file_path);
    while (false !== ($filer = $dir_open->read())) {
        if (is_file($file_path ."/". $filer) && false !== ($st = getimagesize($file_path ."/". $filer))) {
        $images[] = $filer;
        }
    }
$dir_open->close();

sort($images);
echo"<select name=\"billede\">\r\n";
echo"<option value=\"\">Vælg billede</option>\r\n";

if(count($images) !=0) {
    for($i = 0; $i < count($images); $i++) {
    echo"<option value=\"". $images[$i] ."\">". $images[$i] ."</option>\r\n";
    }
}
echo"</select>";

?><br><br>
<input type="hidden" name="id" value="<?php echo $row['id'] ?>"/>
<input type="hidden" name="action" value="add" />
<input type="submit" value="Send">
</form>

og den del der redigere til databasen: admin_profil_redigere_save.php

<?php
require('config.php');
?>

<?php

if($_POST[action] =="add")
{
$sql="
UPDATE profiler SET
    navn ='" . $_POST['navn'] . "',
    bynavn ='" . $_POST['by'] . "',
    alder ='" . $_POST['alder'] . "',
    interesser ='" . $_POST['interesser'] . "',
    txt ='" . $_POST['txt'] . "'
    billede ='" . $_POST['billede'] . "'
    WHERE
    id ='" . $_POST['id'] . "'
   
";
print $sql;
mysql_query($sql) or die(mysql_error());
mysql_query("UPDATE profiler SET navn ='" . $_POST['navn'] . "', bynavn ='" . $_POST['by'] . "', alder ='" . $_POST['alder'] . "', interesser ='" . $_POST['interesser'] . "', txt ='" . $_POST['txt'] . "',billede ='" . $_POST['billede'] . "',  WHERE id ='"  .$_POST['id'] "'") or die(mysql_error());

echo "Profilen er Redigeret";
$status = Opdateret;
}

?>

min fejl:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/home/www/evilsun.dk/skole/admin_profil_redigere_save.php on line 23

linie 23 på den side er:
mysql_query("UPDATE profiler SET navn ='" . $_POST['navn'] . "', bynavn ='" . $_POST['by'] . "', alder ='" . $_POST['alder'] . "', interesser ='" . $_POST['interesser'] . "', txt ='" . $_POST['txt'] . "',billede ='" . $_POST['billede'] . "',  WHERE id ='"  .$_POST['id'] "'") or die(mysql_error());

kommentere jeg den, ud (da det jo bare er en print til skærm) så får jeg ingen fejl, men rettelserne kommer stadig ikke ind i databasen, går ud fra det er pga. den nye måde jeg linker på til, de forskelige sider?
Avatar billede jaw Nybegynder
26. oktober 2005 - 15:21 #1
Du har vist 2 fejl i denne linie:

mysql_query("UPDATE profiler SET navn ='" . $_POST['navn'] . "', bynavn ='" . $_POST['by'] . "', alder ='" . $_POST['alder'] . "', interesser ='" . $_POST['interesser'] . "', txt ='" . $_POST['txt'] . "',billede ='" . $_POST['billede'] . "'  WHERE id ='"  .$_POST['id'] ."'") or die(mysql_error());

(Er rettet - et <komma> og et <punktum>)
Avatar billede jaw Nybegynder
26. oktober 2005 - 15:36 #2
Men hvorfor gør du den samme update 2 gange?
Avatar billede starf Nybegynder
26. oktober 2005 - 15:41 #3
tak nu får jeg ikke fejlen.. men det bliver stadig ikke opdateret?

gør jeg det samme 2 gange, hvor ?
Avatar billede starf Nybegynder
26. oktober 2005 - 15:42 #4
hmm får følgende:

UPDATE profiler SET navn ='11111111', bynavn ='skriv din by', alder ='skriv din alder', interesser ='skriv dine interesser', txt ='Skriv Profil tekst' billede ='' WHERE id ='20' 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 'billede ='' WHERE id ='20'' at line 7
Avatar billede jaw Nybegynder
26. oktober 2005 - 16:10 #5
txt ='" . $_POST['txt'] . "', <- du mangler et <komma> til sidst
Avatar billede jaw Nybegynder
26. oktober 2005 - 16:11 #6
$sql="
UPDATE profiler SET
    navn ='" . $_POST['navn'] . "',
    bynavn ='" . $_POST['by'] . "',
    alder ='" . $_POST['alder'] . "',
    interesser ='" . $_POST['interesser'] . "',
    txt ='" . $_POST['txt'] . "'
    billede ='" . $_POST['billede'] . "'
    WHERE
    id ='" . $_POST['id'] . "'
   
";
print $sql;
mysql_query($sql) or die(mysql_error());
mysql_query("UPDATE profiler SET navn ='" . $_POST['navn'] . "', bynavn ='" . $_POST['by'] . "', alder ='" . $_POST['alder'] . "', interesser ='" . $_POST['interesser'] . "', txt ='" . $_POST['txt'] . "',billede ='" . $_POST['billede'] . "',  WHERE id ='"  .$_POST['id'] "'") or die(mysql_error());

Dér! Det var da 2 gange samme forespørgsel ?!
Avatar billede starf Nybegynder
26. oktober 2005 - 16:18 #7
det er vist bare mig der har tåget godt rundt i det.. har fjernet den sidste query og så lavet dine rettelser og nu virker de.t. jeg takker mange gange for hjælpen!
smid et svar og få point :)
Avatar billede jaw Nybegynder
26. oktober 2005 - 16:25 #8
Selv tak :)
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