Sangsom Posted January 27, 2011 Report Share Posted January 27, 2011 Sveiki, atkal ir problēma kurai nesanāk izdomāt risinājumu. Lasu vienu grāmatu par PHP un MySQL, taču viņa ir paredzēta PHP 6 versijai, bet man ir 5.1.6, jā varētu vienkārši uzlikt vajadzīgo, bet gribu uzzināt ka to pašu rezultātu dabut uz manas versijas.. Ceru uz jūsu palīdzību... Tātad ir HTML checkbox forma, kas nosūta datus uz PHP lapu ar POST metodi, uz PHP lapas izvada kādus produktus esi izvēlejies HTML formā un saskaita ari to produktu cenu, kas ir norādīta checkboxu value.. <?php $total = 0; if (filter_has_var(INPUT_POST, "chkFries")){ print "<p>You wanted fries</p> \n"; $total += filter_input(INPUT_POST, "chkFries"); } if (filter_has_var(INPUT_POST, "chkSoda")){ print "<p>You wanted a soda</p> \n"; $total += filter_input(INPUT_POST, "chkSoda"); } if (filter_has_var(INPUT_POST, "chkShake")){ print "<p>You wanted a shake</p> \n"; $total += filter_input(INPUT_POST, "chkShake"); } if (filter_has_var(INPUT_POST, "chkKetchup")){ print "<p>You wanted ketchup</p> \n"; $total += filter_input(INPUT_POST, "chkKetchup"); } print "<p>The total cost is: \$$total</p> \n"; ?> Pēc grāmatas php kods izskatās šādi.. uz manas esošās versijas nedarbojas tie filter_has_var un filter_input to vajadzētu kautkādīgi pārrakstīt ar $_REQUEST, bet vēlamo rezultātu nesanāk dabūt.. Paldies! Quote Link to comment Share on other sites More sharing options...
rpr Posted January 27, 2011 Report Share Posted January 27, 2011 šī funkcija darbojas sākot ar 5.2 versiju. palasi dokumentāciju php.net isset($_POST["chkFries"]) manuprāt varētu būt alternatīva un pat īsāk rakstās, bet es iespējams pat izmantotu vēl vienkāršāk: if($_POST["chkFries"]) { print "<p>You wanted fries</p> \n"; $total += $_POST["chkFries"]; } Quote Link to comment Share on other sites More sharing options...
Sangsom Posted January 27, 2011 Author Report Share Posted January 27, 2011 Perfekti, lielais paldies viss strādā kā nakas !!! :) Quote Link to comment Share on other sites More sharing options...
briedis Posted January 27, 2011 Report Share Posted January 27, 2011 šī funkcija darbojas sākot ar 5.2 versiju. palasi dokumentāciju php.net isset($_POST["chkFries"]) manuprāt varētu būt alternatīva un pat īsāk rakstās, bet es iespējams pat izmantotu vēl vienkāršāk: if($_POST["chkFries"]) { print "<p>You wanted fries</p> \n"; $total += $_POST["chkFries"]; } un error log'u aiz**** ar notice'iem, jo ja čekbokss netiek atķeksēts, tad nemaz netiek definēts tāds indekss $_POST masīvā. Jālieto būtu if(isset($_POST['checkbox'])) un izstrādes vidē vienmēr vajadzētu ieslēgt error reportingu, lai redzētu šādas kļūdas. ini_set("display_errors", true); error_reporting(E_ALL); Quote Link to comment Share on other sites More sharing options...
Sangsom Posted January 27, 2011 Author Report Share Posted January 27, 2011 briedis Paldies par to error report kodu, to vel nebiju zinājis! ) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 27, 2011 Report Share Posted January 27, 2011 Pag, tā ir kaut kāda "grāmata no nākotnes"? O.o Quote Link to comment Share on other sites More sharing options...
Sangsom Posted January 27, 2011 Author Report Share Posted January 27, 2011 Gan jau.. Saucas PHP 6/ MySQL Programming Andy Harris :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 27, 2011 Report Share Posted January 27, 2011 Es prasu, jo PHP 6 vēl nav iznācis... =] Quote Link to comment Share on other sites More sharing options...
rpr Posted January 28, 2011 Report Share Posted January 28, 2011 nu par noticiem manuprāt tas ir tāds gaumes jautājums, defaultā tomēr ini failā notici tiek ignorēti. un error log'u aiz**** ar notice'iem, jo ja čekbokss netiek atķeksēts, tad nemaz netiek definēts tāds indekss $_POST masīvā. Jālieto būtu if(isset($_POST['checkbox'])) un izstrādes vidē vienmēr vajadzētu ieslēgt error reportingu, lai redzētu šādas kļūdas. ini_set("display_errors", true); error_reporting(E_ALL); Quote Link to comment Share on other sites More sharing options...
briedis Posted January 28, 2011 Report Share Posted January 28, 2011 nu par noticiem manuprāt tas ir tāds gaumes jautājums, defaultā tomēr ini failā notici tiek ignorēti. Nedomāju, ka būtu kāds attaisnojums kodēt ar notice'iem, kur citā "normālā" programmēšanas valodā būtu fatal errori. Quote Link to comment Share on other sites More sharing options...
rpr Posted January 28, 2011 Report Share Posted January 28, 2011 tas nav bugs, tā ir fīča :) 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.