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?


<?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>



Alvast bedankt, Lisette
Je form is in ieder geval niet valide, mogelijk verklaart dat het al. Je form moet in zijn geheel binnen je body liggen.
Bedankt voor je reactie Ben. Dat was inderdaad een stomme fout, maar het probleem is daarmee, helaas, niet opgelost.
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.
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.
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'].
Dan krijg je zoiets :

Array
(
    [eens_x] => 16
    [eens_y] => 11
    [eens] => eens
)

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

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!

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).
Het is zo anno 1995 die form type=image [duim naar beneden]

[size=xsmall]Toevoeging op 12/12/2017 00:36:22:[/size]

Gebruik dan liever een stukje javascript en zet een click event op de image waarop je formulier ge-submit wordt
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.

Reageren