Jump to content
php.lv forumi

filter_has_var


Sangsom

Recommended Posts

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!

Link to comment
Share on other sites

šī 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"];
}

Link to comment
Share on other sites

šī 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);

Link to comment
Share on other sites

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);

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