Probleem met $_GET()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ben Elsinga

Ben Elsinga

14/01/2008 21:57:00
Quote Anchor link
Hallo,
Ik zit al een tijdje te klooien en heb de tuts gelezen,
maar het wil nog niet echt lukken.
Ik heb de volgende URl gecreëerd door een form:

http://game-verslaving.nl/admin/
onderzoeks-
gegevens.php?delete=Delete+selected&todel=4&todel=5

Het script is iets uitgebreider, maar eerst wil ik de geselecteerde aantalen op het scherm krijgen.
In dit geval gaat het om '4' & '5'
Ik heb dit onderstaand scriptje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_POST['delete'])){

         foreach($_GET['todel'] as $check){
         echo $check;
         }

}
else{
        echo "post['delete'] bevat geen waarde.";
}

?>

Als resultaat zou hij toch: 45
moeten weergeven, maar er wordt helemaal niets weergegeven.
Ziet iemand wat ik fout doe? Ik namelijk niet.

Alvast bedankt!
Quote:
edit: URL opgesplitst, google adds zaten er voor:)
Gewijzigd op 01/01/1970 01:00:00 door Ben Elsinga
 
PHP hulp

PHP hulp

28/03/2024 23:02:26
 
Jan Koehoorn

Jan Koehoorn

14/01/2008 22:00:00
Quote Anchor link
Je url klopt niet. Er staat twee keer todel in.
 
Ben Elsinga

Ben Elsinga

14/01/2008 22:03:00
Quote Anchor link
ok...
Maar het gaat om een manier om verschillende regels te verwijderen,
hou zou de URL eruit moeten zien als ik regel 4 & 5 Wil verwijderen?

iets van www.url.nl?todel=4,5 ?
 
Jan Koehoorn

Jan Koehoorn

14/01/2008 22:05:00
Quote Anchor link
Ik denk dat je een array wilt versturen met daarin de waarden van items (records?) die gewist moeten worden. Het is dan waarschijnlijk handiger om dat via de POST methode te doen. Via GET kun je ook wel een array versturen, maar het gaat iets moeilijker.
Edit:
Ik heb trouwens net even getest, en jouw methode met een komma tussen de getallen kan ook.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Ben Elsinga

Ben Elsinga

14/01/2008 22:22:00
Quote Anchor link
Mag ik je vragen hoe je dat getest hebt?
Ik probeer het nu zelf en het wil niet lukken...

Inderdaad ik heb allemaal records die ik met een checkbox kan aanvinken en dan wil verwijderen.

Dit wordt dan met $_POST verzonden, maar het weer opvragen wil niet lukken.
Heb ook de 2 tuts die op phphulp staan erbij...
 
Jan Koehoorn

Jan Koehoorn

14/01/2008 22:27:00
Quote Anchor link
Ik zal een voorbeeldje maken voor je. Moment.
Edit:
Komtie:

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
41
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Checkboxen ophalen</title>
</head>

<body>
    <h1>Checkboxen ophalen</h1>
    <?php
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            if (isset ($_POST['delete'])) {
                foreach ($_POST['delete'] as $item) {
                    echo '<p>Item met waarde ' . $item . ' kan gewist worden</p>';
                }
            }
        }

    ?>

    <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
        <p>
            <input id="delete1" name="delete[]" type="checkbox" value="1" />
            <label for="delete1">een</label>
        </p>
        <p>
            <input id="delete2" name="delete[]" type="checkbox" value="2" />
            <label for="delete2">twee</label>
        </p>
        <p>
            <input id="delete3" name="delete[]" type="checkbox" value="3" />
            <label for="delete3">drie</label>
        </p>
        <p>
            <input id="delete4" name="delete[]" type="checkbox" value="4" />
            <label for="delete4">vier</label>
        </p>
        <p>
            <input type="submit" value="verzenden" />
        </p>
    </form>
</body>
</html>

Online voorbeeld: checkboxen ophalen
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Ben Elsinga

Ben Elsinga

14/01/2008 22:41:00
Quote Anchor link
Dank je Jan! Ik zal er mee aan het knutselen gaan.
Het eerste verschil zit em al in het volgende:

(jij hebt een HTML table, ik een PHP, ik neem aan dat het geen verschil maakt?)
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
<?php
Bij de table:

echo "<form method='_POST'>

veranderd in:

echo "
<form method='_POST' action='$_SERVER["REQUEST_URI"]'>

En bij het ophalen van de gegevens heb ik:

$_SERVER['REQUEST_METHOD'] = 'POST';

?>


Zou het daar in kunnen zitten?
 
Jan Koehoorn

Jan Koehoorn

14/01/2008 22:54:00
Quote Anchor link
Dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo "<form method='_POST'>
?>

moet natuurlijk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">';
?>

zijn.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Ben Elsinga

Ben Elsinga

14/01/2008 23:02:00
Quote Anchor link
Nja het is een bewerking van een bestaand script, om alles te herschrijven is wel heel veel werkt.
Maar inderdaad dat kon ik wel veranderen. Had ik ook al gedaan voor je poste:)
Volgens mij zit em de fout hier in:

Door een while loop komt dit aan het eind van elk recort:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<td><input type="checkbox" class="check" name="todel" value="'.$rows.'"></td>';
?>


Waarschijnlijk de ' en de " verkeerd om... maar dat kan niet anders om anders loopt het script niet meer:s
 



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.