webForumDet fria alternativet

Får inte med $id vid submit

PHP

71 svar · 3 202 visningar · startad av maweer · sida 3 av 4

Frågan, av maweer

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 frågan i sin helhet →
Medlem sedan juli 2012123 inlägg
#41

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']}
Medlem sedan jan. 2005953 inlägg
#42

Nej

UPDATE eva_spelningar SET anders = 1, magnus = 1 WHERE id = {$_POST['id']}
Medlem sedan juli 2012123 inlägg
#43

Jag har gjort fel va? :r

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

Medlem sedan juni 20019 519 inlägg
#44

finnsdet en post med id 3213131 då?

Medlem sedan juli 2012123 inlägg
#45

Nä förlåt :) Det var bara ett exempel.
340 finns

Medlem sedan juli 2012123 inlägg
#46

Usch jag skäms så att jag inte reder ut detta själv, utan behöver så här mycket hjälp

Medlem sedan juni 200032 967 inlägg
#47

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å?

Medlem sedan juli 2012123 inlägg
#48

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 :r Jag har gjort så då jag använt mig av UPDATE tidigare och då har det funkat

Medlem sedan juni 200032 967 inlägg
#49

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.

Medlem sedan juli 2012123 inlägg
#50

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

Medlem sedan juni 20019 519 inlägg
#51

lägg din echo direkt efter du har deklarerat $sql

Medlem sedan juni 200032 967 inlägg
#52

... 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

Medlem sedan juli 2012123 inlägg
#53

Förlåt, men jag måste framstå som mer och mer korkad :r
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;

}  

?>
Medlem sedan juni 20019 519 inlägg
#54

Ä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?

Medlem sedan juli 2012123 inlägg
#55

Jag gjorde det innan också, men med samma resultat.

Alla magnus, anders...etc är varchar

Medlem sedan juni 20019 519 inlägg
#56

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;

}
Medlem sedan juli 2012123 inlägg
#57

Jag testade faktiskt det igår, men inget lades in i tabellen, tyvärr

Medlem sedan juni 20019 519 inlägg
#58

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.

Medlem sedan juli 2012123 inlägg
#59

Nä förlåt...tyvärr inget felmeddelande alls

Medlem sedan jan. 2005953 inlägg
#60

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';
258 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)