Autor Zpráva
Niel
Profil *
Mam mensi problem mam formular kde je 10 inputov poslem to na dalsiu stranku a
tam potrebujem porovnat tie udaje z inputov s pevne danymi premennymi na tej
stranke a podla toho vypisat text. Problem je ze neviem ako nato lebo nieco
ako:

if (($data1==$premenna1) and ($data2==$premenna2)...($data10==$premenna10)) {
echo "nieco";}
.
.
.
if (($data1==$premenna1)) {
echo "nieco";}

sa mi nechce vypisovat cele neni nato nejaky jednoduchsi algoritmus???
finc
Profil
Data z formulářů se mají vypisovat pomocí $_POST
Data z URL adresy pomocí $_GET

Jde o to, že kvůli bezpečnosti se v php.ini register_global defaultně nastavuje na off

takze:


$promena = 10;
if ($promena == $_POST["promena"]) {
echo "Promena je 10";
}


Co se týče toho algoritmu, tak jiste pujde, zalezi, jak mate nazvane ty inputy, zda je to nazev[key] nebo jen nazev1, nazev2, apod.
Pomocí toho pole by to jistě bylo jednodušší.

<input name="jmeno[1]">
<input name="jmeno[2]">

Ve skriptu poté:


foreach ($_POST["jmeno"] as $key => $val) {
echo $key ." - ". $val ."<br>";
}


Vypíše hodnoty formulářů.

Pokud to máte jako jmeno1, jmeno2, apod.
Potom doporucuji udelat nad skriptem promennou všech povinnych položek a ve scriptu je procházet.


$povinne = array();
$povinne = array("jmeno1" => "Jmeno 1", "jmeno2" => "Jméno 2");

$chyba = "";
foreach ($povinne as $key => $val) {
if (!$_POST[$key]) {
$chyba .= "Nebylo vyplneno pole: ". $val ."<br>";
}
}
Toto téma je uzamčeno. Odpověď nelze zaslat.

0