Jump to content
php.lv forumi

Dīvaina kļūda vai acis nepareizi rāda


renathy
 Share

Recommended Posts

Dabūju vienu koda gabaliņu, kurā it kā ir kļūda. Nevarēju saprast, uzrakstīju to pašu citādāk un darbojas.

 

Pirmais variants [it kā nedarbojas]:

 

 
        if ( (strlen($_POST['question']) > 0) 
                && (strlen($_POST['answer1'] > 0 )) 
                && (strlen($_POST['answer2'] > 0 )) 
                && (strlen($_POST['answer3'] > 0 )))        
        {                        
            $r = mysql_query("INSERT INTO questions (question, answer1, answer2, answer3, status) VALUES ('$question', '$answer1', '$answer2', '$answer3', '0')");
            $msg = 'Succ';
        }
        else
        {            
            $msg = 'Unsucc';
        }

 

 

 

Otrais variants:

 

        $ql = strlen($_POST['question']);        
        $a1l = strlen($_POST['answer1']);        
        $a2l = strlen($_POST['answer2']);        
        $a3l = strlen($_POST['answer3']);        
                    
        if (($ql > 0) && ($a1l > 0) && ($a2l > 0) && ($a3l > 0))     
        {                        
            $r = mysql_query("INSERT INTO questions (question, answer1, answer2, answer3, status) VALUES ('$question', '$answer1', '$answer2', '$answer3', '0')");
            $msg = 'Succ';
        }
        else
        {            
            $msg = 'Unsucc';
        }
 
 
Ir forma attiecīgi ar 4 laukiem un poga submit. Ja visi lauki nav aizpildīti, tad rāda "Unsucc' un to pašu formu. 
Pirmais variants nedarbojas, otrs darbojas.
Pirmajā variantā ir tā, ja pirmajā reizē neaizpilda laukus, tad parāda "Unsucc". Ja otrajā reizē aizpilda, tad arī rāda 'Unsucc'. Un tikai no trešās reizes rāda "Succ'.
Savukārt otrajā koda variantā ir tā, ja pirmajā reizē neaizpilda, tad parād "Unsucc". Ja otrajā reizē aizpilda, tad rāda "Succ". 
 
Kkāda kļūda, vai acis nepareizi rāda?
Edited by renathy
Link to comment
Share on other sites

es nevaru iebraukt, kam tev tas nevajadzigas iekavas visu laiku?

 

if(strlen($kautkas)>0&&strlen($kautkas)>0){..

neredzu vajadzibu pec liekas njemsanas ar
if((strlen($kautkas)>0)&&(strlen($kautkas)>0)){...

 

abos gadijumos bus

if(true&&true)...

 

- sorry ka pacelu, vnk nevareju aizverties ....

 

- papildus, nafig tev vajag parbaudit if(strlen($x)>0) { ? nevar vnk if($x){ ?

Edited by EdgarsK
Link to comment
Share on other sites

Es gan ieteiktu tavā gadījumā bik savādāk:

if( isset( $_POST['question'] ) && $_POST['question'] ) { ... }

Šādi neģenerēsi liekas notices, ja nekas nebūs uzstādīts.

 

+ njemot vērā, ka tu pēc tam tās vērtības gāz iekšā querijā, tad sākumā nolasi viņas, apstrādā pret sql-injection un tikai tad pārbaudi, vai satur to, kas jāsatur!

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...
 Share

×
×
  • Create New...