Toon posts:

php pakt $_GET niet

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

Verwijderd

Topicstarter
beste tweakers, momenteel ben ik php aan het leren en aangekomen bij formulieren.

Ik heb dit nu:

<?php
if(!$_GET['submit'])
{
?>
<html>
<head>
<title>wie?!</title>
</head>
<form action="wie.php" method="get">
Naam:
<input type="text" naam="naam">
<br>
alias:
<input type="text" naam"alias">
<br>
Geslacht:
<select name="geslacht">
<option>Meneer</option>
<option>Mevrouw</option>
</select>
<br>
Leeftijd:
<input type="txt" name="leeftijd" size="3"
<br>
<input type="submit" value="verstuur" name="submit">
<input type="reset" name="Reset"> </form>
</html>
<?php
}
else
{
$naam =$_GET['naam'];
$alias =$_GET['alias'];
$geslacht =$_GET['geslacht'];
$leeftijd =$_GET['leeftijd'];
print "Hallo hoe gaat het met je " .$naam.
"<br>";
print "Ik vind " .$alias. " een leuke bijnaam!
<br>";
print "U bent " . $leeftijd. " jaar
oud.<br>";
}
?>


Als ik deze nu bekijk in m'n browser, geeft hij alleen de get weer van $leeftijd, terwijl de rest naar mijn idee ook gewoon klopt.

Ik heb dit getest op een apache localhost, en op mijn betaalde host, bij beide het zelfde resultaat.
Weet iemand van jullie waardoor dit komt?

  • HielkeJ
  • Registratie: Juli 2001
  • Niet online
Wat krijg je op deze manier te zien?

PHP:
1
2
3
4
5
<?php
print '<pre>';
print_r ($_GET);
print '</pre>';
?>

Verwijderd

Topicstarter
Waar moet ik die tussen plaatsen of vervangen. Srry, maar ik ben nog maar net met php bezig, en moet dus nog veel leren

Verwijderd

typo:
<input type="text" naam"alias">

= teken vergeten...

ik zie ook dat je niet erg netjes programmeert kwa spaties en indent enzo, schoon die code eens wat op!

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 28-04 20:21

Kippenijzer

McFallafel, nu met paardevlees

het is niet <input naam=> maar <input name=>. Daarbij letten op het *nieT* vergeten van het = teken, en gebruik liever een isset($_GET), da's iets netter dan !$_GET['submit']

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

en type="txt" bestaat ook niet :) en html tags moet je afsluiten met een >

tevens een tip voor de TS als je hier code neerzet doe dan dan met de [code=php]-tags :)
Kippenijzer schreef op woensdag 06 juli 2005 @ 12:50:
het is niet <input naam=> maar <input name=>. Daarbij letten op het *nieT* vergeten van het = teken, en gebruik liever een isset($_GET), da's iets netter dan !$_GET['submit']
!$_GET['submit'] is niet minder netjes, het doet alleen heel iets anders ;)
met isset kijk je of een variabele gezet is, met die not operator kijk je of het evalueerd naar false.

[ Voor 9% gewijzigd door Erkens op 06-07-2005 12:52 ]


  • GlowMouse
  • Registratie: November 2002
  • Niet online
code:
1
<input type="txt" name="leeftijd" size="3"

Moet ook zijn:
code:
1
<input type="text" name="leeftijd" size="3">

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 06 juli 2005 @ 12:49:
typo:
<input type="text" naam"alias">

= teken vergeten...

ik zie ook dat je niet erg netjes programmeert kwa spaties en indent enzo, schoon die code eens wat op!
Klopt is netter, maar de site waarvan ik de tutorials volg, doet dit, dus ik dacht dat het wel zo zou horen.

Verwijderd

en je bent ook een '>' vergeten, kortom: zorg ervoor dat je html klopt en test het dan nog eens ;)

en je kan je code beter tussen code-tags zetten voor de betere leesbaarheid:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
<title>wie?!</title>
</head>
<form action="wie.php" method="get">
Naam:
<input type="text" naam="naam">
<br>
alias:
<input type="text" naam"alias">
<br>
Geslacht:
<select name="geslacht">
<option>Meneer</option>
<option>Mevrouw</option>
</select>
<br>
Leeftijd:
<input type="txt" name="leeftijd" size="3"
<br>
<input type="submit" value="verstuur" name="submit">
<input type="reset" name="Reset"> </form>
</html>

[ Voor 75% gewijzigd door Verwijderd op 06-07-2005 12:54 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 05-05 21:37
Alleerst een paar opmerkingen:
1. Zet je source samples tussen [ php] en [ /php] tag, colorhighlighter
2. Indent je source (inspringen)
3. Zorg dat je HTML beheerst, je HTML syntax is helemaal niet valid waardoor elke browser anders kan reageren.
3. Wat heb je zoal zelf al geprobeerd, HTML formulieren en PHP komt zo ontiegellijk vaak voor dat er op (GoT, Google, www.php.net, diverse tutorials, boeken zeer veel over te vinden is.

Verwijderd

En volgens mij kan je in dit geval beter POST dan GET gebruiken, als volgt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if ($_SERVER['REQUEST_METHOD'] != 'POST') {

    // toon HTML formulier
?>
<form method="post">
  <!-- etc etc -->
</form>
<?php

} else {

    $naam     = $_POST['naam'];
    $alias    = $_POST['alias'];
    $geslacht = $_POST['geslacht'];
    $leeftijd = $_POST['leeftijd'];

    print "Hallo hoe gaat het met je, " .$naam. "?\n"
          "<br>\n".
          "Ik vind " .$alias. " een leuke bijnaam!\n".
          "<br>\n".
          "U bent " . $leeftijd. " jaar oud.\n".
          "<br>\n";

}

[ Voor 103% gewijzigd door Verwijderd op 06-07-2005 12:56 ]


Verwijderd

Topicstarter
Ik volg de tutorials op design-web.

het werkt nu, dus ik kan weer verder, bedankt voor de tips :9

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Je bedoelt waarschijnlijk != 'POST' ? :P

Verwijderd

Osiris schreef op woensdag 06 juli 2005 @ 12:56:
Je bedoelt waarschijnlijk != 'POST' ? :P
Yes, pardonnez moi! :D

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Sybr_E-N schreef op woensdag 06 juli 2005 @ 12:53:
Alleerst een paar opmerkingen:
1. Zet je source samples tussen [ php] en [ /php] tag, colorhighlighter
2. Indent je source (inspringen)
3. Zorg dat je HTML beheerst, je HTML syntax is helemaal niet valid waardoor elke browser anders kan reageren.
3. Wat heb je zoal zelf al geprobeerd, HTML formulieren en PHP komt zo ontiegellijk vaak voor dat er op (GoT, Google, www.php.net, diverse tutorials, boeken zeer veel over te vinden is.
Weinig aan toe te voegen. :)

pc-bart, je HTML is brak, je PHP code is niet veel beter. Ik stel voor dat je even wat boeken of tutorials doorneemt over datgeen waar je mee bezig bent, want je hebt zo te zien niet echt een idee wat je aan het doen bent. Het is sowieso niet de bedoeling dat wij hier jouw code gaan debuggen. Met bovenstaande tips zou je er in elk geval uit moeten komen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.