|
|
Oldal: 1 / 1
|
[ 10 hozzászólás ] |
|
HTML alapú űrlappalhoz infó kellene.
Szerző |
Üzenet |
Dj Faustus
arany tag
Csatlakozott: hétf. ápr. 26, 2004 14:57 Hozzászólások: 470
|
Re: szavazás
tolditoma írta: Sziaztok, az lenne a kérdésem, hogy az oldalamra hogy tudnék egy szavazó falat eilleszteni, régebben ment a dolog, volt is egy mintám amit megcsináltam, de most nem találom. Igazából képekhez szeretném csinálni ezt, hogy lehessen értékelni Qket. köszi A gonosz válasz erre az lenne: nézd meg a HotScripts-en, vagy az, hogy írd meg magad.
De mivel nem vagyok gonosz, íme itt van egy nagyon leegyszerűsített változat (Nem kell hozzá adatbázis, egy egyszerű szöveges állományban tárolja az adatokat).
Tegyük fel, hogy az ürlapod ( kepek.html) a következőképp néz ki:
Kód: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> </head> <body> <form action="szavaz.php" method="post"> <img src="1.jpg" alt="első"><br> <input type="radio" name="1" value="1">1 <input type="radio" name="1" value="2">2 <input type="radio" name="1" value="3">3 <input type="radio" name="1" value="4">4 <input type="radio" name="1" value="5">5<br>
<img src="2.jpg" alt="második"><br> <input type="radio" name="2" value="1">1 <input type="radio" name="2" value="2">2 <input type="radio" name="2" value="3">3 <input type="radio" name="2" value="4">4 <input type="radio" name="2" value="5">5<br>
<img src="3.jpg" alt="harmadik"><br> <input type="radio" name="3" value="1">1 <input type="radio" name="3" value="2">2 <input type="radio" name="3" value="3">3 <input type="radio" name="3" value="4">4 <input type="radio" name="3" value="5">5<br> <input type="submit" value="Send"><br> </form> </body> </html> A képfile neve (src="..."), illetve megnevezése (alt="..."), bármi lehet. Viszont a rádiógomb neve, illetve értéke nem (lásd később)! A szavaz.php a következőképp alakul: Kód: <?php /* Változók */ $filename = 'adat.txt'; //Az adatfile neve $szavazas = Array(); //Az aktuális szavazások tömbje $eredmeny = Array(); //Az eredmények tömbje $maxszavazas = 3; //A szavazások száma
/* Ürlap lekérdezése */ for ($i=0; $i<$maxszavazas; $i++) { //Végigmegyünk az összes szavazáson $szavazas[$i] = @$_REQUEST[$i+1]; //Lekérdezés (a @ azért van ott, hogy elkerüljük a nemszavazással járó hibaüzeneteket. if (($szavazas[$i] != 1) && ($szavazas[$i] != 2) && ($szavazas[$i] != 3) && ($szavazas[$i] != 4) && ($szavazas[$i] != 5)) { $szavazas[$i]=0; //Ha nem szavaz, a szavazás pontértéke 0 } }
/* Létező állományból az adatok beolvasása */ if (file_exists($filename)) { //Ha létezik az állomány... $fa = fopen($filename, "r"); //...akkor megnyitjuk olvasásra $sor = 0; while ( ! feof( $fa ) ) { $buffer = fgets( $fa, 2048 ); //Egy sor betöltése if ( $buffer != "" ) { $eredmeny[$sor]=explode(" ",$buffer); //Részekre bontás (elválasztó rész: szóköz) $sor++; } } fclose($fa); //File bezárása } else { //Ha nem létezik adatállomány for ($i=0; $i<$maxszavazas; $i++) { //Akkor nincsenek eredmények $eredmeny[$i][0]=0; $eredmeny[$i][1]=0; } }
/* Eredmények frissítése */ for ($i=0; $i<$maxszavazas; $i++) { //Végigmegyünk az összes szavazáson if ($szavazas[$i]!=0) { $eredmeny[$i][0]=$eredmeny[$i][0]+$szavazas[$i]; //Összpontszám $eredmeny[$i][1]=$eredmeny[$i][1]+1; //Szavazások száma } }
/* Eredmények eltárolása */ $fa = fopen($filename, "w+"); //File megnyitása írásra for ($i=0; $i<$maxszavazas; $i++) { //Végigmegyünk az összes szavazáson $buffer=$eredmeny[$i][0]." ".$eredmeny[$i][1]."\r\n"; //A két eredmény szóközzel elválasztva CR+LF-el a végén fputs( $fa, $buffer); //File-ba írás } fclose($fa); //File bezárása
/* Visszajelzés */ print ("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n"); print ("<html>\n"); print (" <head>\n"); print (" <meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-2'>"); print (" <title>Köszönöm!</title>\n"); print (" </head>\n"); print (" <body>\n"); print (" <p>Köszönom hogy szavaztál!</p>\n"); print (" <p>Vissza a <a href='kepek.html'>képekhez</a>.</p>\n"); print (" </body>\n"); print ("</html>\n"); ?> Mint látható, a script a rádiógomb nevét és értékét használja fel. Ezért nem lehet más neve illetve értéke a rádiógombnak. Ha bővíteni akarod, a kepek.html-nél a <form> és </form> közé szúrd be: Kód: <img src="blabla.jpg" alt="blablabla"><br> <input type="radio" name="x" value="1">1 <input type="radio" name="x" value="2">2 <input type="radio" name="x" value="3">3 <input type="radio" name="x" value="4">4 <input type="radio" name="x" value="5">5<br> , ahol x a soron következő szám (esetünkben a 4), illetve a szavaz.php-ben a $maxszavazas értékét állítsd át x-re (esetünkben 4-re). Kiértékelés ( ertekel.php): Kód: <?php /* Változók */ $filename = 'adat.txt'; //Az adatfile neve $eredmeny = Array(); //Az eredmények tömbje $maxszavazas = 3; //A szavazások száma
if (file_exists($filename)) { //Ha létezik az állomány... $fa = fopen($filename, "r"); //...akkor megnyitjuk olvasásra $sor = 0; while ( ! feof( $fa ) ) { $buffer = fgets( $fa, 2048 ); //Egy sor betöltése if ( $buffer != "" ) { $eredmeny[$sor]=explode(" ",$buffer); //Részekre bontás (elválasztó rész: szóköz) $sor++; } } fclose($fa); //File bezárása }
/* Visszajelzés */ print ("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n"); print ("<html>\n"); print (" <head>\n"); print (" <meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-2'>"); print (" <title>Értékelés</title>\n"); print (" </head>\n"); print (" <body>\n"); for ($i=0; $i<$maxszavazas; $i++) { //Végigmegyünk az összes szavazáson $atlag=$eredmeny[$i][0]/$eredmeny[$i][1]; print ($i." ".$atlag."<br> \n"); } print (" <p>Vissza a <a href='kepek.html'>képekhez</a>.</p>\n"); print (" </body>\n"); print ("</html>\n"); ?> Itt is ügyelj a $maxszavazas-ra a bővítéskor.
|
csüt. jún. 16, 2005 17:35 |
|
|
tolditoma
ezüst tag
Csatlakozott: vas. máj. 16, 2004 17:15 Hozzászólások: 41
|
szavazás
Sziaztok, az lenne a kérdésem, hogy az oldalamra hogy tudnék egy szavazó falat eilleszteni, régebben ment a dolog, volt is egy mintám amit megcsináltam, de most nem találom. Igazából képekhez szeretném csinálni ezt, hogy lehessen értékelni Qket.
köszi
|
szer. jún. 15, 2005 15:40 |
|
|
Tigrincs
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 1407
|
Bingo, egyetértek... Nem bontottam ki a választ ennyire, köszi hogy megtetted, egyetértek Faust!
|
kedd jún. 14, 2005 11:36 |
|
|
Dj Faustus
arany tag
Csatlakozott: hétf. ápr. 26, 2004 14:57 Hozzászólások: 470
|
Afro írta: Ha a lap nem weben, hanem belső hálózaton üzemel, akkor ezzel nem lehet gond, ha a belső hálózaton fent van a nyelv? Nem fogja a két hálózat, zavarni egymást. Tigrincs írta: Ha windowsos környezetben dbf-ben, mdb-ben vagy xls-ben kell menteni, akkor nem hiszem hogy az Apache lenne a kézenfekvő megoldás. Mint Afro is mondta: "TXT, vagy DBF, vagy EXCEL fájl". PHP támogatás van az IIS-hez is, a szövegfile-ba (TXT) írás egyszerűen megoldható CGI-ben, illetve ASP-ben is, a TXT file pedig egyszerűen megnyitható Excelben, és alakítható XLS-é (vagy megnyitható pl.: az ACCESS-el is). Squito írta: De kell legyen azon a gépen Apache szerver!
...vagy más webszerver.
|
hétf. jún. 13, 2005 19:49 |
|
|
Tigrincs
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 1407
|
Ha windowsos környezetben dbf-ben, mdb-ben vagy xls-ben kell menteni, akkor nem hiszem hogy az Apache lenne a kézenfekvő megoldás.
Inkább az IIS/ASP/COM+, feltéve, hogy tiszta, hogy ezek mik.
|
hétf. jún. 13, 2005 16:30 |
|
|
Squito
gyémánt tag
Csatlakozott: szer. dec. 01, 2004 16:04 Hozzászólások: 2259 Tartózkodási hely: A sivatagban szivárványszínű mókusokat etetek
|
Re: HTML alapú űrlappalhoz infó kellene.
Afro írta: Dj Faustus írta: Ahhoz, hogy adatokat tudj lementeni egy HTML alapú ürlapról, szerver oldali nyelvre (ASP/CGI/PHP/...) lesz szükséged. Tehát a webszerver mellé fel kell telepítened a szerver oldali nyelv támogatását.
Ha a lap nem weben, hanem belső hálózaton üzemel, akkor ezzel nem lehet gond, ha a belső hálózaton fent van a nyelv?
Nem. A php fájlokat egy szerveren tárolod és az űrlapot oda fogod irányítani (mármint a <form action=......> részét) De kell legyen azon a gépen Apache szerver!
|
hétf. jún. 13, 2005 16:19 |
|
|
Tigrincs
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 1407
|
ha bárhol http://-n látod, akkor webszerverről látod, ha file://-n akkor csak natúrban...
Amúgy az IIS-ben nem kell telepíteni az ASP/JS nyelv támogatását, benne van, a CGI pedig szabvány CGI.
|
hétf. jún. 13, 2005 11:29 |
|
|
Afro
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 320 Tartózkodási hely: Budapest
|
Re: HTML alapú űrlappalhoz infó kellene.
Dj Faustus írta: Ahhoz, hogy adatokat tudj lementeni egy HTML alapú ürlapról, szerver oldali nyelvre (ASP/CGI/PHP/...) lesz szükséged. Tehát a webszerver mellé fel kell telepítened a szerver oldali nyelv támogatását.
Ha a lap nem weben, hanem belső hálózaton üzemel, akkor ezzel nem lehet gond, ha a belső hálózaton fent van a nyelv?
|
hétf. jún. 13, 2005 8:09 |
|
|
Dj Faustus
arany tag
Csatlakozott: hétf. ápr. 26, 2004 14:57 Hozzászólások: 470
|
Re: HTML alapú űrlappalhoz infó kellene.
Afro írta: Sziasztok. Kreáltam egy html alapú űrlapot. (Legalább is a felületét.) Ebbe kerülne berögzítésre néhány adat, amit TXT, DBF, vagy EXCEL fáljba kellene rögzíteni. Ezt nem neten használnám, hanem saját hálózaton, gépen.
Több problémám van abból az első: - A kialakított szövegdobozokba írt adatokat hogy lehet elmenteni TXT, vagy DBF, vagy EXCEL fálj formátumba?
Ahhoz, hogy adatokat tudj lementeni egy HTML alapú ürlapról, szerver oldali nyelvre (ASP/CGI/PHP/...) lesz szükséged. Tehát a webszerver mellé fel kell telepítened a szerver oldali nyelv támogatását.
Visszatérve a konkrét problémára: tegyük fel, hogy az ürlap így néz ki:
Kód: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> </head> <body> <form action="ment.php" method="post"> <textarea name="message" rows="15" cols="40"></textarea> <input type="submit" value="Send"> </form> </body> </html>
természetesen a formban lehet más is, rádiógomb (pl.:<input type="radio" name="neme" value="ferfi">), kiválasztó négyzet (azaz checkbox: <input type="checkbox" name="feluletkezeles" value="igen">, stb...) A ment.php a következőképp fog kinézni (a // után az adott sor funkciója): Kód: <?php $filename = 'adat.txt'; //Az adatfile neve $message = $_REQUEST['message'] ; //A form-ban szereplő szövegmező lekérdezése. Lásd a name argumentumát az adott elemnek (textarea, radiobutton, checkbox, stb), azt kell lekérni.
if ($message != '') { //Ha nem üres a beviteli mező... if (!file_exists($filename)) { //Ha nem létezik az állomány... $fa = fopen($filename, 'w'); //..akkor létrehozzuk } else { $fa = fopen($filename, 'a'); //...különben a file végére írunk } fputs( $fa, $message); //A szöveg file-ba írása fputs( $fa, '\n'); //Sortörés file-ba írása fclose($fa); //A file lezárása } ?>
|
szomb. jún. 11, 2005 14:09 |
|
|
Afro
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 320 Tartózkodási hely: Budapest
|
HTML alapú űrlappalhoz infó kellene.
Sziasztok.
Kreáltam egy html alapú űrlapot. (Legalább is a felületét.)
Ebbe kerülne berögzítésre néhány adat, amit TXT, DBF, vagy EXCEL fáljba kellene rögzíteni.
Ezt nem neten használnám, hanem saját hálózaton, gépen.
Több problémám van abból az első:
- A kialakított szövegdobozokba írt adatokat hogy lehet elmenteni TXT, vagy DBF, vagy EXCEL fálj formátumba?
|
pén. jún. 10, 2005 8:38 |
|
|
|
Oldal: 1 / 1
|
[ 10 hozzászólás ] |
|
Ki van itt |
Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 9 vendég |
|
Nem nyithatsz témákat ebben a fórumban. Nem válaszolhatsz egy témára ebben a fórumban. Nem szerkesztheted a hozzászólásaidat ebben a fórumban. Nem törölheted a hozzászólásaidat ebben a fórumban.
|
|
|