| 
		
						
			
			
	
				 | 
			
		
		
			
		
  
		| 
 
 
	
	
 
 
   
        
        
             
        
        
        | 
	Varovani
         | 
             16.7.2004 15:33
			      
                             Michal Čihař
			      
         | 
	
         
            <?echo $_POST["email"]?> muze skoncit s varovanim, ze to neni definovano (pri vhodnem nastaveni php.ini), pri privnim vstupu na formular <?echo if (isset($_POST["email"])) $_POST["email"]?> je lepsi....  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Re: Varovani
         | 
             17.7.2004 19:41
			      
                             Petr Zajíc
			      
         | 
	
         
            Pravda. Je vidět, že jsem byl zase příliš stručný na úkor přesnosti. Pokud je error_reporting nastaveno na WARNING, může se to stát. I když na produkčních serverech se warnings nechávají většinou vypnuté, přesto je lepší na to nespoléhat a psát neprůstřelně.  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Taky neco dodam :-)
         | 
             17.7.2004 17:09
			      
                             mysql_php
			      
         | 
	
         
            Doufam co napisu se hodi k danemu tematu :-).. Je velkou pravdou ze nekteri lide jsou tak trosku skodlolibi a hledaji ruzne chyby ktery programator udelal. Uz jsem se setkal s formularema ktere nebyli vubec osetreny od chyb a kdyz jo tak jen JavaScriptem ten je sice nekdy dobrej ale jako overovani neboli hlidani jestli uzivatel vyplnil co ma neni vhodny.. Ted k veci.. Overovani validity dat vyzaduje uzitipodminenych prikazu a mnoha dalsich funkci,operatoru a vyrazu. Jednou z casto pouzivanych funkci je isset(); ktera overuje, zda promena obsahuje hodnotu (vcetne nuly, avsak nikoli hodnotu NULL nebo FALSE). napr. 
 
if (Isset($promena)) { 
  // $promena obsahuje hodnotu 
 } else { 
  // $promena neobsahuje hodnotu 
 } 
 
Funkce isser(); ma jeden nedostatek a to u prazdneho retezce vraci hodntu TRUE. Takze jestli chceme testovat textove hodnoty tak radeji pouzit funkce strlen(); ktera urci pocet znaku v zadanem retezci. napr... 
 
if (strlen($promena) > 0) { 
  // $promena obsahuje hodnotu 
 } else { 
  // $promena neobsahuje hodnotu 
} 
 
Kdyby byl nekdo jinaciho nazoru tak to sem pisnete rad si doplnim nedostatky.. 
  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Re: Taky neco dodam :-)
         | 
             17.7.2004 19:47
			      
                             Petr Zajíc
			      
         | 
	
         
            Já myslím, že to k tématu je určitě ;-) 
 
Samozřejmě, že často nestačí ověřit, zda bylo "něco" zadáno, ale musí se ověřit, zda to "mohlo" být číslo, telefon, IČO, DIČ, e-mail a podobně. Pro "neprůstřelný" formulář bude pochopitelně nutné vynaložit značné úsilí a často se bude při ověřování používat více než jedno "pravidlo hry". Většinou se použije jedna či více funkcí pro práci s řetězci anebo regulárními výrazy.  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Re: Taky neco dodam :-)
         | 
             13.7.2010 13:21
			      
                             Tomáš Kováčik
			      
         | 
	
         
            "Funkce isser(); ma jeden nedostatek a to u prazdneho retezce vraci hodntu TRUE" toto je nedostatok? funkcia isset() sluzi na overenie, ci je premenna definovana.. ak mas definovanu prazdnu premennu a chces zistit, ci je uz definovana, samozrejme, ze vrati TRUE.. ak chces zistit, ci je prazdna alebo nie je prazdna, pouzi: 
if (isset($premenna) && $premenna)) { ... }
 
Naco zbytocne pouzivat funkciu strlen? Ta sluzi na uplne ine veci, napriklad skratenie textu, ak je dlhsi nez x znakov... | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Display error
         | 
             20.2.2008 21:54
			      
                             Dan Pelíšek
			      
         | 
	
         
            | Dobrý den
potom, co jsem zapnul v php.ini zobrazování chyb (display_errors on) mi v příkladu "profi přístup" (a i v ostatních případech) hned po spuštění skriptu vepíše do kolonky text "<br/>
<b>Notice</b>:  Undefined index:  email in <b>C:\php</b> on line <b>27</b><br/>".
Myslím že je to proto, že při prvním zpuštění není známá proměná $_POST["email"]. Napadlo mě řešení před vepsáním $_POST["email"] zkontrolovat, zdali není prázdná, ale zdá se mi příliš dlouhé. Nedalo by se to řešit nějak jinak? například nastavením v php.ini nebo v nějakém conf souboru apache? | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Re: Display error
         | 
             20.2.2008 21:56
			      
                             Dan Pelíšek
			      
         | 
	
         
            Až teď sem si všiml že toto se tu už rešilo, takže se omouvám za špinění diskuze a příště si jí rači předem lépe přečtu.  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Dotaz na POST
         | 
             12.6.2009 19:19
			      
                             Jan Nepovim
			      
         | 
	
         
            Dobry den, 
 
jak bylo v článku popsání je možno zpětně vyplňovat pole po nuúspěšném ověřování aby je uživatel mohl opravit, ale je to ukázáno jen v ránci jednoho soouboru. Zajímám mě tedy jestli, popř. jak by se ono zpětné vyplněný zadaných údajů řešilo poked byse pracovalo se dvěma soubory? (např. formilar.php a zpracuj.php)  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	ereg()
         | 
             26.6.2010 14:25
			      
                             Oleg Matskiv
			      
         | 
	
         
            Četl jsem že funkce ereg() byla v nove verzi PHP odstraněna. Na internetu jsem našel novou funkci preg-match ale nevim jak ji korektně použit. Poradi mi někdo ? Popř. bylo by dobre kdyby autor upravil kód v článku.  | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
        
             
        
        
        | 
	Re: ereg()
         | 
             25.1.2013 13:55
			      
                             Jan joukercz Stejskal
			      
         | 
	
         
            Funguje úplně stejně jako ereg, jen s tím rozdílem, že se musí umístit jakékoliv 2 stejné znaky na začátek a na konec v mém příkladu jsou to křížky. Jinak je to naprosto to samé
 
 
preg_match("#^[0-9]+$#") | 
         
        
        | 
	
   
         | 
         
                   
         | 
         
         
	
   | 
  
 
 
   
  | 
 
 | 
	KOMENTARZE
 
         | 
  
 
   | 
     
    
   
    Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
   
  
   | 
  
 
 | 
	
	 
	Szukanie oprogramowania
					  
		
 
				 | 
			
			
				
					©Pavel Kysilka - 2003-2025 | 
					mail linuxsoft.cz | Design: 
					www.megadesign.cz
					
				 |