Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da napravim provjeru formi? Hitno!

[es] :: PHP :: Kako da napravim provjeru formi? Hitno!

[ Pregleda: 1661 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Daffa
Podgorica

Član broj: 175202
Poruke: 97
213.149.103.*



+2 Profil

icon Kako da napravim provjeru formi? Hitno!03.05.2008. u 18:57 - pre 194 meseci
Ljudi, zna li neko kako da napisem provjeru forme za datum oblika dd-mm-yyy (samo poslednje 3 cifre za godinu), znaci bas ovako kako sam napisao, sa ovim crtama? Ovaj datum treba zapisati u .txt fajl, to znam da uradim. Drugi problem je to, da kad korisnik ne ukuca datum, u .txt fajlu treba da se ispise "NEMA", a uz to, na kraju, treba da stoji #. Dakle: "NEMA#". Molim vas, pomozite, vec tri dana razbijam glavu oko ovoga, a uskoro treba da ga posaljem profesoru na mail. Puno hvala ljudi, unaprijed.
 
Odgovor na temu

feroc1ty

Član broj: 154894
Poruke: 90
203.162.2.*



Profil

icon Re: Kako da napravim provjeru formi? Hitno!04.05.2008. u 02:58 - pre 194 meseci
Ne mogu da zaspem. Pa rekoh da ti napisem kod
Nisam siguran da li ti to treba , ali tako nesto sam ja razumeo

Code:

<?php

if  ($_POST['submit'] == "")  { 
    
?>
<form action="" method=POST>
    <select name="dan">
    <option value="">--</option>
<?php
    for ($i=1;$i<31;$i++) {
        echo "<option>$i</option>";
    } 
?>
    </select>
    <select name="mesec">
    <option value="">--</option>
<?php
    for ($i=1;$i<12;$i++) {
        echo "<option>$i</option>";
    } 
?>
    </select>
    <select name="godina">
    <option value="">--</option>
<?php 
    for ($i=950;$i<999;$i++) {
        echo "<option>$i</option>";
    } 
?>
    </select>
    <input type="submit" name="submit" value="Send" />
</form>
<?
} else {
    
    $dan = $_POST['dan'];
    $mesec = $_POST['mesec'];
    $godina = $_POST['godina'];
    
    if ($dan ==  "" or $mesec == "" or $godina == "") {
        
        $datum = "NEMA# \n";
        
    } else {
        
        $datum = $dan . "-" . $mesec . "-" . $godina . "\n";
        
    }
       $file = fopen("datum.txt", "a" );
       fwrite($file, $datum);
    
}
    
?>
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
79.101.167.*



+35 Profil

icon Re: Kako da napravim provjeru formi? Hitno!04.05.2008. u 10:12 - pre 194 meseci
Mislim da ipak nije to trazio, Gorane.
Treba proveriti jedno tekst polje, koliko sam ja razumeo, a tu nam vec u pomoc priskacu - regularni izrazi!
http://www.php.net/regex
 
Odgovor na temu

CtrlAltDel
Beograd

Član broj: 96286
Poruke: 325
*.neobee.net.



Profil

icon Re: Kako da napravim provjeru formi? Hitno!04.05.2008. u 19:09 - pre 194 meseci
evo ti moja klasa dole.... naravno dodaj odgovarajuce formate ako se razlikuju od ovih u klasi

poenta je da imas tri niza prvi je sa vrednostima posta, drugi koji format unosa treba da bude i treci da li je obavezno ili nije za unos...

evo primera:
Code:

// niz sa vrednostima iz forme $post
$tip_unosa=array('txt','mail','telefon','mix');
$obavezno=array(1,1,0,1);
        
        $forma = new proveraforme();
        $forma -> kreiraj_matricu($post,$tip_unosa,$obavezno);
        $forma -> proveri_tip_unosa();
        $forma -> proveri_null();
        $forma -> proveri_greske();

// printanje rezultata
echo '<pre>':
print_r($forma->rezultati_forme);


Code:

// KLASA PROVERA FORME---------------------------------
class proveraforme
{
var $niz;
var $rezultati_forme;
var $duplikat;
var $proveri;
var $napomena;




function kreiraj_matricu($niz, $tip_unosa,$obavezno)
    {
    
        $rezultati_forme=array();
        $i=0;
        
        foreach ($niz as $indeks=> $vrednost)
        {
        $rezultati_forme[$i][0]=$indeks;
        $rezultati_forme[$i][1]=addslashes($vrednost);
        $rezultati_forme[$i][2]=$tip_unosa[$i];
        $rezultati_forme[$i][3]=$obavezno[$i];
        $rezultati_forme[$i][4]=0;                
        $i++;
        };
        
        $this->rezultati_forme=$rezultati_forme;
        
    }

function proveri_null()
    {
    
        $rezultati_forme=$this->rezultati_forme;
        for ($i=0; $i<=count($rezultati_forme)-1; $i++)
            {
                if( $rezultati_forme[$i][1]==NULL & $rezultati_forme[$i][2]!='ID' & $rezultati_forme[$i][3]==1) {$rezultati_forme[$i][4]=1;};                        
                    
            };
            $this->rezultati_forme=$rezultati_forme;
    }
    
//--- PROVERA UNOSA    
function proveri_tip_unosa()
    {
    
        $rezultati_forme=$this->rezultati_forme;
        for ($i=0; $i<=count($rezultati_forme)-1; $i++)
            {
            
                // samo slova i space--------------------
                if( $rezultati_forme[$i][2]=='txt' & !eregi("^[a-zžšèæðŠŽÈÆÐ,[:blank:]]{3,60}$", $rezultati_forme[$i][1])) 
                {$rezultati_forme[$i][1]=NULL;};                        
                //-----------------------------------------    
            
                // slova, cifre, space i crtica--------------------
                if( $rezultati_forme[$i][2]=='txt2' & !eregi("^[a-zžšèæðŠŽÈÆÐ0-9,[:blank:],-]{3,60}$", $rezultati_forme[$i][1])) 
                {$rezultati_forme[$i][1]=NULL;};                        
                //-----------------------------------------
                
                // nedozvoljeni znaci <, >, ", ' --------------------
                if( $rezultati_forme[$i][2]=='mix' & eregi("[<>\"\']", $rezultati_forme[$i][1])) 
                {if($rezultati_forme[$i][1]!=NULL & $rezultati_forme[$i][3]==0) {$rezultati_forme[$i][4]=1;}; $rezultati_forme[$i][1]=NULL;};                        
                //-----------------------------------------
            
                // samo cifre------------------------
                if( $rezultati_forme[$i][2]=='broj' & !eregi("^[0-9]{1,13}$", $rezultati_forme[$i][1])) 
                {$rezultati_forme[$i][1]=NULL;};
                //-----------------------------------
                
                
                //godiste do 4 cifre------------------------
                if( $rezultati_forme[$i][2]=='4cifre' & !eregi("^[0-9]{1,4}$", $rezultati_forme[$i][1])) 
                {$rezultati_forme[$i][1]=NULL;};
                //-----------------------------------
                
                
                // datum format----------------------
                if($rezultati_forme[$i][2]=='datum' &!eregi("^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$", $rezultati_forme[$i][1]))
                {$rezultati_forme[$i][1]=NULL;};
                //-----------------------------------
                
                //samo cifre i slova bez blank------
                if( $rezultati_forme[$i][2]=='user_pass' & !eregi("^[0-9,a-z]{1,26}$", $rezultati_forme[$i][1])) 
                {$rezultati_forme[$i][1]=NULL;};
                //----------------------------------
                
                // mail format----------------------
                if( $rezultati_forme[$i][2]=='mail' & !eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,3}$", $rezultati_forme[$i][1]))
                { if($rezultati_forme[$i][1]!=NULL & $rezultati_forme[$i][3]==0) {$rezultati_forme[$i][4]=1;};  $rezultati_forme[$i][1]=NULL;};
                //----------------------------------
                
                
                // telefon format-------------------
                if( $rezultati_forme[$i][2]=='telefon' & eregi("[a-z,A-Z,!\"#$;<>{}[%&'*,ŠÐÈÆŽžðæèš@^|]",$rezultati_forme[$i][1])) 
                { if($rezultati_forme[$i][1]!=NULL & $rezultati_forme[$i][3]==0) {$rezultati_forme[$i][4]=1;};$rezultati_forme[$i][1]=NULL;};
                //----------------------------------
            };
            $this->rezultati_forme=$rezultati_forme;
    }
//-----------------------------------------------


function proveri_greske() 
    {
        $rezultati_forme=$this->rezultati_forme;
        $napomena=$this->napomena;
        
        $broj_gresaka=0;
        for ($i=0; $i<=count($rezultati_forme)-1; $i++)
            {
            if ($rezultati_forme[$i][4]==1) {$broj_gresaka++;};
            };
        
        if($broj_gresaka >0) { $napomena.=' Pogrešno popunjenih polja:'.$broj_gresaka; } else { $napomena=NULL;};
        
        $this->napomena=$napomena;
    }    




//------------------------------------------

};
[code]
 
Odgovor na temu

[es] :: PHP :: Kako da napravim provjeru formi? Hitno!

[ Pregleda: 1661 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.