Kan iemand me helpen? ik moet 2 strings in 1 echo weergeven maar hij pakt er maar 1

Dit is mijn code ik heb ajax jquery gebruikt en het werkt niet

index.ctr.php

<?
if (isset($_POST['email'])){
	
	$gegevens = $_POST['email'] . $_POST['order-hash'];

   echo $gegevens;
   exit;
}
?> 

index.tpl.php


<center><h2>Formulier</h2>

<form method="post" action="/leren">

 Email: 
 <input type="text" id="email" name="email" class="resend-tickets-input"></p>
  <br>
  
 Ordernummer: 
 <input type="text" id="order-hash" name="order-hash" class="resend-tickets-input"></p>
  <br><br>
</form>
 <button>Verzenden</button>
 </center>
<script>
$(document).ready(function(){

	console.log("eey");

    $("button").click(function(){
        $.ajax({
			type:'POST',
			url: '/leren',
			data:{"email": $('#email').val() , "ordernummer": $('#order-hash').val(),},   
			success: function(data){
				alert(data);

        }});
		
    });
	
});
</script>

Bestaan beide $_POST variabelen wel?
<?
if (isset($_POST['email'])){

$email= $_POST['email'];
$order_hash = $_POST['order-hash'];

$gegevens = $_POST['email'] . $_POST['order-hash'];

echo $gegevens;
exit;
}
?>



Zo moeten ze toch wel bestaan?
Je geeft in je ajaxcall the waarde van input 'order-hash' mee als attribuut ordernummer.

Je zult deze dus ook als $_POST['ordernummer'] moeten benaderen
Bedankt spike spade het werkt !

[size=xsmall]Toevoeging op 30/03/2018 16:37:37:[/size]

<center><h2>Formulier</h2>

<form method="post" action="/leren">

Email:
<input type="text" id="email" name="email" class="resend-tickets-input"></p>
<br>

Ordernummer:
<input type="text" id="order-hash" name="order-hash" class="resend-tickets-input"></p>
<br><br>
</form>
<button>Verzenden</button>
</center>
<script>
$(document).ready(function(){

console.log("eey");

$("button").click(function(){
$.ajax({
type:'POST',
url: '/leren',
data:{"email": $('#email').val() , "order-hash": $('#order-hash').val(),},
success: function(data){
alert(data);

}});

});

});
</script>
Top!

Even een sidenote. Zorg even dat je je HTML ook netjes indent enzo. Dat maakt het veel fijner om in te werken. En ook fijner voor andere developers (zoals die hier op het forum) om jou code door te nemen.

Je had de inhoud van $_POST kunnen checken met een var_dump, dan had je het waarschijnlijk ook zelf gevonden.

Momenteel heb je enkel een check op $_POST['email']. Zorg ervoor dat je elke input eerst checkt.
Wellicht beter is dat je alle data van het formulier rechtstreeks serialize()d, dan blijven alle velden ook hun naam behouden, dat geeft dan ook minder ruimte voor potentiële verwarring, die je in principe zelf creëert doordat je dingen gaat hernoemen. Oftewel: maak het jezelf makkelijk.

Reageren