Autor Zpráva
Glumik
Profil *
Zdravim, mam nize uvedeny script, ktery hlasi chybu Notice: Undefined index: 1 atd. Chybova hlaska se vyskytne az v okamziku, kdy promenna $chyba je prazdna. Predem dekuji za pomoc.

$OznacInput[] = NULL;
$UkazBarvu = NULL;

if(empty($_POST['login'])){
$chyba .= "- Nebyl zadán login.<br>";
$OznacInput[1] = "ano";
}

foreach ($OznacInput as $klic => $hodnota){

if($OznacInput[$klic] == 'ano'){
$UkazBarvu[$klic] = "background-color: red";
} else {
$UkazBarvu[$klic] = "background-color: #FFFFFF";
}
}

echo "<input type='text' style='width:100; $UkazBarvu[1]' name='login' value='$login'>
ronnie
Profil
Prvek s indexem 1 v poli $OznacInput neexistuje, musíš mu přidat nějakou defaultní hodnotu. Nebo vypnout notices.
Alphard
Profil
$chyba = "";
$OznacInput[] = NULL;
$UkazBarvu = NULL;

if(empty($_POST['login'])){
$chyba .= "- Nebyl zadán login.<br>";
$OznacInput[1] = "ano";
}

foreach ($OznacInput as $klic => $hodnota){

if($OznacInput[$klic] == 'ano'){
$UkazBarvu[$klic] = "background-color: red";
} else {
$UkazBarvu[$klic] = "background-color: #FFFFFF";
}
}
Glumik
Profil *
ronnie

A co kdyz tech prvku v poli $OznacInput je vice??? To mam pro kazdy prvek nastavovat defaulni hodnotu zvlast?
Glumik
Profil *
Alphard

Diky, ale promenna $chyba s timto problemem az tak nic spolecneho nema. Napsal jsem je cast kodu, promennou $chyba mam samozrejme definovanou.
Alphard
Profil
$chyba .= "- Nebyl zadán login.<br>";

předpokládal jsem, že k $chyba přidáváš řetězec a nemáš ji předem definovanou, pak by to házelo notice, jestli je definovaná, tak se sorry :-)

$chyba = "první chyba"; // definuji
$chyba .= "druha chyba"; // pridávám řetězec
$chyba .= "treti chyba"; // přidávám řetězec

případně ukaž větší část kódu
nightfish
Profil
Glumik
něco je tam špatně... možná bude lepší, když nám napíšeš, co ten kousek kódu má dělat a my se pokusíme vymyslet lepší řešení
Glumik
Profil *
Alphard

Ano presne tak. Proste promenna $chyba vypise text a promenna $UkazBarvu za splneni podminky by mela oznacit input, kde se chyba nachazi.
Glumik
Profil *
nightfish

Jak jsem vyse uvedl, pokud neni vyplnen input, tak ho barvne oznacit. Proste me vsechno funguje az na to, ze pri nevyplneni nejakeho inputu se neoznaci barevne tento input.
nightfish
Profil
echo "<input type='text' style='width:100; $UkazBarvu[1]' name='login' value='$login'>";

nahraď za

echo "<input type='text' style='width: 100;";
if (isSet($ukazBarvu[1])) echo $ukazBarvu[1];
echo "' name='login' value='$login'>";
Glumik
Profil *
nightfish

Diky, toho jsem chtel docilit a povedlo se. Dekuji jeste jednou.
sicario
Profil
Par poznamek...
Pole je nejlepsi inicializovat takto: $OznacInput = array();

Pri pouziti cyklu foreach ($OznacInput as $klic => $hodnota) je $OznacInput[$klic] == $hodnota
Toto téma je uzamčeno. Odpověď nelze zaslat.