Aha...jag tror jag hänger med
Men, då får jag väl göra en för varje person..väl?
UPDATE eva_spelningar SET
anders = 1 WHERE id = {$_POST['id']}
magnus = 1 WHERE id = {$_POST['id']}
71 svar · 3 237 visningar · startad av maweer · sida 3 av 4
Jag borde egentligen kanske inte startat en ny tråd, då jag redan har berört detta i en tidigare. Ber om ursäkt i så fall! Men, då felet egentligen inte har med den andra tråden att göra, så valde jag att jag göra så här. (dock är det samma kod) :) Nu till min fråga: Hur får jag med värdet från id i en submit? Jag får nämligen inte det nu när jag submitar mitt formulär Ber nu om ursäkt för mycke
Läs hela trådstarten →Aha...jag tror jag hänger med
Men, då får jag väl göra en för varje person..väl?
UPDATE eva_spelningar SET
anders = 1 WHERE id = {$_POST['id']}
magnus = 1 WHERE id = {$_POST['id']}
Jag har gjort fel va?
if(isset($_POST['spara'])) { // om knappens namn är spara
$sql = "
UPDATE eva_spelningar
SET tony = 1,
ulf = 1,
carina = 1,
anders = 1,
magnus = 1
WHERE id = {$_POST['id']}
";
mysql_query($sql) or die(mysql_error());
header("Location: form.php?id=".$_POST['id']);
exit;
}
För inget värde läggs in i tabellen och urln borde väl bli något i stil med
eva_spelningar/form.php?=3213131
finnsdet en post med id 3213131 då?
Nä förlåt Det var bara ett exempel.
340 finns
Usch jag skäms så att jag inte reder ut detta själv, utan behöver så här mycket hjälp
Om du skickar id i ett hiddenfält i ett formulär med metoden POST, då ska du använda $_POST när du hämtar in värdet. Använder du $_POST så spelar det ingen roll om du också skickar värde i querystringen (GET) - varför skickar du både och?
Om du skriver ut $sql med echo - hur ser det ut då?
Det hände ingenting när jag skrev ut $sql. Den skrev inte ut något
Ändrar jag
WHERE id = {$_POST['id']} till WHERE id = 344, alltså jag fysiskt skriver in id:et så funkar inte det heller.
Menar du min header("Location: form.php?id=".$_POST['id']); ?
Jag vet inte Jag har gjort så då jag använt mig av UPDATE tidigare och då har det funkat
Det hände ingenting när jag skrev ut $sql.
Då har du gjort fel. Antingen har du lagt utskriften på fel ställe, eller så har du glömt att ta bort header-raden strax under - den skickar ju iväg dig, så då är det inte konstigt om du inte ser någonting...
Menar du min header("Location: form.php?id=".$_POST['id']); ?
Nej, jag menar att du säger att du tittar efter id i url:en, men när du sparar använder du ju id från formuläret. Det som står i url:en har då ingen betydelse.
Jag har nog gjort något fel antar jag för jag tog bort header-raden
magnus = 1
WHERE id = {$_POST['id']}
";
mysql_query($sql) or die(mysql_error());
}
echo($sql);
?>
Men däremot om jag lägger den längst ner
echo('<td> <input type="checkbox" name="anders" value="anders" /> </td>');
echo('<td> <input type="checkbox" name="magnus" value="magnus" /> </td>');
echo('<td> <input type="submit" value="Spara" name="Spara" /> </td>');
echo("</tr>");
echo("</table>");
echo('</form>');
}
echo($sql);
?>
Så får jag Resource id #3, vilket jag aldrig har sett någon gång förut
lägg din echo direkt efter du har deklarerat $sql
... och om du lägger exit(); på raden under din echo behöver du inte bry dig om resten av scriptet - då exekveringen avbryts.
mvh
Förlåt, men jag måste framstå som mer och mer korkad
Ber om ursäkt!
Det skrevs inte ut något
magnus = 1
WHERE id = {$_POST['id']}
";
mysql_query($sql) or die(mysql_error());
echo($sql);
exit;
}
?>
Är det inte för att mysql_query crashar?
lägg koden ovanför mysql_query koden.
och vad är magnus osv för datatyp?
då måste du ha '' runt dom i din SQL fråga. och id då?
if(isset($_POST['spara'])) { // om knappens namn är spara
$sql = "
UPDATE eva_spelningar
SET tony = '1',
ulf = '1',
carina = '1',
anders = '1',
magnus = '1'
WHERE id = {$_POST['id']}
";
mysql_query($sql) or die(mysql_error());
header("Location: form.php?id=".$_POST['id']);
exit;
}
Jag testade faktiskt det igår, men inget lades in i tabellen, tyvärr
vad få du när du postar då?
if(isset($_POST['spara'])) { // om knappens namn är spara
$sql = "
UPDATE eva_spelningar
SET tony = '1',
ulf = '1',
carina = '1',
anders = '1',
magnus = '1'
WHERE id = {$_POST['id']}
";
echo($sql);
exit;
mysql_query($sql) or die(mysql_error());
header("Location: form.php?id=".$_POST['id']);
exit;
}
och vad händer om du försöker köra den frågan du få ut där inne i mysql.. du måste ju få något felmeddelande.
Nä förlåt...tyvärr inget felmeddelande alls
Då verkar det ju som att du inte kommer in i if-satsen ens.
Kommentera bort din kod tillfälligt och prova följande:
echo 'Före if<br>';
if (isset($_POST['spara'])) {
echo 'Inne i if<br>';
}
echo 'Efter if';