Kontrola vstupu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Kontrola vstupu – PHP – Fórum – Programujte.comKontrola vstupu – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
mickey
~ Anonymní uživatel
34 příspěvků
27. 6. 2015   #1
-
0
-

ucim sa na skusku, je tu niekto kto by mi vysvetlil tento priklad? staci tu cast hrubym pismom

<HTML>
<HEAD>
  <TITLE>Kontrola vstupu</TITLE>
</HEAD>
<BODY>
  <H1>Kontrola vstupu</H1>
    <FORM ACTION="kontrolav.php" METHOD="get">
    Zadajte cislo z rozsahu 5..10: <INPUT TYPE="text" NAME="cislo">
    <INPUT TYPE="submit" VALUE="vypocet">
  </FORM>
</BODY>
</HTML>

<?php
  $f=0;
  for($i=0;$i<=strlen($cislo)-1;$i++)
    if((ord($cislo[$i])<48)or(ord($cislo[$i])>57)) $f=1;

  if($f==1)echo "nezadali ste cele cislo!";
    else if($cislo<5 or $cislo>10)echo "cislo nie je z rozsahu 5..10";
           else echo "spravne zadanie";
//cisla maju ascii hodnoty 48..57
?>

Nahlásit jako SPAM
IP: 195.168.200.–
Reklama
Reklama
Kit+11
Guru
27. 6. 2015   #2
-
0
-

#1 mickey
Je to kontrola, zda se ve stringu nenachází jiný znak než číslice. Dle mého je to bez užitku.

Výrok "cisla maju ascii hodnoty 48..57" je lež. Čísla nemají ASCII hodnoty, ale ASCII hodnota je číslo.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2528 příspěvků
29. 6. 2015   #3
-
0
-

  $f=0;
  for($i=0;$i<=strlen($cislo)-1;$i++)
    if((ord($cislo[$i])<48)or(ord($cislo[$i])>57)) $f=1;

 <FORM ACTION="kontrolav.php" METHOD="get">
<INPUT TYPE="text" NAME="cislo"

$cislo = $_GET['cislo']; // nacti hodnotu z GET
$bool = false;
  for($i=0;$i<=strlen($cislo)-1;$i++) // projdi vsechny znaky stringu
    {
    $ch = ord($cislo[$i]); // preved znak na ciselnou hodnotu ascii ('A' ascii = 65 dec = 41 hexa, viz tabulka v odkaze)
    if ( $ch<48 or $ch>57 ) {$bool = true;} // porovnej cislo s 48 a 57 (48 dec = '0' ascii; 57 dec je 9 ascii)
    }

Cili, celkove to zjistuje, jestli mas v retezci poslanem pres ten input cisla nebo jine znaky. Jestli k tomu pouzijes $f = 0; nebo $f = false, na tom u tolik nesejde. Hlavne bys tam mel mit to $cislo = $_GET['cislo']; , jinak ti no na bezne nastavenem php nepojede.
 

http://www.pcdays.cz/wp-content/uploads/2011/09/200608081906_tabulkaASCII.jpg

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:5da2:44...–
peter
~ Anonymní uživatel
2528 příspěvků
29. 6. 2015   #4
-
0
-

K tomu ascii, je to treba na wikipedii
"ASCII je anglická zkratka pro American Standard Code for Information Interchange"
Je to zkratka pro tabulku znaku s anglickymi znaky. Mozna znas problemy s diakritikou a ruznym kodovanim, tak acsii je to prvni, anglictina, bez diakritiky.
Znaková sada ASCII, sada, seznam, tabulka znaku

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:5da2:44...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 88 hostů

Podobná vlákna

Kontrola vstupu — založil tirio

Kontrola vstupu — založil Kuba-$

Overenie vstupu — založil Anonymní uživatel

Nacteni vstupu — založil Alicek

Ošetření vstupu — založil Kenvelo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý