Hulp nodig met $_POST

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Php knipper

php knipper

16/11/2011 19:28:43
Quote Anchor link
ik krijg een error ( geen wonder want de code is fout )

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 -
 
PHP hulp

PHP hulp

01/10/2022 13:26:11
 
Jeroen VD

Jeroen VD

16/11/2011 19:30:48
Quote Anchor link
gewoon alle " in de $_POST weghalen?

sorry ik zag de enkele niet
maar werkt dit niet?
$_POST["$del[\'id\']"]
Gewijzigd op 16/11/2011 19:32:13 door Jeroen VD
 
Eddy B

Eddy B

16/11/2011 19:31:49
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if ($_POST[$del['id']] == 'on') {
    //dit wordt uitgevoerd
}
?>


Kijk goed naar de verschillen en je snapt het denk ik wel.

verzin voortaan trouwens een betere titel voor je topic's
 
Php knipper

php knipper

16/11/2011 19:32:27
Quote Anchor link
ok
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 []
 
Jeroen VD

Jeroen VD

16/11/2011 19:34:29
Quote Anchor link
@eddy, als $del['id'] een string is, zal deze toch tussen "" moeten staan?
 
Php knipper

php knipper

16/11/2011 19:35:19
Quote Anchor link
Fatal error: Cannot use object of type stdClass as array
 
Jeroen VD

Jeroen VD

16/11/2011 19:35:41
Quote Anchor link
werkt dit niet? (weet niet of zoeits werkt)

$_POST[($del['id'])]
 
Php knipper

php knipper

16/11/2011 19:35:44
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.");
  }
}
}
}

?>
Gewijzigd op 16/11/2011 19:36:06 door php knipper
 
Eddy B

Eddy B

16/11/2011 19:37:27
Quote Anchor link
Probeer meet met tabs te werken om een overzicht te krijgen en beveilig je script wat beter.
Gewijzigd op 16/11/2011 19:40:27 door Eddy B
 
Jeroen VD

Jeroen VD

16/11/2011 19:40:58
Quote Anchor link
@eddy, soms als je een script kopieert dan worden tabs
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
 
Eddy B

Eddy B

16/11/2011 19:44:44
Quote Anchor link
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.
 
Wouter J

Wouter J

16/11/2011 19:48:10
Quote Anchor link
@jeroen, een antwoord op al je vragen:
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)
PHP script in nieuw venster Selecteer het PHP script
1
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


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

php knipper

16/11/2011 21:02:14
Quote Anchor link
ok nu is de code aangepast ( ben al zoon 3 keer opnieuw begonnen )

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
<?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'])."';");
}
}
}
}
}

?>

de code van het vakje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input name="<?php echo $dnn['id']; ?>" type="checkbox" id="checkbox[]" value="1">

helaas doet hij niet's
Gewijzigd op 16/11/2011 21:03:23 door php knipper
 
Victor -

Victor -

17/11/2011 00:19:37
Quote Anchor link
waar haal je $dnn vandaan?
 
Tim Fendt

Tim Fendt

17/11/2011 11:06:19
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'])."';");
?>

Die ; hoeft niet in je query's te staan
 
Php knipper

php knipper

17/11/2011 22:31:41
Quote Anchor link
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
 
- SanThe -

- SanThe -

17/11/2011 22:42:12
Quote Anchor link
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.
 
Php knipper

php knipper

21/11/2011 18:34:59
Quote Anchor link
dat is wel hoe het werkt.
in name staat het id van dat attributie.

hoe kan ik er voor zorgen dat het wel werkt en warom werkt het niet?
 
Mar cel

Mar cel

21/11/2011 20:23:58
Quote Anchor link
Maak er bijvoorbeeld dit van (let op de naam):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input name="row-<?php echo $dnn['id']; ?>" type="checkbox" id="checkbox[]" value="1">


Je verwerking kan er dan zo uitzien:

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
<?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'])."'");
                }
            }
        }
    }
}

?>
Gewijzigd op 21/11/2011 20:25:01 door Mar cel
 
Php knipper

php knipper

21/11/2011 20:28:27
Quote Anchor link
een haakje te veel onderaan

hij doet nog steeds niets? hoe kan dat nu?

bedankt voor de poging
 
Wouter J

Wouter J

21/11/2011 21:02:45
Quote Anchor link
Nogmaals wat Aar zegt:
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.
 

Pagina: 1 2 volgende »



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.