login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Formulier

Offline thom272 - 20/05/2009 17:35 (laatste wijziging 20/05/2009 17:38)
Avatar van thom272Nieuw lid Oke, ik ben dus net begonnen met php en probeer dus een registreer script.

Als ik dus deze tutorial gebruik: http://www.site.../Formulier

dan krijg ik deze "error" als ik de pagina bekijk:

  1. '; for($Fi = 0; $Fi < count($fouten); $Fi++) { echo $fouten[$Fi].'
  2. '; } echo '
  3. Klik hier om terug te keren'; } else { mysql_query("INSERT INTO accounts (accname,pass,email,firstname,lastname,age) VALUES ('".addslashes($_POST['accname'])."','".addslashes($_POST['password'])."','".$_POST['email1']."','".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['age']."')") or die (mysql_error()); echo 'De gegevens zijn succesvol opgeslagen in de database'; } } else {


en dan het forumulier.

Ik gebruik de nieuwste Xammp en heb mysql en apache aan staan. Weet iemand wat hier mis gaat?

vinTage schreef:
/me was here, om code tags te plaatsen.
Iedereen leest graag deftig ze code, dus de code tags in het vorvolg zelf plaatsen aub

21 antwoorden

Gesponsorde links
Offline valles10 - 20/05/2009 17:50
Avatar van valles10 HTML interesse post je code ff
Offline thom272 - 20/05/2009 17:52
Avatar van thom272 Nieuw lid
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6.  
  7. <?php
  8.  
  9. if(mysql_connect('localhost','******','*****'))
  10. {
  11. mysql_select_db('******') or die(mysql_error());
  12. }
  13. else
  14. {
  15. echo 'Kan geen verbinding maken';
  16. }
  17.  
  18.  
  19. if($_register['REQUEST_METHOD'] == 'POST' && !empty($_POST))
  20. {
  21. $fouten = array();
  22. if($_POST['accname'] == '')
  23. {
  24. $fouten[] = 'Je hebt geen account naam ingevuld';
  25. }
  26. if($_POST['password'] == '')
  27. {
  28. $fouten[] = 'Je hebt geen wachtwoord ingevuld';
  29. }
  30. if($_POST['email1'] == '')
  31. {
  32. $fouten[] = 'Je hebt geen email ingevuld';
  33. }
  34. if($_POST['firstname'] == '')
  35. {
  36. $fouten[] = 'Je hebt geen voornaam ingevuld';
  37. }
  38. if($_POST['lastname'] == '')
  39. {
  40. $fouten[] = 'Je hebt geen achternaam ingevuld';
  41. }
  42. if($_POST['age'] == '' || !is_numeric($_POST['age']))
  43. {
  44. $aFouten[] = 'Je hebt een ongeldige leeftijd ingevuld';
  45. }
  46. if(count($fouten) != 0)
  47. {
  48. echo 'De volgende fouten zijn opgetreden: <br /><br />';
  49. for($Fi = 0; $Fi < count($fouten); $Fi++)
  50. {
  51. echo $fouten[$Fi].'<br />';
  52. }
  53. echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
  54. }
  55. else
  56. {
  57. mysql_query("INSERT INTO accounts (accname,pass,email,firstname,lastname,age) VALUES ('".addslashes($_POST['accname'])."','".addslashes($_POST['password'])."','".$_POST['email1']."','".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['age']."')") or die (mysql_error());
  58.  
  59. echo 'De gegevens zijn succesvol opgeslagen in de database';
  60. }
  61.  
  62. }
  63. else
  64. {
  65.  
  66. ?>
  67. <form method="post" action="<?=$_register['PHP_SELF']?> ">
  68. Je account naam:<input type="text" name="accname" value="Account Naam" maxlength="12" /> ( max. 12 letters )<br>
  69. Je wachtwoord:<input type="password" name="password" maxlength="20" /> ( max. 20 letters )br>
  70. Je Email:<input type="text" name="email1" value="Email Adres" />br>
  71. Je voornaam:<input type="text" name="firstname" value="Voornaam" />br>
  72. Je achternaam:<input type="text" name="lastname" value="Achternaam" />br />
  73. Je leeftijd:<input type="text" name="age" value=""Leeftijd" maxlength="2" /> ( Je mag niet ouder dan 99 jaar zijn )br>
  74. <input type="submit" value="Verzenden" name="send_register" />br>
  75. </form>
  76. <?php
  77. }
  78. ?>
  79.  
  80. </body>
  81. </html>
Offline valles10 - 20/05/2009 17:54 (laatste wijziging 20/05/2009 18:01)
Avatar van valles10 HTML interesse die foutmelding die jij krijgt is omdat je iets vergeten invullen bent in het tekstveld..

En waarom maak je het jezelf zo moeilijk met count en zo?

  1. if (empty($_POST['name']){
  2. echo "je bent je naam vergeten invullen";
  3. } else if (empty($_POST['ietsanders']){
  4. echo "je bent ietsanders vergeteninvullen";
  5. } //enzovoort tot je alles hebt en dan
  6. else {
  7. hier je querys
  8. }
Offline thom272 - 20/05/2009 17:58
Avatar van thom272 Nieuw lid Ik snap je antwoord niet, ik krijg die fout als ik op de pagina kom, ik hoef niks in te vullen of hij laat die fout al zien, en als ik op verzenden druk dan krijg ik:

Bestand niet gevonden:

Firefox kan het bestand op /I:/php/<?=$_register['PHP_SELF']?> niet vinden.

* Kan het item zijn hernoemd, verwijderd of verplaatst?
* Staat er een spel-, hoofdletter- of andere typografische fout in het adres?
* Hebt u voldoende toegangsrechten voor het opgevraagde item?
Offline NTS64 - 20/05/2009 18:00 (laatste wijziging 20/05/2009 18:00)
Avatar van NTS64 PHP gevorderde Er bestaat geen superglobal $_REGISTER['PHP_SELF'], dat moet $_SERVER['PHP_SELF'] zijn, maar in dit geval kan je het action attribuut ook weglaten...
Offline valles10 - 20/05/2009 18:01 (laatste wijziging 20/05/2009 18:02)
Avatar van valles10 HTML interesse ik zal even scriptje maken zodat het wel werkt.

je code zit ook vol fouten 
Offline thom272 - 20/05/2009 18:03 (laatste wijziging 20/05/2009 18:05)
Avatar van thom272 Nieuw lid als ik
  1. <?=$_SERVER['PHP_SELF']?>


en net als de tutorial later:

  1. if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))


gebruik, zegt hij hetzelfde maar dan in plaats van

/I:/php/<?=$_register['PHP_SELF']?>

zegt hij:

/I:/php/<?=$_SERVER['PHP_SELF']?>

En valles, bedankt, dan kan ik krijken wat ik fout doe xD.
Offline valles10 - 20/05/2009 18:11 (laatste wijziging 20/05/2009 18:14)
Avatar van valles10 HTML interesse
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6.  
  7. <?php
  8.  
  9. mysql_connect("localhost", "", "");
  10.  
  11.  
  12. if (empty($_POST['accname'])){
  13. echo "je bent je acc vergeten invullen!"
  14. } else {
  15. mysql_query("INSERT INTO accounts (accname,pass,email,firstname,lastname,age) VALUES ('".addslashes($_POST['accname'])."','".addslashes($_POST['password'])."','".$_POST['email1']."','".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['age']."')") or die (mysql_error());
  16.  
  17. echo 'De gegevens zijn succesvol opgeslagen in de database';
  18.  
  19.  
  20. }
  21. else if($_SERVER['REQUEST_METHOD'] != 'POST')
  22. {
  23.  
  24. ?>
  25. <form method="post" action="">
  26. Je account naam:<input type="text" name="accname" value="Account Naam" maxlength="12" /> ( max. 12 letters )<br />
  27. Je wachtwoord:<input type="password" name="password" maxlength="20" /> ( max. 20 letters )<br />
  28. Je Email:<input type="text" name="email1" value="Email Adres" /><br />
  29. Je voornaam:<input type="text" name="firstname" value="Voornaam" /><br />
  30. Je achternaam:<input type="text" name="lastname" value="Achternaam" /><br />
  31. Je leeftijd:<input type="text" name="age" value="leeftijd" maxlength="2" /> ( Je mag niet ouder dan 99 jaar zijn )<br>
  32. <input type="submit" value="Verzenden" name="send_register" /><br>
  33. </form>
  34. <?php
  35. }
  36. ?>
  37.  
  38. </body>
  39. </html>

Probeer deze eens (je andere niet weg doen!)
Offline NTS64 - 20/05/2009 18:13 (laatste wijziging 20/05/2009 18:16)
Avatar van NTS64 PHP gevorderde
  1. <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">

Dit geeft geen output, zo kan je evengoed action="" of action gewoon weglaten.

En trouwens, voordat je post velden gaat nakijken, kijk je beter eerst even of er een POST request verzonden is, en niet andersom.
Offline thom272 - 20/05/2009 18:16 (laatste wijziging 20/05/2009 18:17)
Avatar van thom272 Nieuw lid Nou, ik krijg geen errors, alleen als ik op verzenden druk krijg ik nog steeds:

Firefox kan het bestand op /D:/website/php/<?php $_SERVER['PHP_SELF']; ?> niet vinden.

betekent dit dat php niet werkt ofzo??

en woedi, als ik het weglaat, hoe komt hij dan bij het verzenden van de infomatie???
Offline NTS64 - 20/05/2009 18:17 (laatste wijziging 20/05/2009 18:19)
Avatar van NTS64 PHP gevorderde En wat als je action="" gebruikt, of action weglaat? Dan voert hij een POST request uit op zichzelf.
Plaats ook eens error_reporting(E_ALL); bovenaan je pagina.
Offline valles10 - 20/05/2009 18:20
Avatar van valles10 HTML interesse
thom272 schreef:
Nou, ik krijg geen errors, alleen als ik op verzenden druk krijg ik nog steeds:

Firefox kan het bestand op /D:/website/php/<?php $_SERVER['PHP_SELF']; ?> niet vinden.

betekent dit dat php niet werkt ofzo??

en woedi, als ik het weglaat, hoe komt hij dan bij het verzenden van de infomatie???

server weet dat hij dan self moet doen.. is zelfde als value=""
en upload em is ergens en probeer dan eens..
Offline thom272 - 20/05/2009 18:27 (laatste wijziging 20/05/2009 18:28)
Avatar van thom272 Nieuw lid welke host raden jullie aan, bij de meeste waar ik kijk daar moet ik een goede reden geven, alleen die heb ik niet behalve dat ik wil testen.

PS: als ik dat server weghaal zoals woedi zeg, krijg ik de hele tijd dat formulier weer te zien, ik weet het, ik ben een gigantische noob maarja, het is dan ook mijn eerste script ( op hello world na dan )
Offline valles10 - 20/05/2009 18:29
Avatar van valles10 HTML interesse
thom272 schreef:
welke host raden jullie aan, bij de meeste waar ik kijk daar moet ik een goede reden geven, alleen die heb ik niet behalve dat ik wil testen.

PS: als ik dat server weghaal zoals woedi zeg, krijg ik de hele tijd dat formulier weer te zien, ik weet het, ik ben een gigantische noob maarja, het is dan ook mijn eerste script ( op hello world na dan )

lol, probeer 4realhost 
Offline thom272 - 20/05/2009 18:40
Avatar van thom272 Nieuw lid oke, nu heb ik daar een account en dan, hoe krijg ik ze op die site 9 voel me nu echt totaal noob maarja ), is er niet gewoon een systeem van bladeren, aanvinken en dan uploaden ofzo??
Offline valles10 - 20/05/2009 18:45
Avatar van valles10 HTML interesse kan je niet via ftp?
stuur me je gegevens pas en username is door via pm
Offline thom272 - 20/05/2009 18:46 (laatste wijziging 20/05/2009 18:50)
Avatar van thom272 Nieuw lid laat maar, het is al gelukt.

Hé, oke, als ik nu register.php bekijk zie ik helemaal niks meer. Weet iemand wat hier mis is?
Offline valles10 - 20/05/2009 18:57
Avatar van valles10 HTML interesse rare dinges -.-
Offline thom272 - 20/05/2009 19:25
Avatar van thom272 Nieuw lid Oke, ik ga het simpel doen en in de action naar een ander bestand verwijzen waar de data in de database word gezet.
Offline NTS64 - 20/05/2009 19:53
Avatar van NTS64 PHP gevorderde
thom272 schreef:
Oke, ik ga het simpel doen en in de action naar een ander bestand verwijzen waar de data in de database word gezet.

Waarom zou je dat doen? Dat is nergens voor nodig en dat veroorzaakt enkel fragmentatie van je applicatie. Post de code eens die je de laatste maal geprobeerd hebt...
Offline vinTage - 20/05/2009 20:55 (laatste wijziging 20/05/2009 20:56)
Avatar van vinTage Nieuw lid Geen action opgeven is niet valid, en verder ondersteund je host mss geen shorttags?
  1. <?=$lala?> //shorttag
  2. versus
  3. <?php echo $lala; ?> //juiste manier


Verder zou ik onderstaande gebruiken, valid en werkt altijd, ook als je de file include..

  1. <form action="<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>" ...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.252s