if (isset($_POST['eens'])) werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lisette Schoenmaker

Lisette Schoenmaker

11/12/2017 15:45:54
Quote Anchor link
Wie zou mij willen helpen met het volgende: Onderstaande code werkt wel in Chrome en Safari maar in niet in Internet Explorer en Firefox. Hij zet dat ik iets gepost heb, maar niet wat. Wat doe ik fout?

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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    
    
if (isset($_POST['eens']))

{

   $_SESSION['antwoorden'][$_SESSION['aantal']] = 'eens';
}


if (isset($_POST['oneens']))
{

   $_SESSION['antwoorden'][$_SESSION['aantal']] = 'oneens';
}



?>

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Naamloos document</title>
</head>
<form method="post" action="">
<body>
<table>
<tr>
<td width="250px" align="left"><input type='image' name='eens' value='eens' src='Images/Eens.png'></td>
<td width="250px" align="right"><input type='image' name='oneens' value='oneens' src='Images/Oneens.png'></td>
</tr>
</table>
</body>
</form><
</html>

Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.


Alvast bedankt, Lisette
Gewijzigd op 11/12/2017 17:02:31 door - Ariën -
 
PHP hulp

PHP hulp

23/11/2024 13:05:02
 
Ben van Velzen

Ben van Velzen

11/12/2017 16:40:47
Quote Anchor link
Je form is in ieder geval niet valide, mogelijk verklaart dat het al. Je form moet in zijn geheel binnen je body liggen.
 
Lisette Schoenmaker

Lisette Schoenmaker

11/12/2017 16:50:54
Quote Anchor link
Bedankt voor je reactie Ben. Dat was inderdaad een stomme fout, maar het probleem is daarmee, helaas, niet opgelost.
 
- Ariën  -
Beheerder

- Ariën -

11/12/2017 17:02:57
Quote Anchor link
na je form staat er een <. Dit lijkt me niet correct.

Verder plaats je alleen maar een sessie, en haal je niks op in je formulier.
Gewijzigd op 11/12/2017 17:04:11 door - Ariën -
 
Adoptive Solution

Adoptive Solution

11/12/2017 17:13:07
Quote Anchor link
Zet op regel 16 eens een afsluitend }

En om te controleren of e.e.a. goed aankomt kan je ook een echo $_POST['eens'] kunnen invoegen.
 
Gerhard l

gerhard l

11/12/2017 17:19:21
Quote Anchor link
Weet niet of dit een gedeelte van je code is, anders ter info, begin met session_start(); En de eerste if wordt niet afgesloten.

Als ik jou was zou ik je $_POST eens dumpen, ik vermoed dat de input type image wordt omgezet naar, eens_x & eens_y, je moet controleren of die isset zijn ipv $_POST['eens'].
 
Adoptive Solution

Adoptive Solution

11/12/2017 17:39:12
Quote Anchor link
Dan krijg je zoiets :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [eens_x] => 16
    [eens_y] => 11
    [eens] => eens
)

Array
(
    [oneens_x] => 17
    [oneens_y] => 5
    [oneens] => oneens
)
 
Lisette Schoenmaker

Lisette Schoenmaker

11/12/2017 18:53:20
Quote Anchor link
Gerhard l op 11/12/2017 17:19:21:
Als ik jou was zou ik je $_POST eens dumpen, ik vermoed dat de input type image wordt omgezet naar, eens_x & eens_y, je moet controleren of die isset zijn ipv $_POST['eens'].


Dit is het inderdaad! Ik heb nu: if (isset($_POST['eens_x'])) en dit werkt.

Super bedankt!
 
Thomas van den Heuvel

Thomas van den Heuvel

12/12/2017 00:22:14
Quote Anchor link
Om dit te voorkomen zou je ook een button kunnen gebruiken? Dan heb je de toevoegingen _x en _y niet. Het is namelijk niet echt een image map waar je op klikt of wel?

EDIT: gotcha: als iemand naar de image tabt en op enter drukt krijg je nog steeds de oorspronkelijke naam geloof ik, dus dan werkt je controle op _x ook niet meer. Ik zou dus gaan voor een oplossing die altijd werkt (button).
Gewijzigd op 12/12/2017 00:23:35 door Thomas van den Heuvel
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/12/2017 00:34:26
Quote Anchor link
Het is zo anno 1995 die form type=image [duim naar beneden]

Toevoeging op 12/12/2017 00:36:22:

Gebruik dan liever een stukje javascript en zet een click event op de image waarop je formulier ge-submit wordt
 
Thomas van den Heuvel

Thomas van den Heuvel

12/12/2017 00:45:09
Quote Anchor link
Je hebt niet eens JavaScript nodig. Dit kan met HTML CSS, ofwel via <button type="submit" name="eens"><img src ..></button> of desnoods met een class voor de afbeelding en wat tekst tussen de tags.
 
Ward van der Put
Moderator

Ward van der Put

12/12/2017 07:38:25
Quote Anchor link
Je kunt het ook oplossen met twee verborgen keuzerondjes (boven) die je in- en uitschakelt met twee aan de keuzerondjes gekoppelde labels rond de afbeeldingen (onder):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<form method="post">
  <div style="display:none">
    <input name="mening" id="eens" type="radio" value="eens">
    <input name="mening" id="oneens" type="radio" value="oneens">
  </div>
  <label for="eens">
    <img alt="Eens" src="ThumbUp.png">
  </label>
  <label for="oneens">
    <img alt="Oneens" src="ThumbDown.png">
  </label>
</form>


Het kan zelfs met alleen CSS: Use images instead of radio buttons
 



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.