PHP Centeri avaleht Skriptikogu Küsimuste-vastuste leht Teadete vaatamine ja saatmine Foorum - koht küsimiseks Otsingumootor Siit saad infot meie kohta

Kasutajanimi:  
  Parool: 
  Registreeri!   Unustasid salasõna?

Foorumid Programmeerimine Värsked skriptid Vormi tekitamise klass v1
Autor Abi Postitus Abi

mrq


Postitusi: 338
Tase: 6
Olek: Offline

Hinnang: Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10
Vormi tekitamise klass v1

Sain kah ühe vormi tekitamise klassi valmis.
Keegi võiks seletada kuidas teha mitme valikuga elemente korrektselt. Hetkel veidi suxib see asi seal. Kasvõi see radiobuttoniga!
Muidumeez, kuidas sina selle lahendasid?
PHP kood:

<?php
/**
 * Selle klassiga saab vorme tekitada
 * Versioon 1.0
 * Autor: Mrq
 * Loodud: 3.02.2003
 * Muudetud: 3.02.2003
 */
class form {
    
/**
     * asetus, right,left,center
     */
    
var $align;
    
/**
     * üles, alla, keskel
     */
    
var $valign;
    
/**
     * tausta värv
     */
    
var $bgcolor;
    
/**
     * sisestuse nimi
     */
    
var $name;
    
/**
     * mitu veergu ehk col vaja
     */
    
var $veerge;
    
/**
     * palju aga olemas on
     */
    
var $olemas_veerge;
    
/**
     * Kõik vormi elemendid, mis vähegi võimalik checkbox,radio,file,image,textarea,text,password,submit,reset,button
     */
    
function input($name$type "text"$value ""$size ""$max ""$lisa "")
    {
        global 
$_REQUEST;
        if (empty(
$value) AND isset($_REQUEST)) {
            while (list(
$index$vaartus) = each($_REQUEST)) {
                if (
$index == $name) {
                    
$value $vaartus;
                } 
            } 
        } 
        
/**
         * väljasta valitud tyyp
         */
        
switch ($type) {
            case 
"tyhi":
                
$valja $value;
                
$this->olemas_veerge++;
                break;
            case 
"checkbox":
                
$valja '<input name="' $name '" type="checkbox" value="' $value '" ' $lisa '">';
                break;
            case 
"radio" OR "radiobutton":
                
$valja '<input name="' $name '" type="radio" value="' $value '" ' $lisa '>';
                break;
            case 
"file":
                
$piirangud "";
                if (!empty(
$size))
                    
$piirangud .= 'cols="' $size '" ';
                if (!empty(
$max))
                    
$piirangud .= 'rows="' $max '" ';
                
$valja '<input name="' $name '" type="file" ' $piirangud '>';
                break;
            case 
"image":
                
$piirangud "";
                if (!empty(
$size))
                    
$piirangud .= 'width="' $size '" ';
                if (!empty(
$max))
                    
$piirangud .= 'height="' $max '" ';
                
$valja '<input name="' $name '" type="image" src="' $value '" ' $piirangud ' ' $lisa '>';
                break;
            case 
"textarea":
                
$piirangud "";
                if (!empty(
$size))
                    
$piirangud .= 'cols="' $size '" ';
                if (!empty(
$max))
                    
$piirangud .= 'rows="' $max '" ';
                
$valja '<textarea name="' $name '" ' $piirangud ' ' $lisa '>' $value '</textarea>';
                break;
            case 
"password":
                
$piirangud "";
                if (!empty(
$size))
                    
$piirangud .= 'size="' $size '" ';
                if (!empty(
$max))
                    
$piirangud .= 'maxlength="' $max '" ';
                
$valja '<input name="' $name '" id="' $name '" type="password" ' $piirangud ' ' $lisa '>';
                break;
            case 
"submit":
                
$valja '<input name="' $name '" type="submit" value="' $value '" ' $lisa '>';
                break;
            case 
"button":
                
$valja '<input name="' $name '" type="button" value="' $value '" ' $lisa '>';
                break;
            case 
"reset":
                
$valja '<input name="' $name '" type="reset" value="' $value '" ' $lisa '>';
                break;
            default:
                
$piirangud "";
                if (!empty(
$size))
                    
$piirangud .= 'size="' $size '" ';
                if (!empty(
$max))
                    
$piirangud .= 'maxlength="' $max '" ';
                
$valja '<input name="' $name '" id="' $name '" type="text" value="' $value '" ' $piirangud ' ' $lisa '>';
        } 
        return 
$valja "n";
    } 
    
/**
     * select ehk valikmenüü
     */
    
function select($nimi 0$masiiv 0$selected 0$tegevus 'onchange="this.form.submit()"')
    {
        if (isset(
$nimi) AND is_array($masiiv)) {
            if (
count($masiiv) > 1) {
                
$valja '<select name="' $nimi '" ' $tegevus '>' "n";
                if (
is_array($masiiv)) {
                    while (list(
$vaartus$kiri) = each($masiiv)) {
                        if (
$selected == $vaartus)
                            
$valja .= '<option value="' $vaartus '" selected="selected">' $kiri '</option>' "n";
                        else
                            
$valja .= '<option value="' $vaartus '">' $kiri '</option>' "n";
                    } 
                } 
                
$valja .= '</select>' "n";
            } else {
                list(
$vaartus$kiri) = each($masiiv);
                
$valja '<input name="' $nimi '" type="hidden" value="' $vaartus '">';
            } 
            return 
$valja "n";
        } else {
            return 
0;
        } 
    } 
    
/**
     * Vormi algus
     */
    
function algus($name "form"$action ""$method "post"$enctype "multipart/form-data")
    {
        
$this->name $name;
        echo
'<form action="' $action '" method="' $method '" enctype="' $enctype '" name="' $name '">' "n";
    } 
    
/**
     * Tabeli algus
     */
    
function tabel($align "center"$border "0"$width "100%"$height "100%"$padding "2"$spacing "2"$brdcolor "#FFFFFF"$bgcolor "#FFFFFF")
    {
        
$this->align $align;
        
$this->bgcolor $bgcolor;
        echo
'<table align="' $align '" border="' $border '" width="' $width '" height="' $height '" cellpadding="' $padding '" cellspacing="' $spacing '" bordercolor="' $brdcolor '" bgcolor="' $bgcolor '">' "n";
    } 
    
/**
     * väljasta vormi nimi
     */
    
function nimi($name ""$align ""$valign ""$veerge "2")
    { 
        
// annan uue väärtuse
        
if (!empty($name))
            
$this->name $name
        
// annan uue väärtuse
        
if (!empty($align))
            
$this->align $align
        
// uus muutuja vajab väärtust
        
$this->veerge $veerge;
        echo
'<tr align="' $this->align '"> 
      <td colspan="' 
$this->veerge '">' $this->name '</td>
    </tr>' 
"n";
    } 
    
/**
     * Väljasta mingi vormi element
     */
    
function element($nimi ""$tyyp "text"$value ""$align ""$valign ""$bgcolor ""$size ""$max ""$lisa "")
    {
        
$this->valign $valign;
        
$this->bgcolor $bgcolor;
        if (empty(
$this->olemas_veerge))
            
$this->olemas_veerge 0;
        echo
'<tr>' "n";
        if (isset(
$this->veerge)) {
            if (
$this->veerge == 1) {
                echo
'<td align="' $align '" valign="' $valign '" bgcolor="' $bgcolor '">' $nimi '</td>
                </tr>
                <tr>
                <td align="' 
$align '" valign="' $valign '" bgcolor="' $bgcolor '">' $this->input($nimi$tyyp$value$size$max$lisa) . '</td>' "n";
                
$this->olemas_veerge 1;
            } elseif (
$this->veerge >= 2) {
                echo
'<td align="' $align '" valign="' $valign '" bgcolor="' $bgcolor '">' $nimi '</td>';
                if (
$tyyp == "tyhi" AND $this->veerge 2)
                    echo
'<td align="' $align '" valign="' $valign '" bgcolor="' $bgcolor '">&nbsp;</td>';
                else
                    echo
'<td align="' $align '" valign="' $valign '" bgcolor="' $bgcolor '">' $this->input($nimi$tyyp$value$size$max$lisa) . '</td>';
                
$this->olemas_veerge 2;
            } 
            if (
$this->olemas_veerge $this->veerge) {
                if (
$tyyp == "tyhi") {
                    echo
'<td align="' $this->align '" valign="' $this->valign '" bgcolor="' $this->bgcolor '">' $this->input($nimi$tyyp$value$size$max$lisa) . '</td>';
                } else {
                    echo
'<td align="' $align '" valign="' $valign '" bgcolor="' $bgcolor '">&nbsp;</td>';
                } 
                
$this->olemas_veerge++;
            } else {
                echo
'</tr>';
            } 
        } 
    } 
    
/**
     * Lõpetame tabeli ja vormi
     */
    
function lopp()
    {
        echo
'</table></form>';
    } 

$vormi = new form;
?>



___________________________________________________
\"A bus station is where a bus stops. A train station is where a train stops.
On my desk, I have a workstation...\"
Anomaaliad toimuvad Area 51

04.02.2003 20:46:05 Vajutades siia näed kasutaja mrq profiili

mrq


Postitusi: 338
Tase: 6
Olek: Offline

Hinnang: Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10
RE: Vormi tekitamise klass v1

Piirangud kah peal 10000, üle selle ei lasknud panna, eks panen lisa postitusena ka klassi kasutamise!
PHP kood:

$vormi->ise("test","","post");
$vormi->tabel("center",0,500,100,0,0,"","");
$vormi->nimi("Test","center","",3);
            
if(isset(
$_REQUEST['kapsas'])){
        
$vormi->element("kapsas","text",$_REQUEST['kapsas'],"left","top","#84D951","21","20")."\n";
        
$vormi->element("","tyhi","siia tuleb viga","center","top","#84D951","21","20")."\n";
}else{
        
$vormi->element("kapsas","text","","left","top","#84D951","21","20")."\n";
        
$vormi->element("","tyhi","siia tuleb viga","center","top","#84D951","21","20")."\n";
}
if(isset(
$_REQUEST['jalg'])){
        
$vormi->element("jalg","textarea",$_REQUEST['jalg'],"left","top","#999999","21","20")."\n";
        
$vormi->element("","tyhi","siia tuleb viga","center","top","#84D951","21","20")."\n";
}else{
        
$vormi->element("jalg","textarea","","left","top","#999999","21","20")."\n";
        
$vormi->element("","tyhi","siia tuleb viga","center","top","#84D951","21","20")."\n";
}
if(isset(
$_REQUEST['Meeldib'])){
        if(
$_REQUEST['Meeldib'] == 1)
                
$vormi->element("Meeldib","radio","1","left","top","#999999","21","20",'checked="checked"')."\n";
        else
                
$vormi->element("Meeldib","radio","1","left","top","#999999","21","20")."\n";
        if(
$_REQUEST['Meeldib'] == 2)
                
$vormi->element("Meeldib","radio","2","left","top","#999999","21","20",'checked="checked"')."\n";
        else
                
$vormi->element("Meeldib","radio","2","left","top","#999999","21","20")."\n";
        
$vormi->element("","tyhi","siia tuleb viga","center","top","#84D951","21","20")."\n";
}else{
        
$vormi->element("Meeldib","radio","1","left","top","#999999","21","20")."\n";
        
$vormi->element("Meeldib","radio","2","left","top","#999999","21","20")."\n";
        
$vormi->element("","tyhi","siia tuleb viga","center","top","#84D951","21","20")."\n";
}
$vormi->element("fail","file","fail","left","#999999")."\n"
$vormi->element("","submit","Sisesta","right","#999999")."\n";
$vormi->lopp();



___________________________________________________
\"A bus station is where a bus stops. A train station is where a train stops.
On my desk, I have a workstation...\"
Anomaaliad toimuvad Area 51

04.02.2003 20:47:25 Vajutades siia näed kasutaja mrq profiili

muidumeez
Ignorantia non est
argumentum


Postitusi: 3864
Tase: Administraator
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
kurb RE: Vormi tekitamise klass v1

Einoh, jah, klass nagu klass ikka. Aga vaat kasutamin ... kui tahad ikka teha vormi, siis sellise pika definitsiooni tegemine on ikka päääääris jube ...

Panin püsti ka oma klassi vormide tekitamiseks. Allpool on toodud samuti vormi definitsioon:

PHP kood:

  include "tabinp.php"# inkljuudime klassi definitsiooni


  
$FORM = new InputForm(); # loome uue vormi

  
$FORM->FormName "SISEND"# Anname vormile nimi
  
$FORM->TabAlign "CENTER"# vorm tsentreeritakse
  
$FORM->TabCellSpacing 1# vormi kärgede vahel on 1 pixel

  
$FORM->TabBGCOLOR "BLACK"# Tabeli üldine taust on musta värvi
  
$FORM->TabTRBG "white"# Tabeli kärgede taustavärv on valge
# kaks viimast parameetrit tekitavad peene musta joone kärgede vahele

  
$FORM->SetInput("Tere. See on laiendus (sisendvormid)"); 

# Ütleme, et tegu on kaheveerulise sisendaknaga, mille pealkiri on ...
# Allpool defineerime mõned vormingu sisendid
# Meetod on Inp($prompt,$fieldname,$fieldtype="TX", $length=10,$default = "")
# Sisendmeetodid on : TX - lihtsalt tekst, sisendit ei ole
#     IN - tavaline <INPUT TYPE=TEXT>
#    CB  - checkbox
#    TA  - TEXTAREA
#    RB  - radiobutton
#    SN  - <SELECT, tagastatakse number
#    ST - <SELECT, tagastatakse tekst
#    FL - <INPUT TYPE=FILE
#    jne jne, tegelikult on erinevaid meetodeid 20

  
$FORM->Inp("Tere *","tere","IN","20",$_POST["tere"]);

# tärnike tähendab, et tegu on kohustusliku väljaga
# Saab määrata ka meetodiga SetRequired($fieldname, $message)
  
$FORM->Inp("Kes sa oled","kessaoled","TA","60",$_POST["kessaoled"]);
  
$FORM->Inp("Vanus","vanus","ST",",,1-10,,11-20,,21-30,,31-40,,40 ja vanem",$_POST["vanus"]);
  
$FORM->Last("&nbsp;Sugu:&nbsp;");
  
$FORM->Last("sugu","ST","M,,N",$_POST["sugu"]);
  
$FORM->Inp("Miski number","nummer","SN","1,,2,,3,,4,,5,,6",$_POST["nummer"]);
  
$FORM->Inp("Tsekpoks","tb","CB","",$_POST["tb"]);
  
$FORM->Txt("Kuidas meeldib");

# Meetod Last lisab välja viimase defineeritud välja järele

  
$FORM->Last("Jah");
  
$FORM->Last("meeldib","RB","1",$_POST["meeldib"]);
  
$FORM->Last("&nbsp;Ei :&nbsp;");
  
$FORM->Last("meeldib","RB","2",$_POST["meeldib"]);
  
$FORM->Inp("Laadime faili","filee","FL","40",$_POST["filee"]);

# Määrame SUBMIT nupu koos tekstiga
  
$FORM->SetOk("Okei");


# Joonistame vormi
  
$FORM->Draw();


Vaadata saab tulemust siit. Klasse ise saad osta siit

___________________________________________________
An Opinion Is Like An Asshole -- Everybody Has One

05.02.2003 10:18:20 Vajutades siia näed kasutaja muidumeez profiili

mrq


Postitusi: 338
Tase: 6
Olek: Offline

Hinnang: Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10Administratiivhinnang: 6/10
RE: Vormi tekitamise klass v1

Tegin valmis uue vormi versiooni 1.0.0.1 aga seda enam ei mahu siia postitame :P
Aga vormi tekitab selline asi valmis! Veidi lühem
Selle klassi manual on siin
PHP kood:

/*Teen globaalseks*/ 
if(isset($_REQUEST)) { 
    while (list(
$index$vaartus) = each($_REQUEST)) {
        echo 
$index.'=>'.$vaartus.'';
        
$index $vaartus;
    }
}
/*raadio buttoni jaoks tekitan lisa väärtused, et saaks panna selekteeritud või mitte*/
$lisa1="";
$lisa0="";
if(
$meeldib==1){
        
$lisa1='checked="checked"';
}elseif(
$meeldib==0){
        
$lisa0='checked="checked"';
}
$vormi = new form;//kutsume klassi välja
$vormi->vorm("Test","","GET");//vormi nimi ja meetod sisse. Võimalikud varjandid $name, $action, $method = "post", $enctype = ""
$vormi->tabel("center""1""400""200""black");//tabeli algus, kus paikneb, joon, kõrgus, laius, joone värv jne.
$vormi->element("Kui vana olete?"$vormi->input("vanus""text"$vanus43), 2"left""middle" "#84D951");//siin tekitan veeru koos input fieldiga
$vormi->element("Valige fail"$vormi->input("fail""file"$fail), 2"left""middle" "#FFFFF1");//sama ka siin ainult tegu on file browsega ja see sõidab üle enctype ja methodi. Eelmised seaded ei kehti enam <img src="http://phpcenter.eu/img/smilied/pilk.gif" border="0"> Kaval?
$vormi->element("Kas meeldib?"'Jah'.$vormi->input("meeldib""radio""1","","",$lisa1).'Ei'.$vormi->input("meeldib""radio""0","","",$lisa0), 2"left""middle" "#FFFFF1");//valik radiot
$vormi->element(""$vormi->input("Sisse""submit""Sisse"), 2"center""middle" "#84D951");//nupuke
$vormi->lopp("Kuidas teile meeldib?""left");



Seda postitust on muudetud 1 kord (2003-02-05 11:52:25 mrq poolt)

___________________________________________________
\"A bus station is where a bus stops. A train station is where a train stops.
On my desk, I have a workstation...\"
Anomaaliad toimuvad Area 51

05.02.2003 11:30:20 Vajutades siia näed kasutaja mrq profiili

mihkel


Postitusi: 1324
Tase: 9
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Vormi tekitamise klass v1

Peab ütlema, et manuaal on küll väga meeldivalt vormistatud. Kahjuks on aga manuaali JS-funktsionaalne pool kannatada saanud ning leht on "Done, but with errors."...


___________________________________________________
Skype me: mihkelkaru

05.02.2003 18:56:42 Vajutades siia näed kasutaja mihkel profiili
Kokku: 25947 registreerunud kasutajat, 9711 teemat, 54603 postitust.
Täna on pühapäev, 22. september 2019. Kell on 21:41.

    Vaata selle lehe printerisõbralikku versiooni

Avaleht   -    Skriptikogu   -    Teated   -    Foorum   -    Reklaam   -    Tagasiside   -    Kasutamise reeglid

© Copyright 2002-2019 PHP Center. Kõik õigused reserveeritud.