Hulp nodig met $_POST
if($_POST["'".$del['id']."'"] == "on"){
hoe kan ik de post juist maken zo dat de " en de ' ook juist zijn ?
alvast bedankt
Gewijzigd op 25/11/2011 11:12:45 door Chris -
sorry ik zag de enkele niet
maar werkt dit niet?
$_POST["$del[\'id\']"]
Gewijzigd op 16/11/2011 19:32:13 door Jeroen VD
Kijk goed naar de verschillen en je snapt het denk ik wel.
verzin voortaan trouwens een betere titel voor je topic's
ik wist dat het fout was maar ik wist niet hoe ik het op kon lossen
bedankt
Toevoeging op 16/11/2011 19:34:01:
ik heb nog steeds een fout met de []
@eddy, als $del['id'] een string is, zal deze toch tussen "" moeten staan?
Fatal error: Cannot use object of type stdClass as array
$_POST[($del['id'])]
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['actie'] == "klaar") {
$pakleden = mysql_query("SELECT * FROM leningen WHERE geleend_bij = '".mysql_real_escape_string($id_ingelogd)."' and id_lener = '".mysql_real_escape_string($id_lener)."'");
while($del = mysql_fetch_object($pakleden)){
if ($_POST[$del['id']] == 'on') {
echo $email;
mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".$_POST[$del['id']]."'") or die("Mislukt.");
}
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['actie'] == "klaar") {
$pakleden = mysql_query("SELECT * FROM leningen WHERE geleend_bij = '".mysql_real_escape_string($id_ingelogd)."' and id_lener = '".mysql_real_escape_string($id_lener)."'");
while($del = mysql_fetch_object($pakleden)){
if ($_POST[$del['id']] == 'on') {
echo $email;
mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".$_POST[$del['id']]."'") or die("Mislukt.");
}
}
}
}
?>
Gewijzigd op 16/11/2011 19:36:06 door php knipper
Gewijzigd op 16/11/2011 19:40:27 door Eddy B
verwijderd (net als hier)
als je mysql_fetch_object() veranderd in mysql_fetch_array(), werkt hij dan niet?
Gewijzigd op 16/11/2011 19:41:25 door Jeroen VD
Ik heb zelf object(); array(); en assocs(); gebenchmarkt en daaruit kwam mysql_fetch_assocs(); als de snelste en efficiëntste, dus die raad ik aan.
Quote:
als $del['id'] een string is, zal deze toch tussen "" moeten staan?
Inderdaad, maar $del['id'] is geen string maar een variabele. Alleen directe strings moeten tussen quotes (en dan ook het liefst nog single quotes), dus:
Code (php)
1
2
3
4
2
3
4
$naam = 'jeroen'; // Jeroen is een string, tussen tussen quotes
echo $naam; // Naam is een variabele, dus zonder quotes
$users = Array('jeroen', 'eddy', 'wouter'); // De namen zijn strings, dus tussen quotes
var_dump($users); // $users is een variabele, dus zonder quotes
echo $naam; // Naam is een variabele, dus zonder quotes
$users = Array('jeroen', 'eddy', 'wouter'); // De namen zijn strings, dus tussen quotes
var_dump($users); // $users is een variabele, dus zonder quotes
Quote:
soms als je een script kopieert dan worden tabs verwijderd (net als hier)
Zodra je iets tussen code tags zet is dit niet zo.
@TS,
1) Je hebt het al gelijk in de titel. Wat een rare post
2) Verzin een betere titel een echte samenvatting
3) Wat heb je al bereikt?
4) Wat is de foutmelding?
5) De rest van het standaard rijtje dat al 100x aan je verteld is...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST[$controle['id']]) && $_POST[$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."';");
if (!$sql) {
('SQL error: ' . mysql_error());
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."';");
}
}
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST[$controle['id']]) && $_POST[$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."';");
if (!$sql) {
('SQL error: ' . mysql_error());
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."';");
}
}
}
}
}
?>
de code van het vakje
helaas doet hij niet's
Gewijzigd op 16/11/2011 21:03:23 door php knipper
waar haal je $dnn vandaan?
Code (php)
1
2
3
4
2
3
4
<?php
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."';");
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."';");
?>
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."';");
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."';");
?>
Die ; hoeft niet in je query's te staan
Victor - op 17/11/2011 00:19:37:
waar haal je $dnn vandaan?
van de query die alle gegevens uit de database haalt en ze door een wile weergeeft
ik heb de ; eruit gehaalt helaas nog geen post
Ik heb niet alles bekeken maar is het zo dat jij in het formulier namen hebt (name="...") die alleen uit cijfers bestaan? Dat gaat dan niet werken.
in name staat het id van dat attributie.
hoe kan ik er voor zorgen dat het wel werkt en warom werkt het niet?
Je verwerking kan er dan zo uitzien:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
('SQL error: ' . mysql_error());
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
}
}
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
while($controle = mysql_fetch_array($req)) {
if(isset($_POST['row-'.$controle['id']]) && $_POST['row-'.$controle['id']] == '1') {
if ($_POST['actie'] == 'klaar') {
$sql = mysql_query("UPDATE leningen SET status_lening = 2 WHERE id='".mysql_real_escape_string($controle['id'])."'");
if (!$sql) {
('SQL error: ' . mysql_error());
} else {
$terug_tijd = date('d-m-o G:i:s');
$sql1 = mysql_query("UPDATE leningen SET terug = '".$terug_tijd."' WHERE id='".mysql_real_escape_string($controle['id'])."'");
}
}
}
}
}
?>
Gewijzigd op 21/11/2011 20:25:01 door Mar cel
hij doet nog steeds niets? hoe kan dat nu?
bedankt voor de poging
Een name attribute mag niet alleen uit cijfers bestaan, het moet sowieso beginnen met een letter.
En daarnaast moet je nog steeds je topic titel aanpassen, dit is al meerdere keren gevraagd.