renathy Posted February 24, 2013 Report Share Posted February 24, 2013 (edited) 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 February 24, 2013 by renathy Quote Link to comment Share on other sites More sharing options...
php newbie Posted February 24, 2013 Report Share Posted February 24, 2013 khm...strlen($_POST['answer1'] > 0 ) Quote Link to comment Share on other sites More sharing options...
renathy Posted February 24, 2013 Author Report Share Posted February 24, 2013 Jauki. Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted February 28, 2013 Report Share Posted February 28, 2013 (edited) es nevaru iebraukt, kam tev tas nevajadzigas iekavas visu laiku? if(strlen($kautkas)>0&&strlen($kautkas)>0){..neredzu vajadzibu pec liekas njemsanas arif((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 February 28, 2013 by EdgarsK Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 28, 2013 Report Share Posted February 28, 2013 Iekavas vajag, ja tas uzlabo koda lasāmību. Par nevajadzīgo garuma pārbaudīšanu -- šajā gadījumā, kad čekojam, ka garums ir lielāks par 0, tev taisnība! Quote Link to comment Share on other sites More sharing options...
aaxc Posted February 28, 2013 Report Share Posted February 28, 2013 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! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.