Avaleht
uus teema   vasta Tarkvara »  WWW »  Validate form märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 03.04.2009 16:01:48 Validate form vasta tsitaadiga

php:
  1.  
  2. <?php
  3.  
  4. $tulemus="TRUE";   // This is the flag and we set it to OK
  5. $error="";        // Initializing the message to hold the error messages
  6.  
  7. if(strlen($nimi) < 2){    // checking the length of the entered userid and it must be more than 5 character in length
  8. $msg=$error."( Please enter user id more than 5 character length  )<BR>";
  9. $tulemus="FALSE";   //setting the flag to error flag.
  10. }
  11. if(strlen($pnimi) < 2){    // checking the length of the entered userid and it must be more than 5 character in length
  12. $msg=$error."( Please enter user id more than 5 character length  )<BR>";
  13. $tulemus="FALSE";   //setting the flag to error flag.
  14. }
  15. if(strlen($parool) < 4 ){    // checking the length of the entered password and it must be more than 5 character in length
  16. $msg=$error."( Please enter password of more than 5 character length  )<BR>";
  17. $tulemus="FALSE";   //setting the flag to error flag.
  18. }
  19. if($tulemus <>"TRUE"){
  20. echo "<center>$msg <br> <input type='button' value='Retry' onClick='history.go(-1)'></center>";
  21. }else{ // all entries are correct and let us proceed with the database checking etc …
  22. }
  23. ?>

Miks ta näitab mu form erroreid enne kui muljun submit?
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 03.04.2009 16:13:52 vasta tsitaadiga

Ja mis erroreid ta näitab ?

Miks kasutada stringe booleani asemel ? ("TRUE"/"FALSE" vs true/false)
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 03.04.2009 16:16:16 vasta tsitaadiga

Vea erroreid ei ole.
Näitab seda errorit mis ma ise olen kirjutanud - nimi liiga lühike, parool lühike jne.

Mis suurte ja väikeste tähtede vahe on muidu? - a mõtled sulge ja ülakomasid?
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 03.04.2009 16:21:26 vasta tsitaadiga

http://ee.php.net/manual/en/language.types.boolean.php
http://ee.php.net/manual/en/types.comparisons.php

Pane sinna kõige ette:
php:
  1. ini_set('display_errors', '1');


viimati muutis mikk36 03.04.2009 16:38:07, muudetud 1 kord
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 03.04.2009 16:35:31 vasta tsitaadiga

php:
  1. <?php
  2.  
  3. $tulemus=true;   
  4. $error=false;       
  5.  
  6. if(strlen($nimi) < 2){   
  7. $msg=$error."( Please enter user id more than 5 character length  )<BR>";
  8. $tulemus=false;   
  9. }
  10. if(strlen($pnimi) < 2){   
  11. $msg=$error."( Please enter user id more than 5 character length  )<BR>";
  12. $tulemus=false;   
  13. }
  14. if(strlen($parool) < 4 ){   
  15. $msg=$error."( Please enter password of more than 5 character length  )<BR>";
  16. $tulemus=false;   
  17. }
  18. if($tulemus <>"TRUE"){
  19. echo "Kasutaja registreeritud";
  20. }else{
  21. }
  22. ?>
  23. <form action="liitu2.php" method="POST">
  24. <table width="239" align="center">
  25. <tr>
  26.   <td width="95">Nimi:*</td>
  27.   <td width="144"><input type="text" name="nimi" maxlength="20" class="input" /></td>
  28. </tr>
  29. <tr>
  30.   <td width="95">Perekonnanimi:*</td>
  31.   <td width="144"><input type="text" name="pnimi" maxlength="20" class="input" /></td>
  32. </tr>
  33. <tr>
  34.   <td>Parool:*</td>
  35.   <td><input type="password" name="parool" maxlength="20" class="input" /></td>
  36. </tr>
  37. <tr>
  38.   <td>E-mail:*</td>
  39.   <td><input type="text" name="email" class="input" /></td>
  40. </tr>
  41.     <td>S&uuml;nnip&auml;ev:*</td>
  42.   <td>
  43.       <input type="text" size="1" maxlength="2" name="paev" class="input" />
  44.       <select name="kuu" class="input">
  45.       <option value="jaanuar" class="input">Jaan</option>
  46.       <option value="veebruar" class="input">Veeb</option>
  47.       <option value="marts" class="input">Märts</option>
  48.       <option value="aprill" class="input">Aprill</option>
  49.       <option value="mai" class="input">Mai</option>
  50.       <option value="juuni" class="input">Juuni</option>
  51.       <option value="juuli" class="input">Juuli</option>
  52.       <option value="august" class="input">Aug</option>
  53.       <option value="september" class="input">Sept</option>
  54.       <option value="oktoober" class="input">Okt</option>
  55.       <option value="november" class="input">Nov</option>
  56.       <option value="detsember" class="input">Dets</option>     
  57.       </select>
  58.       <input type="text" size="3" maxlength="4" name="aasta" class="input" />
  59.   </td>
  60. </tr>
  61. <tr>
  62.   <td>Elukoht:*</td>
  63.   <td><input type="text" name="elukoht" maxlength="29" class="input" /></td>
  64. </tr>
  65. <tr>
  66.   <td>Sugu:*</td>
  67.   <td>
  68.     <select name="sugu" class="input">
  69.     <option value="mees" class="input">Mees</option>
  70.     <option value="naine" class="input">Naine</option>
  71.   </select>
  72.   </td>
  73. </tr>
  74. <tr>
  75.   <td colspan=2 align="center"><input type="submit" value="Liitu" class="input" /></td>
  76. </tr>
  77. </table>
  78. </form>

Panen terve koodi (poolik sest testin veel esimesi lõike).
See tekitab ikka palju segadust. Eile õhtu läbi uurisin erinevatelt lehtedelt.
Nüüd enne submit muljumist ütleb kasutaja registreeritud, kuigi pole kastidesse midagi sisestanud ja "liitu" muljunud icon_confused.gif
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 03.04.2009 16:43:21 vasta tsitaadiga

$error muutuja hakkab sul stringi sisaldama, defineeri see vastavalt
php:
  1. $error = '';

Ära jooksuta seda algset osa enne läbi kui sul on asi submititud, kontrolli näiteks et kas mõni muutuja on üldse defineeritud
php:
  1. if(isset($_POST['nimi'])) {
  2. }

Kasuta $_POST globaalset muutujat, mitte ära eelda register_globals sätte aktiveeritust (see on tabu alates 5.3.0 versioonist ja alates 6.0.0 versioonist kaob üldse tugi).
php:
  1. if(strlen($_POST['nimi']) < 2){
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Valdars
HV veteran
Valdars

liitunud: 22.02.2003




sõnum 03.04.2009 16:44:46 vasta tsitaadiga

Ja mille järgi ta peaks aru saama, kas form on submititud või mitte?
Kommentaarid: 47 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 44
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 03.04.2009 17:59:32 vasta tsitaadiga

Miks sul error sedasi on? See ei anna sulle ju midagi. Ja selliselt ei liitu veateated, nagu sul vist plaanis on.
$error=false; 

Peaksid nii tegema:
if(strlen($_POST['nimi']) < 2){   
$msg.="( Please enter user id more than 5 character length  )<BR>";
$tulemus=false;   
}
if(strlen($_POST['pnimi']) < 2){   
$msg.="( Please enter user id more than 5 character length  )<BR>";
$tulemus=false;   
}
if(strlen($_POST['parool']) < 4 ){   
$msg.="( Please enter password of more than 5 character length  )<BR>";
$tulemus=false;   
}


See osa peaks selline olema, $tulemus peab ju true võrduma, kui kõik olid täidetud.

if($tulemus ==TRUE){
echo "Kasutaja registreeritud";


Ja muidugi nagu mikk36 juba mainis pead kogu selle värgi panema kontrolli sisse, kas on nupule vajutatud.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 03.04.2009 19:25:45 vasta tsitaadiga

php:
  1. <?php
  2. ini_set('display_errors', '1');
  3.  
  4. $tulemus=true;
  5. $msg='';
  6.  
  7. if(isset($_POST['nimi'])) {
  8. }
  9. if(strlen($_POST['nimi']) < 2){   
  10. $msg.="( Please enter user id more than 2 character length  )<BR>";
  11. $tulemus=false;   
  12. }
  13. if(isset($_POST['pnimi'])) {
  14. }
  15. if(strlen($_POST['pnimi']) < 2){   
  16. $msg.="( Please enter user id more than 2 character length  )<BR>";
  17. $tulemus=false
  18. }
  19. if(isset($_POST['parool'])) {
  20. }
  21. if(strlen($_POST['parool']) < 4 ){   
  22. $msg.="( Please enter password of more than 4 character length  )<BR>";
  23. $tulemus=false;   
  24. }
  25. if($tulemus ==true){
  26. echo "Kasutaja registreeritud";
  27. }
  28. ?>

Notice: Undefined index: nimi in /home/**/liitu.php on line 10

Notice: Undefined index: pnimi in /home/**/liitu.php on line 16

Notice: Undefined index: parool in /home/**/liitu.php on line 22

Kuidas see 'nimi' vale saab olla?
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 03.04.2009 19:34:02 vasta tsitaadiga

Asi lihtsalt selles, et sa proovid sellega midagi teha kui teda pole. Pead panema kontrolli, et ei tehtaks ennem midagi, kui postitus saadetakse. See, mis sa seal vahele +anid ei tee ju midagi.

<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);

$tulemus=true;
$msg='';

if(isset($_POST['nimi'])) {

if(strlen($_POST['nimi']) < 2){   
$msg.="( Please enter user id more than 2 character length  )<BR>";
$tulemus=false;   
}

if(strlen($_POST['pnimi']) < 2){   
$msg.="( Please enter user id more than 2 character length  )<BR>";
$tulemus=false; 
}

if(strlen($_POST['parool']) < 4 ){   
$msg.="( Please enter password of more than 4 character length  )<BR>";
$tulemus=false;   
}
if($tulemus ==TRUE){
echo "Kasutaja registreeritud";
}
}
?>

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 03.04.2009 19:51:57 vasta tsitaadiga

oehh
php:
  1. <?php
  2. ini_set('display_errors', '1');
  3.  
  4. $tulemus=true;
  5. $msg='';
  6. if(isset($_POST['nimi'])) {
  7. if(isset($_POST['pnimi'])) {
  8. if(isset($_POST['parool'])) {
  9.  
  10. if(strlen($_POST['nimi']) < 2){   
  11. $msg.="( Please enter user id more than 2 character length  )<BR>";
  12. $tulemus=false;   
  13. }
  14. if(strlen($_POST['pnimi']) < 2){   
  15. $msg.="( Please enter user id more than 2 character length  )<BR>";
  16. $tulemus=false
  17. }
  18. if(strlen($_POST['parool']) < 4 ){   
  19. $msg.="( Please enter password of more than 4 character length  )<BR>";
  20. $tulemus=false;   
  21. }
  22. if($tulemus ==true){
  23. echo "Kasutaja registreeritud";
  24. }
  25. }
  26. }
  27. }
  28. ?>

liitu muljudes ei juhtu ikka midagi. Juhe on juba parajalt koos icon_redface.gif icon_razz1.gif

saan aru, et see isset ongi kontroll eks?
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 03.04.2009 20:14:52 vasta tsitaadiga

Ma ei teaküll, mida sa juhtumise all mõtled, kuid kui nüüd teed sellise faili, paned käima ja väljad täidad oma tingimuste järgi tuleb tekst Kasutaja registreeritud täpselt nii nagu peab olema.

<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);

$tulemus=true;
$msg='';
if(isset($_POST['nimi'])) {
if(isset($_POST['pnimi'])) {
if(isset($_POST['parool'])) {

if(strlen($_POST['nimi']) < 2){   
$msg.="( Please enter user id more than 2 character length  )<BR>";
$tulemus=false;   
}
if(strlen($_POST['pnimi']) < 2){   
$msg.="( Please enter user id more than 2 character length  )<BR>";
$tulemus=false; 
}
if(strlen($_POST['parool']) < 4 ){   
$msg.="( Please enter password of more than 4 character length  )<BR>";
$tulemus=false;   
}
if($tulemus ==true){
echo "Kasutaja registreeritud";
}
}
}
}
?>
<form action="?" method="post">
<input type="text" name="nimi" size="40" maxlength="256">
<input type="text" name="pnimi" size="40" maxlength="256">
<input type="text" name="parool" size="40" maxlength="256">
<input type="submit" value="sss">

</form>


Õigem oleks see kontroll ühe if sisse panna:

if(isset($_POST['nimi']) && isset($_POST['pnimi']) && isset($_POST['parool'])) {
// ** Siia kogu sisu, mis tahad peale postitust teha
}

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 04.04.2009 03:34:11 vasta tsitaadiga

andrusny kirjutas:

Õigem oleks see kontroll ühe if sisse panna:

if(isset($_POST['nimi']) && isset($_POST['pnimi']) && isset($_POST['parool'])) {
// ** Siia kogu sisu, mis tahad peale postitust teha
}

"siia kogu sisu" sinna panen näiteks selle mis kogu selle info mul MySQL tabelisse kirjutab?

Suured tänud sulle icon_wink.gif
Lähen jooksma saan pea ehk selgemaks ja siis nuputan edasi thumbs_up.gif


On kätte jõudnud öö.
Kuna eelmine kood siiski ei kuvanud errorit kui nt. nime lahter täitmata siis õppimise eesmärgil kirjutasin ise miskit.
Ime aga see töötab
php:
  1. <?php
  2. if (isset($_POST['nimi']))
  3. if(strlen($_POST['nimi']) <2 ==false)
  4. echo "Kasutaja registreeritud";
  5. else echo "Nimi peab olema pikem kui kaks tähte!";
  6. ?>
  7. <form action="test.php" method="POST">
  8. <input type="text" name="nimi" "maxlength="256">
  9. <input type="submit" value="sisesta">
  10. </form>

Probleem on aga selles, et kui üritan selle järgi suurt form'i teha nagu üleval siis ei saa hakkama.
Kuidas sellega mitut input välja kontrollida? Või nii ei saagi?
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 04.04.2009 04:45:42 vasta tsitaadiga

Sul oli ju juba eelnevate näidetega põhimõtteliselt kõik olemas, ainult veateadet ei väljastanud. Siinkohal tuleb võtta appi loogika ja vaadata üle kas kuskil on kästud üldse väljastada...
Üllatus missugune, $tulemus == true puhul antakse teade et regatud, aga muul juhul ei väljastata midagi.
Selle asemel et kogu koodi pidevalt nullist ümber teha tuleks teinekord lihtsalt läbi mõelda mida sa tahad et kood teeks ja seejärel üle vaadata mida sa tegelikult käsid koodil teha.
Ja selle sinu viimase näite kohta oskan öelda ainult WTF, seda mitmel põhjusel.
Esiteks selle if(strlen(..)<2 == false) peaks kirjutama if(strlen(..) >= 2) mis on loetavam ja arusaadavam.
Pluss sul html koodis on " märgid metsas takkaotsa.

Enne korralikult progema asumist on vaja ikka loogikat ka harjutada ja näpuga järje ajamist, progemine ei ole mingi maagia et viskad hunniku tähti kokku mis imeväel teevad midagi. Kõik on lihtne ja loetav loogika, kui ainult selle jaoks aega võtta...

Korrektne koodijupp, mis väljastaks erroreid, oleks selline:
php:
  1. <?php
  2. ini_set('display_errors', '1');
  3.  
  4. $tulemus=true;
  5. $msg='';
  6.  
  7. if(isset($_POST['nimi'])) {
  8.   if(strlen($_POST['nimi']) < 2){
  9.     $msg.="( Please enter user id more than 2 character length  )<BR>";
  10.     $tulemus=false;   
  11.   }
  12. }
  13. if(isset($_POST['pnimi'])) {
  14.   if(strlen($_POST['pnimi']) < 2){   
  15.     $msg.="( Please enter user id more than 2 character length  )<BR>";
  16.     $tulemus=false
  17.   }
  18. }
  19. if(isset($_POST['parool'])) {
  20.   if(strlen($_POST['parool']) < 4 ){   
  21.     $msg.="( Please enter password of more than 4 character length  )<BR>";
  22.     $tulemus=false;   
  23.   }
  24. }
  25. if($tulemus){
  26.   echo "Kasutaja registreeritud";
  27. } else {
  28.   echo $msg;
  29. }
  30. ?>

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 04.04.2009 11:17:31 vasta tsitaadiga

Et kui parooli ja pärisnime kaasa ei anna (jätad üldse POST'ist välja, näiteks custom lehega) ja ainult kasutajanimi on antud, siis saab ka ära regada, inzinz ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 04.04.2009 13:31:36 vasta tsitaadiga

Uuesti hakkasin testiks tegema, et seda värki rohkem mõista. Üleöö ju ei saagi kõike osata.

Veateated näitab nüüd kenasti ära nagu plaanis oli. Aga liitu.php lähele minnes näiteks kuvab ta kohe, et kasutaja registreeritud.
Ma ei saa aru miks see nii on, pole ju submit veel muljutud icon_confused.gif
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 04.04.2009 13:45:47 vasta tsitaadiga

Sa hiilid kangesti neist loogelistest sulgudest mööda. Jah võib kirjutada ilma kui ainult järgmine rida on vaja panna, kuid omal lihtsam, kui tegevus panna alati loogelistesse sulgudesse. Võimalik, et sul lihtsalt see rida jääb if alt välja.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 04.04.2009 14:30:30 vasta tsitaadiga

mikk36 kirjutas:
Et kui parooli ja pärisnime kaasa ei anna (jätad üldse POST'ist välja, näiteks custom lehega) ja ainult kasutajanimi on antud, siis saab ka ära regada, inzinz ?


Heh, see on see kui öösel kell 4 üritada teha midagi icon_razz.gif

Igatahes õige korrektne koodijupp, mis väljastaks erroreid, oleks selline:
php:
  1. <?php
  2. ini_set('display_errors', '1');
  3.  
  4. $tulemus=true;
  5. $msg='';
  6.  
  7. if(!isset($_POST['nimi']) || strlen($_POST['nimi']) < 2){
  8.     $msg.="( Please enter user id more than 2 character length  )<BR>";
  9.     $tulemus=false;
  10. }
  11. if(!isset($_POST['pnimi']) || strlen($_POST['pnimi']) < 2){
  12.     $msg.="( Please enter user id more than 2 character length  )<BR>";
  13.     $tulemus=false;
  14. }
  15. if(isset($_POST['parool']) || strlen($_POST['parool']) < 4 ){
  16.     $msg.="( Please enter password of more than 4 character length  )<BR>";
  17.     $tulemus=false;
  18. }
  19. //eedlusel et sinu registreeru nupu nimi on html's submit, kui on aga näiteks name="registreeru" siis kontrollid $_POST['registreeru']
  20. if(isset($_POST['submit'])) {
  21.   if($tulemus){
  22.     //teeme midagi, näiteks kontroll andmebaasist kas kasutajanimi olemas
  23.     //kui kõik ok, sisestame ja väljastame
  24.     echo "Kasutaja registreeritud";
  25.   } else {
  26.     echo $msg;
  27.   }
  28. }
  29. ?>

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 04.04.2009 21:38:25 vasta tsitaadiga

Kas sa oled seda muidu proovinud ka icon_razz1.gif

Sest mul ikka ei väljasta icon_lol.gif
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 04.04.2009 22:43:09 vasta tsitaadiga

Väike viga oli sees. Kolmandas kontrollis oli ! märk puudu ja kood jooksius kokku.
tsitaat:
if(isset($_POST['parool']) || strlen($_POST['parool']) < 4){

Tee sellest copy paste ja see töötab.

<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);

$tulemus=true;
$msg='';

if(!isset($_POST['nimi']) || strlen($_POST['nimi']) < 2){
    $msg.="( Please enter user id more than 2 character length  )<BR>";
    $tulemus=false;
}
if(!isset($_POST['pnimi']) || strlen($_POST['pnimi']) < 2){
    $msg.="( Please enter user id more than 2 character length  )<BR>";
    $tulemus=false;
}
if(!isset($_POST['parool']) || strlen($_POST['parool'])  < 4){
    $msg.="( Please enter user id more than 2 character length  )<BR>";
    $tulemus=false;
}
//eedlusel et sinu registreeru nupu nimi on html's submit, kui on aga näiteks name="registreeru" siis kontrollid $_POST['registreeru']
if(isset($_POST['nupp'])) {
  if($tulemus){
    //teeme midagi, näiteks kontroll andmebaasist kas kasutajanimi olemas
    //kui kõik ok, sisestame ja väljastame
    echo "Kasutaja registreeritud";
  } else {
    echo $msg;
  }
}
?>

<form action="?" method="POST">
<input type="text" name="nimi"  maxlength="256">
<input type="text" name="pnimi"  maxlength="256">
<input type="text" name="parool"  maxlength="256">
<input type="submit"  name="nupp" value="sisesta">
</form>

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 04.04.2009 23:17:21 vasta tsitaadiga

Super! Suured tänud teile.
Täidan selle järgi ülejäänud väljad ka. thumbs_up.gif beer_yum.gif

Aga mida see ! täpsemalt juurde annab?
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 04.04.2009 23:49:26 vasta tsitaadiga

! on eitus
true = !false

php:
  1. $test = !false;
  2. var_dump($test);
  3. # bool(true)
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Validate form
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.