Verificare date trimise

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
claUdiu
Mesaje:313

Verificare date trimise

Salut:) Am o problema care ma bantuie de zile intregi:)) ideea este ca nu reusesc sa prin ideea cum sa fac...

Sa spunem ca am un formular:

Cod: Selectaţi tot

<form action="test_cod.php" method="POST">
<input type="text" name="cod1"> &nbsp; &nbsp; introdu codul: 123456
<input type="hidden" name="cod2" value="123456">
<input type="submit" name="trimite">
</form>

Aici am vrut (in ex de sus) sa fac un cod captcha. Iar josvreau sa verifice daca sa introdus ceva in camp si daca a introdus corect datele

Cod: Selectaţi tot

 
<?php
$cod1 = $_POST['cod1'];
$cod2 = $_POST['cod2'];


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

if (empty($cod1))
$erroare .= "Nu ai scris nimica in capul in care trebuia sa scrii 123456";

if ($cod1 == $cod2)
$erroare .= "Nu ai scris bine codu";

if ($erroare === ""){
echo "Ai scris codul : $cod1";
}
else{
echo $erroare;
}
}
?>
Ideea este ca daca nu introduc niminica in camp imi da erroarea potrivita, dar, cand scriu de ex: 123456 imi spune ca nu am scris bine codul iar daca scriu 123 nu imi apare nimica!

Si mai a o problema... La linia:

Cod: Selectaţi tot

 if ($cod1 == $cod2)
$errare .= "Nu ai scris bine codu"; 
Imi da rezultatul daca $cod1 si $cod2 au aceleasi valori. Dar...cum pot sa scriu in if de ex....daca $cod1 nu e egal cu $cod2? Mss mult
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje:4343
$eroare trebui intai definita, de exemplu cu o valoare nula ( $eroare = '';), dupa aia se aplica adaugarea in ea cu ".=" (punct-egal).
Ca sa verifici cu if() daca doua valori Nu sunt egale, se foloseste semnul exclamarii inainte de egal (!=):

Cod: Selectaţi tot

<?php
$var1 = 'abc';
$var2 = 'abd';
if($var1!=$var2) {
  echo 'Variabilele nu sunt egale';
}
?>
Pentru a evita confundarea lui 0 cu False , sau a unui numar cu varianta lui in sir ($numar = 88; $sir = '88';) se adauga inca un egal (=):

Cod: Selectaţi tot

<?php
$var1 = 789;
$var2 = '789';
if($var1!==$var2) {
  echo 'Cu "!==" Variabilele nu sunt egale';
}

// dar asa:
if($var1!=$var2) {
  echo '<br/>Variabilele nu sunt egale';
}
else{
  echo '<br/>Cu "!=" 789 egal cu "789"';
}

// la fel si cu egalitate: '==' sau '==='
?>

Subiecte similare