waarom post hij de string niet?

Status
Niet open voor verdere reacties.

stevebravo

Gebruiker
Lid geworden
16 jan 2010
Berichten
156
ik heb deze basic php pagina gemaakt.. die je kunt kopieren en plakken .. waarom laat deze na het indrukken van de button niet een text boven het scherm zien: jaja?

bedankt


test.php

PHP:
<?php 
if (isset($_POST["submit"]))
{
	$jaja = "jaja";
	print $jaja;
	
		
}
else
{
print "pauper";
$gebruikersnaam = "";
$wachtwoord = "";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> </title>

</head>

<body>


<form id="login" method="post" action="test.php">
<fieldset>

<label for="gebruikersnaam" ><span>Gebruikersnaam</span>
<input type="text" name="gebruikersnaam" /></label>
<label for="wachtwoord"><span>Wachtwoord</span>
<input type="password" name="wachtwoord"  /></label>
</fieldset>
<input type="submit" id="knop" value="Inloggen"/>
</form>

</body>
</html>
 
Laatst bewerkt:
De keys van $_POST en $_GET worden gevuld met de names van een input.

Dus als je dit doet werkt het wel:

HTML:
<input type="submit" name="submit" id="knop" value="Inloggen"/>

Dit omdat een type meerdere keren voor kan komen op een pagina en je ze anders niet kunt onderscheiden.


Overigens als je alleen wil controleren of er een formulier is ingevuld en niet specifiek wat voor formulier, kun je beter dit gebruiken:

PHP:
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {}

Dat controleert of iemand een formulier invult en niet of iemand op de knop drukt. Niet iedereen drukt namelijk op de knop en sommige browsers sturen de knop niet mee als je em niet fysiek indrukt (bijv omdat je op enter drukt in een text veld oid)
 
De keys van $_POST en $_GET worden gevuld met de names van een input.

Dus als je dit doet werkt het wel:

HTML:
<input type="submit" name="submit" id="knop" value="Inloggen"/>

Dit omdat een type meerdere keren voor kan komen op een pagina en je ze anders niet kunt onderscheiden.


Overigens als je alleen wil controleren of er een formulier is ingevuld en niet specifiek wat voor formulier, kun je beter dit gebruiken:

PHP:
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {}

Dat controleert of iemand een formulier invult en niet of iemand op de knop drukt. Niet iedereen drukt namelijk op de knop en sommige browsers sturen de knop niet mee als je em niet fysiek indrukt (bijv omdat je op enter drukt in een text veld oid)

bedankt voor je input :) ik was idd de name tag vergeten.. hoe stom..

maaruh dat laatste begrijp ik niet helemaal.. kan je een situatie schetsen wanneer het handiger is om server te gebruiken ipv post?
 
Eigenlijk altijd wanneer je wilt nagaan of iemand een formulier heeft ingestuurd. Dus stel dat je een formulier hebt met naam / email en een knop "schrijf me in" dan controleer je via $_SERVER of er een formulier is ingestuurd, en niet via het drukken van de knop, want het is niet relevant of iemand op de knop drukte, je wil weten of hij de rest van het formulier stuurt.

Als je als stelregel aanhoudt dat je alleen als er meerdere knoppen op het formulier staan je controleert of iemand op de knop heeft gedrukt dan moet het wel goedkomen. Of het verstandig is om meerdere knoppen op een formulier te hebben is dan weer een tweede, maar goed. Het is een handige vuistregel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan