Hoe Variabel in $_POST[] gebruiken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joni Fleischer

Joni Fleischer

24/04/2008 18:49:00
Quote Anchor link
Beste mensen,

Ik heb een gegenereerd formulier.

Veld 1
Veld 2 en etc.

de cijfers zijn eigenlijk de id's uit een tabel.

<input type='text' name='veld_$row[id]' value='".$row[id]."'>

Nu krijg ik als ik het formulier post de $_POST variabel met de gegevens.
Ik probeerde:

$_POST['veld_$row[id]']

maar hij geeft een lege variabel>

Hoe kan ik nu die $row[id] in de $POST[''] verwerken???

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
// Als het formulier nog niet gepost is.
if($_POST['actie'] == "") {
echo("Hieronder kunt u de openingstijden wijzigen:");
echo("<form method='post'>");
echo("<table cellpadding='5' border='0'>");
$form = mysql_query("SELECT * FROM tijden ORDER BY id"); // Alle gegevens van de tabel "tijden" selecteren.
while($Form = mysql_fetch_object($form)) {

if($Form->open == "" || $Form->sluit == "") { $value1="gesloten"; $value2="gesloten"; } // Als de velden open en sluit leeg zijn, invullen met "gesloten".
else { $value1="$Form->open"; $value2="$Form->sluit"; } // Als de velden niet leeg zijn, database waarden weergeven.
if($Form->gesloten == "1") { $checked="checked"; } // Als het veld gesloten de waarde "1" bevat, de checkbox in het formulier selecteren.

// Het formulier

echo("<tr><td>".ucfirst(strtolower($Form->dag)).":</td>");
echo("<td>Open: <input type='text' name='open_$Form->id' value='$value1'> - ");
echo("Sluit: <input type='text' name='sluit_$Form->id' value='$value2'> ");
echo("<input name='gesloten_$Form->id' type='checkbox' value='1' $checked></td></tr>\n");
}
// Einde While
echo("</table>");
echo("<input name=\"actie\" type=\"submit\" value=\"wijzigen\"></form>");
// Einde Formulier
} // Einde Als het formulier nog niet gepost is.

// Als Formulier gepost is.

if($_POST['actie'] == "wijzigen") {
$form = mysql_query("SELECT id FROM tijden ORDER BY id"); // Alle id's van de tabel "tijden" selecteren.
while($Form = mysql_fetch_object($form)) {
$sql = "UPDATE tijden SET ";
$sql = "open = '".$_POST['open_$Form->id']."', ";
$sql = "sluit = '".$_POST['sluit_$Form->id']."', ";
$sql = "gesloten = '".$_POST['gesloten_$Form->id']."' ";
$sql = "WHERE id = '$Form->id'";
mysql_query($sql); // Query uitvoeren
} // einde While
// Als alles goed is gegaan.

echo("De openingstijden zijn succesvol gewijzigd!");
echo("<meta http-equiv=\"refresh\" content=\"3;URL=$link=tijdenbeheren\">");
}
// Einde als Formulier gepost is.
?>
Gewijzigd op 01/01/1970 01:00:00 door Joni Fleischer
 
PHP hulp

PHP hulp

21/11/2024 18:10:26
 
- Ariën  -
Beheerder

- Ariën -

24/04/2008 19:03:00
Quote Anchor link
Gebruik eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "open = '".$_POST['open_".$Form->id."']."', ";

Hiermee haal ik de variabelen buiten quotes.

Hoe gaat er verder met je Joni ;). Tijd niet gesproken, en leuk dat ik je hier tref.
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Joni Fleischer

Joni Fleischer

24/04/2008 19:05:00
Quote Anchor link
Helaas werkt dat niet :'(
 
- Ariën  -
Beheerder

- Ariën -

24/04/2008 19:07:00
Quote Anchor link
Die UPDATE-query klopt niet.
Hij overschrijft steeds die string:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$sql = "UPDATE tijden SET ";
$sql .= "open = '".$_POST['open_$Form->id']."', ";
$sql .= "sluit = '".$_POST['sluit_$Form->id']."', ";
$sql .= "gesloten = '".$_POST['gesloten_$Form->id']."' ";
$sql .= "WHERE id = '$Form->id'";

Daarmee klopt het wel.
Trouwens, kom je nog wel eens op MSN Joni ;-) ?
Je kent me vast nog wel :).
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
 
Joni Fleischer

Joni Fleischer

24/04/2008 19:12:00
Quote Anchor link
Haha, ja nu je het zegt :)

Maar je versie werkt nog steeds niet
 
Jesper Diovo

Jesper Diovo

24/04/2008 19:26:00
Quote Anchor link
Variabelen buiten quotes (ook in array-keys). Maak ook gebruik van inspringen, dat maakt je code al een stuk overzichtelijker.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $_POST['veld'.$row['id']];
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.