Jump to content
php.lv forumi

Iesacejs un isset


kenshin

Recommended Posts

Tatad saku macities PHP, bet jau sakuma saskaros ar iesaceja nesaprasanu, proti ar komandu isset()

Lai nu ka trenninnolukos meginaju uztaisit vienkarsu skriptu, kas stabina izvada ievaditos ciparus no viens

lidz n:

<FORM method=POST>

Daudzums <INPUT type=integer name=c>

<INPUT type=submit value="Apstiprinat" size=200px>

</FORM>

<?php

function foo($b)

{

$a=1;

while ($a <= $b):

if ((($a % 10) == 1) and (($a % 100) <> 11)) {

echo $a . " cipars" ;

}

else {

echo $a . " cipari" ;

}

$a++;

?>

<br>

<?php

endwhile;

}

if (isset($_POST['c'])) {

$m=$_POST['c'];

}

else {

$m=2;

}

foo($m);

?>

Pati komanda strada, bet neskatoties uz isset izmantosanu pirmoreiz atverot vienalga blauj, ka nav nodots mainigais. Es laikam neesmu izpratis isset izmantosanu, kads man var isti izskaidrot manu kludu ?

Link to comment
Share on other sites

Daudzums <INPUT type=integer name=c>
Kas tas par dīvainu type=integer? Ja tā rakstīts kādā grāmatā, tad izmet to grāmatu laukā. Jo nav nekāda type=integer.
Pati komanda strada, bet neskatoties uz isset izmantosanu pirmoreiz atverot vienalga blauj, ka nav nodots mainigais.
Kurā rindā to saka? Kas tu domā mums te gaišreģu klubiņš?
Link to comment
Share on other sites

Funkcija isset() darbojas sekojoshi - vinja paarbauda vai attieciigais mainiigais ir uzstaadiiic tas ir vai vinjam ir kaada veertiba!!! bet formaam es ieteitu lietot empty() :)

un veel tev taa forma ir uzrakstiita bet tu vareetu mums arii ieposteet uz kuru failu sii forma tiek nosuutiita! jo varbuut faila nosaukums nav noraadiits pareizi! :)

Edited by Gu6ax
Link to comment
Share on other sites

Kas tas par dīvainu type=integer? Ja tā rakstīts kādā grāmatā, tad izmet to grāmatu laukā. Jo nav nekāda type=integer.

Kurā rindā to saka? Kas tu domā mums te gaišreģu klubiņš?

 

Aaaa, atvainojiet par to integer, es php saku macities tikai tagad, bet pascal man ir domasana jau paris gadus, citiem vardiem vienkarsi banala kluda. Bet par kludas pazinojumu, tas ir rinda 23, jeb

$m=$_POST['c'];

Link to comment
Share on other sites

Funkcija isset() darbojas sekojoshi - vinja paarbauda vai attieciigais mainiigais ir uzstaadiiic tas ir vai vareetu teikt vai vinjam ir kaada veertiba!!!

nu kā nu to ņem. ja tukšums arī skaitās vētība, tad jā.

 

pamēģini bez tiem if un else:

$m=(isset($_POST['c']) ? $_POST['c'] : '2');

kaut arī tik tiešām šaubos, vai tas ko dos ;)

Link to comment
Share on other sites

bet formaam es ieteitu lietot empty() :)

un veel tev taa forma ir uzrakstiita bet tu vareetu mums arii ieposteet uz kuru failu sii forma tiek nosuutiita! jo varbuut faila nosaukums nav noraadiits pareizi! :)

 

Eeee, par empty() gan es neko nezinu. Un uz failu es formu nesutu, citiem vardiem mainigo nosutu tai pasai lapai kura ir forma. Ja es ievadu laucina skaitli tas skripts strada labi, problemas rodas tikai atverot pirmo reizi.

Link to comment
Share on other sites

Eeee, par empty() gan es neko nezinu. Un uz failu es formu nesutu, citiem vardiem mainigo nosutu tai pasai lapai kura ir forma. Ja es ievadu laucina skaitli tas skripts strada labi, problemas rodas tikai atverot pirmo reizi.

zin ko!! panjem atrodi Ziivarta graamatu un lasi tur taas funkcijas ir ljoti labi noraadiitas! un kaadu eroru vinsh tev izmet?!

Link to comment
Share on other sites

nu kā nu to ņem. ja tukšums arī skaitās vētība, tad jā.

 

pamēģini bez tiem if un else:

$m=(isset($_POST['c']) ? $_POST['c'] : '2');

kaut arī tik tiešām šaubos, vai tas ko dos ;)

 

Hmm, patiesiba patiesam nostradaja un viss iet labi. Paldies, lai gan es piekritu, ka tas ir divaini.

Link to comment
Share on other sites

Vispār interesanti. Arī pats pirmais variants ne par ko nebļauj :) Un izņemot integeru tur viss bija kārtībā. Tīri ziņkāres apmierināšanai, ko konkrēti viņš teica (orģināl valodā)?

 

2 Gu6ax

Dotajā gadījumā arī "tukšums" ir vērtība, un ar trim() tam nav nekāda sakara. isset() pārbauda, vai variablis vispār ir definēts. Ja man būs:

 

$var = NULL;

isset($var)....

arī atgriezīs true.

Edited by john.brown
Link to comment
Share on other sites

Tukšums un NULL ir vērtības!!!

isset() pārbauda runtime mainīgo hash-tabulu un tāda mainīgā esamību un viss...

 

Tāpat kā klasiskajā C/C++/Pascal, pirms pointera lietošanas tas ir jāizveido..

char *c = new char;

Link to comment
Share on other sites

×
×
  • Create New...