Megválaszolatlan hozzászólások | Aktív témák Pontos idő: vas. nov. 17, 2024 13:36



Hozzászólás a témához  [ 10 hozzászólás ] 
HTML alapú űrlappalhoz infó kellene. 
Szerző Üzenet
arany tag
Avatar

Csatlakozott: hétf. ápr. 26, 2004 14:57
Hozzászólások: 470
Hozzászólás 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. :twisted:

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
Profil Privát üzenet küldése
ezüst tag
Avatar

Csatlakozott: vas. máj. 16, 2004 17:15
Hozzászólások: 41
Hozzászólás 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
Profil Privát üzenet küldése Honlap
gyémánt tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 1407
Hozzászólás 
Bingo, egyetértek... Nem bontottam ki a választ ennyire, köszi hogy megtetted, egyetértek Faust!


kedd jún. 14, 2005 11:36
Profil Privát üzenet küldése ICQ Honlap
arany tag
Avatar

Csatlakozott: hétf. ápr. 26, 2004 14:57
Hozzászólások: 470
Hozzászólás 
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. :wink:


hétf. jún. 13, 2005 19:49
Profil Privát üzenet küldése
gyémánt tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 1407
Hozzászólás 
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. :D
Inkább az IIS/ASP/COM+, feltéve, hogy tiszta, hogy ezek mik.


hétf. jún. 13, 2005 16:30
Profil Privát üzenet küldése ICQ Honlap
gyémánt tag
Avatar

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
Hozzászólás 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
Profil Privát üzenet küldése Honlap
gyémánt tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 1407
Hozzászólás 
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
Profil Privát üzenet küldése ICQ Honlap
arany tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 320
Tartózkodási hely: Budapest
Hozzászólás 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
Profil Privát üzenet küldése
arany tag
Avatar

Csatlakozott: hétf. ápr. 26, 2004 14:57
Hozzászólások: 470
Hozzászólás 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
Profil Privát üzenet küldése
arany tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 320
Tartózkodási hely: Budapest
Hozzászólás 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
Profil Privát üzenet küldése
Hozzászólások megjelenítése:  Rendezés  
Hozzászólás a témához   [ 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.

Keresés:
Ugrás:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Magyar fordítás © Magyar phpBB Közösség