Autor Zpráva
tomas_100
Profil
Dobrý den,
Mám takový problém: Příkaz while přečte z tabulky jen poslední zadanou hodnotu, ostatní data nepřečte.

kod:

<?php
$uzivatel = $_POST["user"];
$heslo = $_POST["passwd"];
if($heslo == "" || $uzivatel == ""){
echo "Neni něco vyplněno!";
}else{



 $db = mysql_connect("localhost","a","a");
mysql_select_db("a");

$vysledek = mysql_query("SELECT * from cviceni_tvorba_uzivatelu"); 

  while($radek = mysql_fetch_array($vysledek))
  
  {
  $uzivatel2 = ($radek["uzivatel"]); 
  $heslo2 = ($radek["heslo"]);

  }
  
mysql_close($db);


//echo "uzivatel: " .$uzivatel2. "<br>";
//echo "heslo: " .$heslo2. "<br>";

$uzivatel_v = $uzivatel2;
$uzivatel_v1 = $uzivatel;

$heslo_v = $heslo2;      
$heslo_v1 = $heslo;
// mělo by být (obejítí) $heslo_md5 = md5($heslo);

 //Pokud byl odeslán formulář
 if ($_GET['action']=='validate')
{
  //a pokud odpovídají přihlašovací údaje
   if(($uzivatel_v1==$uzivatel_v )&&($heslo_v1==$heslo_v))
   
   //if vychází z tohoto(($_POST['user']==$login)&&($_POST['passwd']==$pass))
  {
     session_start();
     $_SESSION["jmeno"] = $uzivatel; 
     //a pošlena úvodní soubor chráněné sekce
     header("Location: zapis.php");
  }
 
     
     else  { 
      echo "Špatné přihlašovací údaje!";
      exit();
           }
}  
} 
                                                
?>
Alphard
Profil
Ve while cyklu se zpracuje vše, ale protože se pořád přepisují tytéž proměnné, zůstane v nich jenom poslední hodnota.
tomas_100
Profil
Když zaměním tělo cyklu
 {
  $uzivatel2 = ($radek["uzivatel"]); 
  $heslo2 = ($radek["heslo"]);
 
  }

za

  
 {
echo ($radek["uzivatel"]); 
echo ($radek["heslo"]);
  }

Tak se vypíší data:

Zeleny1234Cerny5678Modryabcd

Ale stále nevím, jak mám docílit ověření hodnoty Zeleny s hodnotou v poli, kterou si zadám náhodně a to stejné platí pro heslo
Předem děkuji za jakoukoliv odpověď, jelikož všechny možnosti, které mě napadly jsem už zkusil ...
Taps
Profil
to overeni se provadi na urovni sql fotazu pomoci podminky where
tomas_100
Profil
Díky problém vyřešen bylo to tím where. Bylo nutné upravit tento příkaz:
$vysledek = mysql_query("SELECT * from cviceni_tvorba_uzivatelu where uzivatel = '$uzivatel'");

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: