[PHP/HTML] $_POST values worden niet meegegeven

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Ik laat PHP dynamisch een form opstellen met een hele boel selectjes die er zo uit zien:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<form action="verwerking.php" method="post" name="somename" id="somename">
<table>
<tr>
    <td>bla bla bla </td>
    <td>wat uitleg</td>
    <td><select id="Input_Manager5" name="Input_Manager5">
        <option value="0">NEE</option>
        <option value="1">JA</option>
     </select></td>
</tr>
</table>
</form>


en dan vang ik dit allemaal op in het verwerkingsbestand met volgend stukje code:
PHP:
1
2
3
foreach($_POST as $name => $value){
    echo $name . ' ' . $value . '<br/>';
}


Maar ik krijg echter altijd de "0" value door... Het maakt niet uit wat ik probeer, ik krijg altijd de string "0" terug...
Heeft iemand een idee waar dit aan kan liggen? Ik heb al van alles geprobeerd, al honderd keer de form code doorgelopen, nagelezen hoe select werkt, nagevraagd bij een collega van me en beiden zijn we er vrij zeker van dat de code correct is (lees: we zien niet wat er fout is)
Het is volgens mij echt iets belachelijks en het werkt op mijn zenuwen dat ik iets simpels als een post variabele opvangen niet wil lukken...

Just me


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 12:46
Ik zie nergens een submitbutton die iets posts?

[ Voor 6% gewijzigd door Avalaxy op 29-11-2011 09:36 ]


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Avalaxy schreef op dinsdag 29 november 2011 @ 09:36:
Ik zie nergens een submitbutton die iets posts?
True, die staat niet in de post, maar die is er wel

HTML:
1
<input type="submit" value="verzend"/>

Just me


Acties:
  • 0 Henk 'm!

  • magiel
  • Registratie: Januari 2005
  • Laatst online: 20-09 08:19
code:
1
<option value="0">NEE</option>


Laat je toevallig de selectbox op NEE staan?

[ Voor 22% gewijzigd door magiel op 29-11-2011 09:45 ]

Ik wil het er _niet_ over hebben.


Acties:
  • 0 Henk 'm!

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 18-09 09:13

TwoR

Gekleurde stippen

Werkt hier prima als ik de selectbox op JA zet dan krijg ik gewoon 1 terug.

Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
TwoR schreef op dinsdag 29 november 2011 @ 09:47:
Werkt hier prima als ik de selectbox op JA zet dan krijg ik gewoon 1 terug.
Dat zou je verwachten he, maar hier bij mij doet hij het niet :p

Just me


Acties:
  • 0 Henk 'm!

  • ReTechNL
  • Registratie: December 2008
  • Laatst online: 15-09 11:22
gebruik anders even tijdelijk:
code:
1
<pre><?php print_r($_POST); ?></pre>

Acties:
  • 0 Henk 'm!

  • SjaakCobain
  • Registratie: Augustus 2004
  • Laatst online: 09-07 09:29
Galen schreef op dinsdag 29 november 2011 @ 09:41:
[...]


True, die staat niet in de post, maar die is er wel

HTML:
1
<input type="submit" value="verzend"/>
Ik neem aan dat ie wel binnen de form tags staat?

Be kind to your knees, you’ll miss them when they’re gone.


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
SjaakCobain schreef op dinsdag 29 november 2011 @ 09:56:
[...]

Ik neem aan dat ie wel binnen de form tags staat?
Jazeker :p
ReTechNL schreef op dinsdag 29 november 2011 @ 09:54:
gebruik anders even tijdelijk:
code:
1
<pre><?php print_r($_POST); ?></pre>
geeft ook steeds "0" weer

[ Voor 37% gewijzigd door Dorgaldir op 29-11-2011 09:58 ]

Just me


Acties:
  • 0 Henk 'm!

  • Twan V
  • Registratie: Oktober 2001
  • Laatst online: 16-09 15:39

Twan V

...en er stralend uitzien

Dump even de complete uitkomst van die print_r, dat kijkt wat makkelijker.
Het is sowieso wat lastig zoeken met delen dummycode i.p.v. het gehele originele form.

[ Voor 40% gewijzigd door Twan V op 29-11-2011 10:01 ]

Blaat het niet dan schaadt het niet...
Reflex Discoshow - Het beste wat je bruiloft kan overkomen


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Array
(
    [Input_Manager1] => 0
    [Input_Manager2] => 0
    [Input_Manager3] => 0
    [Input_Manager4] => 0
    [Input_Manager5] => 0
    [Input_Manager6] => 0
    [Input_Manager10] => 0
    [Input_Manager9] => 0
    [Input_Manager8] => 0
    [Input_Manager7] => 0
    [Input_Manager11] => 0
    [Input_Manager12] => 0
    [Input_Manager13] => 0
    [Input_Manager14] => 0
    [Input_Manager16] => 0
    .......
    [mw_id] => 100013
)


ik weet dat het lastig is met dummy code maar de gehele code zou nogal een hele lap zijn :p

[ Voor 9% gewijzigd door Dorgaldir op 29-11-2011 10:11 ]

Just me


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:21

MueR

Admin Tweakers Discord

is niet lief

Doe me eens een lol en zet ergens een geisoleerde testcase neer. Ik weet vrijwel zeker dat je zelf een stomme fout gemaakt hebt.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
MueR schreef op dinsdag 29 november 2011 @ 10:22:
Doe me eens een lol en zet ergens een geisoleerde testcase neer. Ik weet vrijwel zeker dat je zelf een stomme fout gemaakt hebt.
dat is waarschijnlijk zo, ik zal eens zien of dit mogelijk is, want er zijn nogal wat verbindingen mee gemoeid en dergelijke.

hier zou je het moeten kunnen zien:
http://test.kwaliteitsmetersensire.nl/test_b_e_b.php

[ Voor 11% gewijzigd door Dorgaldir op 29-11-2011 10:31 ]

Just me


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Dat is niet geisoleerd...

Acties:
  • 0 Henk 'm!

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 18-09 09:13

TwoR

Gekleurde stippen

Geisoleerde testcase:

In een bestandje genaamd test.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form action="test.php" method="post" name="somename" id="somename"> 
<table> 
<tr> 
    <td>bla bla bla </td> 
    <td>wat uitleg</td> 
    <td><select id="Input_Manager5" name="Input_Manager5"> 
        <option value="0">NEE</option> 
        <option value="1">JA</option> 
     </select></td> 
</tr> 
</table> 

<input type="submit" value="verzend"/>
</form>

<?php 
foreach($_POST as $name => $value){ 
    echo $name . ' ' . $value . '<br/>'; 
} 
?>

Acties:
  • 0 Henk 'm!

  • Miyamoto
  • Registratie: Februari 2009
  • Laatst online: 20-09 23:31
omg...

Je hebt meerdere submit buttons, dat lijkt me niet mogen. Althans, dat ben ik nog nooit tegen gekomen. Je ziet ook dat als je de laatste velden op 'JA' zet, dat die wel keurig op 1 worden gezet. Laat 1 submit staan en het zal waarschijnlijk werken.

Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Miyamoto schreef op dinsdag 29 november 2011 @ 10:37:
omg...

Je hebt meerdere submit buttons, dat lijkt me niet mogen. Althans, dat ben ik nog nooit tegen gekomen. Je ziet ook dat als je de laatste velden op 'JA' zet, dat die wel keurig op 1 worden gezet. Laat 1 submit staan en het zal waarschijnlijk werken.
Heb ik al geprobeerd, hielp niets.

Just me


Acties:
  • 0 Henk 'm!

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 18-09 09:13

TwoR

Gekleurde stippen

Galen schreef op dinsdag 29 november 2011 @ 10:26:
[...]


dat is waarschijnlijk zo, ik zal eens zien of dit mogelijk is, want er zijn nogal wat verbindingen mee gemoeid en dergelijke.

hier zou je het moeten kunnen zien:
http://test.kwaliteitsmetersensire.nl/test_b_e_b.php
Waarom al die submit buttons haal ze allemaal eens weg behalve de laatste.

- deze reacties kwam te laat zie ik -

[ Voor 4% gewijzigd door TwoR op 29-11-2011 10:39 ]


Acties:
  • 0 Henk 'm!

Verwijderd

En hoe genereer je de forms? Misschien dat het handiger is dat we die code hebben, dan dat we tussen al die tags naar de fout moeten zoeken.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Oftewel zoals MueR al aangeeft, maak een geisoleerde testcase i.p.v. alle code of het gehele formulier neer te zetten. Debuggen moet je zelf doen dus maak een zo klein mogelijk formulier met zo weinig mogelijk code.

[ Voor 5% gewijzigd door Creepy op 29-11-2011 10:46 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
ik heb het script op http://test.kwaliteitsmetersensire.nl/test_b_e_b.php wat gestript tot de basis van wat ik nodig heb, en zelfs dan werkt het niet :p
Zoals eerder vermeld door rooot werken de onderste wel, maar de bovenste niet..

Just me


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 19-09 21:26

DataGhost

iPL dev

http://validator.w3.org
gooi 'm daar eens doorheen, ik snap eigenlijk niet echt dat je dit zelf niet zag. en dan zonder je php-melding die voor je doctype staat

[ Voor 24% gewijzigd door DataGhost op 29-11-2011 11:10 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Net getest, en alles geeft gewoon 1 terug..

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Volgens mij gebruik je meerdere keren dezelfde name voor je selects, ze overschrijven elkaar simpelweg.

Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Cartman! schreef op dinsdag 29 november 2011 @ 11:14:
Volgens mij gebruik je meerdere keren dezelfde name voor je selects, ze overschrijven elkaar simpelweg.
Damn, je kan wel eens gelijk hebben...

Just me


Acties:
  • 0 Henk 'm!

Verwijderd

Als je nu ook nog even een .PHP_EOL achter je echo gooit, valt de broncode tenminste nog een beetje te lezen

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Gewoon standaard debugwerk hoor...

Acties:
  • 0 Henk 'm!

Verwijderd

Cartman! schreef op dinsdag 29 november 2011 @ 11:14:
Volgens mij gebruik je meerdere keren dezelfde name voor je selects, ze overschrijven elkaar simpelweg.
Dat is juist;

code:
1
2
3
4
5
6
7
8
9
<td>
61 Ondersteuning bij wassen</td>
<td>
<select id="Input_Manager1" name="Input_Manager1">
<option value="0">
NEE</option>
<option value="1">
JA</option>
</select>


code:
1
2
3
4
5
6
7
8
1 Ondersteuning bij wassen</td>
<td>
<select id="Input_Manager1" name="Input_Manager1">
<option value="0">
NEE</option>
<option value="1">
JA</option>
</select>


Waarom haal je hetzelfde twee keer?
En je was je het niet opgevallen dat je 157 selects hebt, en maar 99 resultaten krijgt?

Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Verwijderd schreef op dinsdag 29 november 2011 @ 11:32:
[...]

Dat is juist;

code:
1
2
3
4
5
6
7
8
9
<td>
61 Ondersteuning bij wassen</td>
<td>
<select id="Input_Manager1" name="Input_Manager1">
<option value="0">
NEE</option>
<option value="1">
JA</option>
</select>


code:
1
2
3
4
5
6
7
8
1 Ondersteuning bij wassen</td>
<td>
<select id="Input_Manager1" name="Input_Manager1">
<option value="0">
NEE</option>
<option value="1">
JA</option>
</select>


Waarom haal je hetzelfde twee keer?
En je was je het niet opgevallen dat je 157 selects hebt, en maar 99 resultaten krijgt?
Ik stel de vragen niet op, ze komen gewoon uit de database, het gaat om verplichte en optionele vragen, en blijkbaar werd de teller gereset bij de overgang, waardoor ik niet direct zag dat er meer vragen waren dan resultaten.
Het was inderdaad echt iets heel dom :$

Just me


Acties:
  • 0 Henk 'm!

  • evolution536
  • Registratie: Maart 2009
  • Laatst online: 05-06-2024

evolution536

besh besh

Ik ben geen PHP expert, maar probeer het is op deze manier:

PHP:
1
2
3
<?php
     echo $_POST['Input_Manager5'] == 0 ? 'NEE' : 'JA';
?>


of:

PHP:
1
2
3
4
5
6
7
8
<?php
     $i = 0;
     while ($i < count($_POST))
     {
          echo ($_POST['Input_Manager5'] != "" ? $_POST['Input_Manager5'] : 'Geen waarde';
          $i++;
     }
?>


Dit zal zeker niet zijn wat je waarschijnlijk wil, aangezien je een loop gebruikt, maar dan weet je wel of daar het probleem zit. (Je gebruikt namelijk in de loop gewoon $_POST, en niet $_POST['iets']).

[ Voor 23% gewijzigd door evolution536 op 29-11-2011 11:43 ]


Acties:
  • 0 Henk 'm!

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Doet je server nog iets met de parameters? Het ziet er naar uit dat hij vaak misgaat wanneer velden met 'Input' beginnen. Een kleine wijziging naar 'input' (zonder hoofdletter) lost het op. Het lijkt mij zinvol om toch nog even te onderzoeken waarom dit gebeurd.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Anders lezen jullie het topic even, de oplossing is allang gevonden: geen dubbele names gebruiken.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarbij wel nog gezegd kan worden dat meer dan 1 submit button niet boeit itt tot wat sommigen hier beweren...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 19-09 11:00

Ventieldopje

I'm not your pal, mate!

RobIII schreef op donderdag 01 december 2011 @ 19:33:
Waarbij wel nog gezegd kan worden dat meer dan 1 submit button niet boeit itt tot wat sommigen hier beweren...
Correct, de naam van het element wordt de key van de $_POST array, gebruik je hem dubbel dan wordt hij gewoon overschreven. Geef je een element geen naam wordt hij ook niet opgenomen in de $_POST ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ventieldopje schreef op donderdag 01 december 2011 @ 19:48:
Correct, de naam van het element wordt de key van de $_POST array, gebruik je hem dubbel dan wordt hij gewoon overschreven. Geef je een element geen naam wordt hij ook niet opgenomen in de $_POST ;)
HTML:
1
2
3
4
<input type="hidden" name="id" value="123">

<input type="submit" name="action" value="Opslaan">
<input type="submit" name="action" value="Verwijderen">

Afhankelijk van de action-value (dus $_POST['action']) weet je wat de gebruiker geklikt heeft en wat er moet gebeuren met "item 123": Verwijderen of Opslaan.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Dit werkt in php trouwens wel (niet dat ik dit voorstel als oplossing):
HTML:
1
2
3
4
<input type="text" name="account[first_name]"/>
<input type="text" name="account[last_name]"/>
<label><input type="checkbox" name="choice[]" value="1"/> 1</label>
<label><input type="checkbox" name="choice[]" value="2"/> 2</label>
Met andere server side technologieën heb ik het nog niet getest. Maar in php geeft dit een (associative) array.

Ik heb nog nergens gelezen of dit tegen de standaard in gaat.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Die werking is toch algemeen bekend? En tegen welke standaard zou het ingaan, hoe PHP dat afvangt mogen ze toch zelf weten :)
Pagina: 1