Autor Zpráva
bounty hunter
Profil *
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
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 *
už to mám..děkuju
bounty hunter
Profil *
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
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 *
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 *
máš pravdu, moje blbost:( děkuju
Toto téma je uzamčeno. Odpověď nelze zaslat.

0