Autor | Zpráva | ||
---|---|---|---|
bounty hunter Profil * |
#1 · Zasláno: 11. 5. 2007, 16:00:18
mám dvě funkce..jedna pro kontrolu inputu při registraci a druhou pro kontrololu loginu jeli registrovaný v databázi. Chtěl bych vnořit jednu do druhé, ale nedaří se mi to.
function login_check($login, &$error) { function mysql_check($login) { require ("connectDB.php"); $DB_login = mysql_query("SELECT ID FROM tabulka WHERE LOWER(login) = '".$login."'"); return (boolean) mysql_num_rows($DB_check_login) if(empty($login)) { $error .= "<font color=red>Musíte vyplnit přezdívku!</font><br>"; return false; } elseif(mysql_check($login)) { $error .= "<font color=red>Přezdívka už existuje!</font><br>"; return false; } else { return true; } } sami o sobě funkce fungují ale dohromady ne, v čem by mohl být problém? resp. dá se to nějak udělat? děkuju |
||
DJ Miky Profil |
#2 · Zasláno: 11. 5. 2007, 16:03:52 · Upravil/a: DJ Miky
Za tímto řádkem:
return (boolean) mysql_num_rows($DB_check_login) ti chybí středník a ukončení bloku té vnořené funkce. Možná bude problém v tom. Dá se to řešit i pomocí třídy. EDIT: Také jsem si všiml, že v té vnořené funkci máš pravděpodobně špatně názvy proměnných - výsledek dotazu ukládáš do $DB_login, ale počet vrácených řádků bereš z $DB_check_login. |
||
bounty hunter Profil * |
#3 · Zasláno: 11. 5. 2007, 18:20:10
už to mám..děkuju
|
||
Časová prodleva: 3 dny
|
|||
bounty hunter Profil * |
#4 · Zasláno: 14. 5. 2007, 17:07:22
mno a co když chci vnořit funkci tím že jí pomocí require vložím druhou funkci do vnitř...když to udělám tak ji neprovede, funkci jen vypíše jako text a funkce, která potřebuje pro zpracování funkci kterou vnořuju pomocí require hodí chybu, o to mže funkce neexistuje (ta vnořená) ... bože to je paskvil...radši názornou ukázku:
function login_check($login, &$error) { function mysql_check($login) { require ("connectDB.php"); $DB_login = mysql_query("SELECT ID FROM tabulka WHERE LOWER(login) = '".$login."'"); return (boolean) mysql_num_rows($DB_login) } if(empty($login)) { $error .= "<font color=red>Musíte vyplnit přezdívku!</font><br>"; return false; } elseif(mysql_check($login)) { $error .= "<font color=red>Přezdívka už existuje!</font><br>"; return false; } else { return true; } } --> tohle funguje ---------------------------------------------------------------------- -- function login_check($login, &$error) { require ("../mysql_check.php"); if(empty($login)) { $error .= "<font color=red>Musíte vyplnit přezdívku!</font><br>"; return false; } elseif(mysql_check($login)) { $error .= "<font color=red>Přezdívka už existuje!</font><br>"; return false; } else { return true; } } nefunguje...v mysql_check.php je ta vnořená funkce v prvcním fungujícím případě...je to blbost nebo se to dá nějaku dělat? |
||
bukaj Profil |
#5 · Zasláno: 14. 5. 2007, 17:21:12
když to udělám tak ji neprovede, funkci jen vypíše jako text
a je ta funkce ve vkládaněm souboru uzavřena do <?php ... ?>? pokud ne, tak imho ji PHP nepochopí jako kus kódu, ale jen jako obyčejný text |
||
bounty hunter Profil * |
#6 · Zasláno: 14. 5. 2007, 19:28:02
bukaj
jj je, jediný co jsem udělal je že jsem smazal tu funkci a vložil přes require, jinak nic a vypíše jí jako text |
||
bounty hunter Profil * |
#7 · Zasláno: 14. 5. 2007, 22:21:38
máš pravdu, moje blbost:( děkuju
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0