Portál AbcLinuxu, 2. května 2025 07:16

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
23.12.2005 11:23 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
Odpovědět | Sbalit | Link | Blokovat | Admin
Jee, já zapomněl na ten kod:
$connect = MySQL_Connect("mysql.webzdarma.cz", "...", "..."); if(!$connect)
{
echo "nelze se pripojit k databazi";
exit;
}

MySQL_Select_DB("usr");

$nick = $_POST["nick"];
$heslo = $_POST["heslo"];
$odesli = $_POST["odesli"];

if($odesli=="Odeslat")
{
$q = MySQL_Query("SELECT heslo FROM usr WHERE nick='$nick' AND heslo='$heslo'") or MySQL_Error();
$bflm = MySQL_Fetch_Row($q);
if($nick == "" or $heslo == "")
{
echo "Ou, neni heslo nebo nick.";
break;
}
if($bflm[3]==$heslo)
{
echo "Jsi přihlášenej.
";
}
else
{
echo "Špatné heslo.";
}
}

mysql_close();
?>
23.12.2005 11:38 pepiino | skóre: 1 | Děčín
Rozbalit Rozbalit vše Re: PéHáPé -- login
Dobrý místo na dotaz :D

Proč jsi neposlal přesně tu hlášku? Neni to něco s tim, že parametr "is not valid mysql result?" Nebo tak nějak? Pokud jo, tak máš spíš problém v SQL dotazu. Zkus si ho hodit do proměnný a tu si před dotazem vypsat.
http://zapisnik.pepiino.cz
23.12.2005 12:04 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result --to tam ohlasi :-(
23.12.2005 12:24 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result --to tam ohlasi :-(
hm, takže v databázi nenajde žádnou dvojici nick - heslo, která by odpovídala požadavku ...
23.12.2005 12:32 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
ale presto v databazi mam polozky nick a heslo a este tam mam id, ktery je autoincrement, ale to by se vubec nemelo brat v potaz.
23.12.2005 13:31 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
no, to že to tam je ještě neznamená, že to tam musí najít :-) ... jinak odpověď je jasná níže, nemůže nic najít, protože na to nemá práva ...
23.12.2005 13:41 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
jak tedy docilit zpristupneni, nebo nejak odstranit tyto prava?
23.12.2005 14:06 Pmx
Rozbalit Rozbalit vše Re: PéHáPé -- login
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result --to tam ohlasi :-(
hm, takže v databázi nenajde žádnou dvojici nick - heslo, která by odpovídala požadavku ...
Chápu to správně tak, že podle vás se tato chybová hláška objeví vždy, když se nenajde žádný výsledek vyhovující podmínkám? Ve skutečnosti se tato hláška objeví při nějaké zásadní chybě, jako je špatně formulovaný SQL dotaz, nebo právě nepřipojení se k serveru... Pokud je prázdný výsledek (tj. ani jeden řádek), žádná chyba nevzniká, funkce mysql_fetch_row jen vrací false.
24.12.2005 08:08 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
Pokud je prázdný výsledek (tj. ani jeden řádek), žádná chyba nevzniká, funkce mysql_fetch_row jen vrací false.
dík za opravu/upřesnění, to je tak, když si člověk něco nepamatuje přesně a je línej koukat do manuálu ;-)
23.12.2005 12:20 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
hmm ... jak jsi přišel na to, že máš testovat if($bflm[3]==$heslo), když z databáze vybíráš pouze jeden sloupec (heslo), a tudíž to pole $bflm bude jednorozměrné (tedy hodnota hesla bude v položce $bflm[0])? - kdybys měl zapnuté warningy, nejspíš by ti to napsalo, že používáš neicializovanou proměnnou ...

btw, při daném dotazu je dostatečným testem už jen to, že vrátí nenulový počet řádků, a tedy do větve "Špatné heslo." by kód nikdy nemohl dojít, kdyby byl napsaný pořádně a otestoval, jestli vůbec nějaký výsledek dotazu dostal (konstrukce or MySQL_Error() jest velmi zvláštní, je tam na parádu či co? - řetězec, který vyplivne, se ani nezobrazuje, ani nikam neukládá ...)

jo a když už jsem u toho rozboru ... proměnná $connect, vzhledem k tomu, že se nevyužívá, je tam taky na nic, tu počáteční konstrukci by stačilo přepsat na:
if (!MySQL_Connect("mysql.webzdarma.cz", "...", "...")) {
 echo "nelze se pripojit k databazi";
 exit;
}
23.12.2005 12:29 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
hmh, upravil jsem to na bflm[0] a stejne to hlasi stejnou hlasku... To bude asi neco jinciho
23.12.2005 12:36 Honza Král | skóre: 3 | Praha
Rozbalit Rozbalit vše Re: PéHáPé -- login
1) http://stare.cz/otazky/

2) problem je v tom, ze ti to nevrati zadny radek, zkus: vypsat si SQL dotaz a pustit ho rucne otestovat pocet vracenych radku

3) nemyslim si, ze by blog na ABClinuxu mel fungovat jako poradna pro takove zacatecniky - nechci te odradit od programovani, ale nemyslis ze by bylo vhodnejsi presunout toto na nejake diskuzni forum, at uz specializovane na PHP, nebo na nejake ktere ma o PHP alespon klub?

Happy hackin'
23.12.2005 12:38 Honza Král | skóre: 3 | Praha
Rozbalit Rozbalit vše Re: PéHáPé -- login
1) http://stare.cz/otazky/

2) problem je v tom, ze ti to nevrati zadny radek, zkus: vypsat si SQL dotaz a pustit ho rucne otestovat pocet vracenych radku

3) nemyslim si, ze by blog na ABClinuxu mel fungovat jako poradna pro takove zacatecniky - nechci te odradit od programovani, ale nemyslis ze by bylo vhodnejsi presunout toto na nejake diskuzni forum, at uz specializovane na PHP, nebo na nejake ktere ma o PHP alespon klub?

Happy hackin'
23.12.2005 12:47 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
ano, je pravda, ze o tom blog neni, ale nemel jsem se kde zeptat, prvni co me napadlo byl abclinuxu, ale ja ani nezamyslel to, ze se v blogu budu ptat...Klidne me ukamenujte, ale nejdriv pls pomozte mi s timhle :-]
23.12.2005 23:04 Non_E | skóre: 24 | blog: hic_sunt_leones | Pardubice
Rozbalit Rozbalit vše WZ...
Od podobných věcí je PHP fórum na wz.
Only Sith deals in absolutes.
David Watzke avatar 23.12.2005 23:10 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: WZ...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
23.12.2005 13:35 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
hmh, upravil jsem to na bflm[0] a stejne to hlasi stejnou hlasku... To bude asi neco jinciho
jistěže je to "něco jiného", jak už ostatně řešíš níže ... nicméně pointa měla být, i když se v mém příspěvku trochu schovala, že tak jak to bylo napsané to muselo napsat "špatné heslo" vždy, protože neprázdný řetězec $heslo (zaručeno předchozí podmínkou) jsi testoval proti prázdné (resp. neexistující) proměnné
23.12.2005 13:52 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
oka, oka
23.12.2005 12:39 Georgo10 | skóre: 14 | blog: Deset hříchů | Olomouc
Rozbalit Rozbalit vše Re: PéHáPé -- login
$q = MySQL_Query("SELECT heslo FROM usr WHERE nick='$nick' AND heslo='$heslo'") or MySQL_Error();

před mysql_error() musí být echo je možné, že třeba neexistuje tabulka usr, nebo sloupec nick či jiná chyba a vaším způsobem ji nezjistíte

@$q = MySQL_Query("SELECT heslo FROM usr WHERE nick='$nick' AND heslo='$heslo'"); if(!$q) echo MySQL_Error();
-- Georgo
23.12.2005 13:54 Pmx
Rozbalit Rozbalit vše Re: PéHáPé -- login
Super, vzniká tu poradna pro začínající PHPčkaře. Na druhou stranu, je mi jasné, že každý nějak začínal...

$bflm[3] - co očekáváš, že dostaneš ve čtvrtém sloupci, když ti dotaz vrací jen jeden sloupec?

U or MySQL_Error() přidej print (MySQL_Error()), ať to aspoň trochu funguje. Nebo rovnou die().

Pokud je toto skutečně původní kód, upozornil bych na nutnost ošetření vstupních parametrů, kvůli script injection apod.. Na wz.cz sice asi budou mít zapnuté magic_quotes_gpc, ale 1) jinde to tak být nemusí, 2) největší sranda je, když to přes noc vypnou.
23.12.2005 14:06 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
hmh, ale dole porad mi to ukayuje ten neopravneny pristup.
24.12.2005 08:41 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
Pokud je toto skutečně původní kód, upozornil bych na ...
no, především dlužno říci, že takto se projekty nepíšou ... jenže on má každej člověk jinej styl, takže bysme si mohli tak akorát zaflejmovat, jak to má "správně" vypadat :-)

např. už jenom začátek ... pokud jde o pár stráneček, psal bych to ve stylu:
require_once("konfigurák") or die ("Fatální chyba: Nelze načíst kofiguraci");

if ($db_handle = MySQL_Connect($db_server, $db_user, $db_heslo)) {
  MySQL_Select_DB($db_mydb,$db_handle) or die ("Fatální chyba: Nelze vybrat databasi");
} else {
  die ("Fatální chyba: Nelze se pripojit k databazi");
}
ale pokud by šlo o něco většího ...
require_once("konstanty");
require_once("sys_funkce");
require_once("db_konfigurace");
require_once("db_funkce");

$db_handle = Pripoj_se_k_databazi($db_databaze_pro_tuto_stranku);
if (db_handle == false) {
  Vyhod_kritickou_chybu ($err_nepripojeno_k_databazi)
};
... výše uvedený kód prosím brát v tuto nekřesťanskou hodinu s rezervou ;-)
Na wz.cz sice asi budou mít zapnuté magic_quotes_gpc, ale 1) jinde to tak být nemusí, 2) největší sranda je, když to přes noc vypnou.
hm, magic_quotes_gpc je dle mého pěkná prasárna, ale když už se tu o tom mluví ;-) - existuje nějaký jednoduchý způsob, jak z PHPka komunikujícího s databází vymlátit na výstupu řetězec stejný jako na vstupu, tzn. bez přebývajícího/chybějícího oquotování? (tedy jinak než podívat se na konfigurační paramatry a podle toho používat od-quotovávácí funkce?)

... jinak totiž, pokud to někde "přes noc" vypnou, tak kód uzpůsobený na jedno nastavení, začne "přes noc" házet nesmysly :-(

p.s. jak se rozumně česky řekne "oqutovat"?
24.12.2005 11:08 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: PéHáPé -- login
require_once("konfigurák") or die ("Fatální chyba: Nelze načíst kofiguraci");
K cemu tam je to die? Ja myslel, ze require_once samo vyhodi fatal error, takze za or se v pripade chyby program beztak nedostane.
24.12.2005 11:58 kavol | skóre: 28
Rozbalit Rozbalit vše Re: PéHáPé -- login
říkám, že mi to po ránu nemyslí ... :-/

samozřejmě to mělo být s include
23.12.2005 12:35 skonciljsem | skóre: 20
Rozbalit Rozbalit vše Re: PéHáPé -- login
Odpovědět | Sbalit | Link | Blokovat | Admin
Tedy já to obvykle dělám:
$spoj = mysql_connect(".....
$dotaz = "select.....
if (($spoj)&&(mysql_select_db("jmeno",$spoj}})
{
    $vydotaz = mysql_query($dotaz);
    if ($vydotaz)
    {
      $radek = mysql_fetch_array($vydotaz, MYSQL_ASSOC);
      // a $radek je asociativni pole, delam uz s tim
    };
}
Jo, a kde se ti tam vzala ta trojka? Nevraci to jen jedno pole (heslo)? {Já používám array, protože mi to vrací jméno a heslo, abych to jméno mohl zobrazit.)
23.12.2005 12:43 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
to bflm sem uz opravil, hodil sem tam MYSQL_ASSOC a objevila se mi jina hlaska :-] : Warning: Wrong parameter count for mysql_fetch_row(), obavam se ze tato hlaska jenom prekryla tu straou, ale mozna ne. Snad se mi to jednou povede.
23.12.2005 12:46 skonciljsem | skóre: 20
Rozbalit Rozbalit vše Re: PéHáPé -- login
Ale ne, mysql_fetch_row() tenhle parametr nepouziva.
23.12.2005 12:50 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
co mam tedy pouzit pri overovani, bflm[0] nebo nechat to bez toho indexu?
23.12.2005 13:57 Pmx
Rozbalit Rozbalit vše Re: PéHáPé -- login
RTFM. Funkce mysql_fetch_... vrací pole a ne řetězec, tak s tím zacházej jako s polem.
23.12.2005 14:01 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
oka, ale to nevyresi to, ze mi to hlasi neopravneny pristup, viz dole.
23.12.2005 12:53 skonciljsem | skóre: 20
Rozbalit Rozbalit vše Re: PéHáPé -- login
Podle mne se ti neprovedl MySQL_Select_DB, zkus pouzit konstrukci z helpu:
mysql_select_db('foo', $lnk) or die ('Can\'t use foo : ' . mysql_error());
23.12.2005 13:00 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
nemohl byste to nejak zkonkretizovat prosim?
23.12.2005 13:09 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
ne, jasne, chapu, hlasi mi to nepovoleny pristup: Access denied for user 'lopuch'@'%' to database 'usr'
23.12.2005 14:09 Pmx
Rozbalit Rozbalit vše Re: PéHáPé -- login
Databáze != tabulka. Tvoje databáze bude mít nejspíš název lopuch. To, s jakou tabulkou chceš pracovat, si zvolíš v konkrétním dotazu. Přes mysql_select_db volíš databázi.
23.12.2005 14:14 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
ahah :-), no nic, tak sem ze sebe udelal vola, no
23.12.2005 12:59 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
Odpovědět | Sbalit | Link | Blokovat | Admin
aha, nejde se mi pripojit k databazi...
23.12.2005 14:06 petr
Rozbalit Rozbalit vše Re: PéHáPé -- login
No to snad ani ne,.... vzdyt kouknu-vidim, pred podobnymi 'dotazy'doporucuji alespon se podivat na help wz, jmeno databaze je stejne jako login, takze porad nechapu kde beres nazev databaze 'usr' kdyz mas login lopuch.... mozna ze bych zacal teda jako konkretne timhle,.... ;)
23.12.2005 14:26 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
Odpovědět | Sbalit | Link | Blokovat | Admin
no ale stejne mi(i pres tu chybu v prihlasovani k databazi) to hlasi spatne heslo...
23.12.2005 16:39 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak jsem to konecne vyresil. Udelal jsem novy script od zacatku a bez chyb. Dick vsem co se snazili mi pomoci. Opravdu diky.
Luboš Doležel (Doli) avatar 23.12.2005 16:48 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: PéHáPé -- login
Já dick nepotřebuju, já mám...už od narození :-) Promiň, ale psát "dick" místo "dík" je hodně divný.
23.12.2005 17:37 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: PéHáPé -- login
Možná to je tím, že netuší co to slovíčko znamená...
-- Nezdar není hanbou, hanbou je strach z pokusu.
23.12.2005 18:16 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: PéHáPé -- login
ale vim, moc dobre to vim...
David Watzke avatar 23.12.2005 23:12 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: PéHáPé -- login
Tak to nerozdávej. :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.