Toon posts:

[HTML+PHP] Kan geen variabelen lezen uit form

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

Verwijderd

Topicstarter
Ik heb een een Form in HTML:

<form action="toevoegen.php" method="post">
<input type="hidden" name="submit" value="yes">
Naam: <input type="text" name="Naam"><br>
Leeftijd: <input type="text" name="Leeftijd"><br>

<input type="submit" value=" Voeg toe ">
</form>

en de naam en leeftijd moeten in een MySQL database komen, dus dit is mijn php script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
if ($submit) {
      $server = mysql_connect(); 
      mysql_select_db("ZSDB", $server); 
      $Naam = addslashes($Naam); 
      $Leeftijd = addslashes($Leeftijd);
      $sql = "INSERT INTO Personeel (Naam, Leeftijd) 
        VALUES ('$Naam', '$Leeftijd')"; 
      mysql_query($sql) or die("Er is iets mis gegaan met de invoer"); 
      echo "De gegevens zijn toegevoegd aan de database"; }
?>


maar dit werkt niet omdat if ($submit) altijd false is (blijft), als ik die weghaal dan werkt het wel maar dan herkent ie de variabelen ($Naam, $Leeftijd) niet..

kan iemand mij helpen ?

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 21-08 16:57
dan staat denk ik 'register_globals = on' in je php.ini (standaard). Je kunt dit op off zetten of elke variabele die je stuurt via een post method aanvragen met $_POST['var'] ($_POST['submit'] bijv)

meer info: http://www.php.net/manual...urity.registerglobals.php

[edit:]
Verder zie ik nu ook dat je script niet werkt, omdat je $submit=yes doorgeeft, waarna je $submit checked met 'if ($submit)', dit werkt natuurlijk nooit, omdat de waarde 'yes' niet gelijk is aan 'true', je kunt het veranderen door bijvoorbeeld $submit in je form de waarde '1' of 'TRUE' mee te geven (zonder quotes)

[ Voor 62% gewijzigd door Shagura op 04-12-2002 17:09 ]


Verwijderd

Shagura schreef op 04 December 2002 @ 17:00:
[edit:]
Verder zie ik nu ook dat je script niet werkt, omdat je $submit=yes doorgeeft, waarna je $submit checked met 'if ($submit)', dit werkt natuurlijk nooit, omdat de waarde 'yes' niet gelijk is aan 'true', je kunt het veranderen door bijvoorbeeld $submit in je form de waarde '1' of 'TRUE' mee te geven (zonder quotes)
($sumbit = yes) != ($sumbit = false) gevolg $submit = true;

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Shagura schreef op 04 december 2002 @ 17:00:
dan staat denk ik 'register_globals = on' in je php.ini (standaard). Je kunt dit op off zetten of elke variabele die je stuurt via een post method aanvragen met $_POST['var'] ($_POST['submit'] bijv)

meer info: http://www.php.net/manual...urity.registerglobals.php
Het wordt sterk aangeraden om register_globals op off te hebben (en dat zal het staan, niet on zoals jij zegt).
$_POST['Naam'] enzo gebruiken is de betere en veiliger methode,
[edit:]
Verder zie ik nu ook dat je script niet werkt, omdat je $submit=yes doorgeeft, waarna je $submit checked met 'if ($submit)', dit werkt natuurlijk nooit, omdat de waarde 'yes' niet gelijk is aan 'true', je kunt het veranderen door bijvoorbeeld $submit in je form de waarde '1' of 'TRUE' mee te geven (zonder quotes)

if($string) => if(!empty($string))

Verder is dit al honderden keren voorbij gekomen hier op het forum en vandaar dat ik het maar op slot zet

[ Voor 6% gewijzigd door ACM op 04-12-2002 17:25 ]


Dit topic is gesloten.