Jump to content
php.lv forumi

empty() atgriežs nepareizi!


Wuu

Recommended Posts

Kas varētu būt pa vainu, ka empty atgriež nepareizi, būtība saka ka var's nav tukšs. Bet isset() to pašu var'u atgriež pareizi, sakot ka var's ir tukšs. 

 

if(isset($r[8])) {

 

8 kolonā glabājas user_password CHAR(40) nokodēts sha1. Doma ir, ja tukšs paroles lauks, paroli nepieprasa.

$result = mysql_query('select * from '.$INFO['sql_tbl_prefix'].'users where user_id = "'.$user['user_id'].'" limit 1;');
$r = mysql_fetch_array($result);
if(!empty($r[1])) {
 if(isset($r[8])) {

Kaut kādā veidā lauks atgriež kaut kādus baitus :D (Iespējams)

Edited by Wuu
Link to comment
Share on other sites

1) empty() darbojas pareizi. Palasi http://lv1.php.net/empty, kuros gadījumos empty() atgriež true.

2) kā mēs varētu zināt, kāda ir $r[1] vērtība? Vai to jāizsecina no 'select *'? 

3) isset() nekādā gadījumā nepārbauda, vai mainīgais ir tukšs, bet gan, vai mainīgais ir definēts un tam ir piešķirta vērtība.

4) aizmirsti par mysql funkcijām! Mūsdienās jāizmanto mysqli vai PDO, jo mysql ir deprecated!

Link to comment
Share on other sites

Tak pietiks skandināt to, ka mysql_* ir deprecated. Salūzīs viņiem CS saits “uz produkcijas“, jo mysql_* būs removed pilnībā — viņa problēma, ka nelasa warningus un notices.

Link to comment
Share on other sites

Paldies e-remit. Runājot par mysql_* ir deprecated, pats sev saimnieks, pats sev pasūtu mūziku. Kādu PHP versiju gribēšu, tādu arī uzstādīšu. Man objektu orientētā draza nepatīk. 

Edited by Wuu
Link to comment
Share on other sites

Paldies jurchiks, reāli lai parietu uz mysqli man pāris vietās jāpieliek "i" un pāris funkcijas jāpiemet links. Redzu kur mysqli ir foršāks, bet neredzu tik tiešām nevienu iemeslu, lai tagad kaut kur skrietu un kaut ko mainītu. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...