Új hozzászólás Aktív témák

  • Gyuri16

    senior tag

    válasz Sk8erPeter #3497 üzenetére

    igen ==-t kozben javitottam, de jogos.. ize, este van mar :B
    mod: de ha a td-be teszed, akkor nem az egesz sor lesz olyan szinu, tr-nek nem lehet?

  • Sk8erPeter

    nagyúr

    válasz Gyuri16 #3495 üzenetére

    Pont hasonlót akartam írni, de ha már megtetted, akkor én nem fárasztom vele magam :D de akkor már javítom a Tiédet:
    if $szam % 2 = 0
    HELYETT
    if ($szam%2 == 0)

    És érdemes inkább a td-t (nem a tr-t) class-ba rakni, hogy működjön.

    $szam=0;
    while ($sor = mysql_fetch_array($eredmeny,MYSQL_ASSOC)) {
    if ($szam%2 == 0) {
    echo "<tr><td class="zold">${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";
    } else {
    echo "<tr><td class="piros">${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";

    }
    $szam++;

    }

    És a dokumentum HEAD részébe pedig ezt kell tenni:
    <style type="text/css">
    td.zold
    {
    background-color: green;
    }
    td.piros
    {
    background-color: red;
    }
    </style>

    __________

    Szerk.: hehe, frissíteni kellett volna, valaki gyorsabb volt... :D

    (#3496) fordfairlane:
    echo "<tr class='zold'>";
    HELYETT inkább így szabványos (macskakörömmel), nemde?
    echo '<tr class="zold">';
    És akkor az echo-nál meg lehet sima aposztróf... Persze, működik eredetivel is, de hát ha már... :P
    VAGY
    echo "<tr class=\"zold\">";

  • fordfairlane

    veterán

    válasz meone #3494 üzenetére

    Fogsz egy változót, amit minden sor kiírásakor növelsz eggyel.

    $i = 0;
    while ($sor = mysql_fetch_array($eredmeny,MYSQL_ASSOC)) {
    $i++;
    echo "<tr><td>${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";
    }

    Ezután megvizsgálod, hogy páros, vagy páratlan-e, ezt a maradékos osztással (% operátor) a legegyszerűbb:

    $i = 0;
    while ($sor = mysql_fetch_array($eredmeny,MYSQL_ASSOC)) {
    $i++;
    if($i%2) echo "<tr class='zold'>";
    else echo "<tr class='sarga'>";
    echo "<td>${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";
    }

    Ezután minden sor felváltva 'zold' és 'sarga' nevű style class azonosítót fog kapni, amit aztán úgy formázol, ahogy jólesik.

    <style type="text/css">
    .zold {
    background-color: green;
    }
    .sarga {
    background-color: yellow;
    }
    </style>

  • Gyuri16

    senior tag

    válasz meone #3492 üzenetére

    kiprobalni nem tudom, reg lattam php-t, de kb igy:

    $szam=0;
    while ($sor = mysql_fetch_array($eredmeny,MYSQL_ASSOC)) {
    if $szam % 2 == 0 {
    echo "<tr class="zold"><td>${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";
    } else {
    echo "<tr class="piros"><td>${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";

    }
    $szam++;

    }

    tr-nek van bgcolor attributuma, azzal is probalhatod, de az elavultnak szamit (de kiprobalni jo lehet). a class="" helyere odairod hogy bgcolor="red" meg bgcolor="green"

  • meone

    tag

    válasz fordfairlane #3493 üzenetére

    Működik az szépen, csak kérték tőlem, hogy amit le generál táblázatot annak minden 2. sora eltérő színű legyen mondjuk zöld.
    Ezt nem tudom meg oldani.
    Erre kellene valami példa ami alapján meg tudom csinálni.

  • fordfairlane

    veterán

    válasz meone #3490 üzenetére

    Az első kérdésem, hogy pontosan mi a baj ezzel a programmal? :) Mi az, ami nem működik vagy nem úgy, ahogy te elképzelted?

  • meone

    tag

    válasz Gyuri16 #3491 üzenetére

    Azt, hogy lehet meg oldani?
    Valami példa rá mert így nem tudom meg csinálni.:(

  • Gyuri16

    senior tag

    válasz meone #3489 üzenetére

    persze hogy lehet. a while ciklusodban fogsz novelni egy valtozot, es ha paros akkor egyik szinnel fested ki, ha paratlan akkor a masikkal

  • meone

    tag

    válasz fordfairlane #3488 üzenetére

    Igen pettyet nagy méretűre sikeredett, sok a kérdés.
    Első úgymond "munkám". Kértek hogy segítsek be egy felmérésbe, és azért csinálom mind ezt. Meg legalább tanulom. :)

  • meone

    tag

    Azt meg lehet csinálni le kérdezésnél, hogy minden második sort eltérően színezzen?

    Ez is mint az előző script nagyon "fapados". :DDD
    Íme:

    dbcsat();

    $sql = "SELECT * FROM `mobilk` ";

    $eredmeny = mysql_query($sql) or die("hiba");

    $sorok_szama=mysql_num_rows($eredmeny);
    $mezok_szama=mysql_num_fields($eredmeny);

    echo "<table border=\"1\">";

    while ($sor = mysql_fetch_array($eredmeny,MYSQL_ASSOC)) {

    echo "<tr><td>${sor['evf']}</td><td>${sor['szak']}</td>.......<td>${sor['k6']}</td></tr>";


    }

    echo "</table><br>";

  • fordfairlane

    veterán

    válasz meone #3459 üzenetére

    Ajjaj, most látom csak, mibe futottam bele. :D Átnézem. Jó nagyméretű lehet a mostani programod, és ilyen sok ismétlődés esetén nagyon könnyű hibát véteni.

  • meone

    tag

    válasz meone #3483 üzenetére

    Meg oldottam a problémát
    Ezzel a sorral:

    if ( !isset($evf) )
    {
    $menteni++;
    echo "Az évfolyam megadása kötelező.";
    }

    Igaz hibával meg áll de most a célnak meg teszi.

  • Sk8erPeter

    nagyúr

    válasz meone #3483 üzenetére

    Hát nyilván, mivel sehol sem ellenőrzöd, hogy egyáltalán be van-e állítva bármi is, írt-e a felhasználó valami adatot. Csak azt ellenőrzöd, hogy ha írt, akkor azon belül szám-e, stb...
    Lehetne egy olyan feltételed is, hogy
    if ( $menteni==0 && isset($pix, $menyibe, $ftmenyi, $menyirend) )
    {
    //... adatbázis feltöltése...
    }

  • fordfairlane

    veterán

    válasz meone #3483 üzenetére

    Pl. a $pix nevű változóba hogyan kerül érték?

  • meone

    tag

    válasz Sk8erPeter #3482 üzenetére

    Most szimplán annyi megy szépen de megint mikor be jön az üres form megint elvégződik az adatbázis művelet és be kerül egy üres sor.

  • Sk8erPeter

    nagyúr

    válasz meone #3481 üzenetére

    Nem túl logikus a "$menteni" név :D Akkor már inkább $hiba=0; stb...
    Kicsit részletezhetnéd, hogy most mi is a probléma. A kódodban lenne mit javítani, de most nem ez a lényeg, egyelőre működjön.

  • meone

    tag

    válasz Sk8erPeter #3479 üzenetére

    Az első észrevételt ki javítottam.

    A második észrevételre is módosítottam következetessé tettem a scriptet most már akkor $pix így használom.

    A harmadik észrevételre:
    Azt tudom, hogy vannak szebb megoldások, de mivel még kezdő vagyok valahol nekem is el kell kezdenem.

    Eddig el tudtam jutni:

    $menteni=0;

    if ( isset($pix) && !is_numeric($pix) )
    {
    $menteni++;
    echo "Hibásan van ki töltve a 4.2-es kérdés, értéke:".$pix;
    }

    if ( isset($menyibe) && !is_numeric($menyibe) )
    {
    $menteni++;
    echo "<br> Hibásan van ki töltve a 30-as kérdés, értéke:".$menyibe;
    }

    if ( isset($ftmenyi) && !is_numeric($ftmenyi) )
    {
    $menteni++;
    echo "<br> Hibásan van ki töltve a 35-ös kérdés, értéke:".$ftmenyi;
    }

    if ( isset($menyirend) && !is_numeric($menyirend) )
    {
    $menteni++;
    echo "<br> Hibásan van ki töltve a 61-es kérdés, értéke:".$menyirend;
    }

    dbcsat();

    $sql = "insert (.....)

    if ($menteni==0)
    {
    $eredmeny = mysql_query($sql) ;
    } else {
    echo "hiba van";
    }

    Én így tudom meg oldani, de ez se jó.

    Amit te mondasz azt nem tudom meg csinálni. :O

  • 8nemesis8

    veterán

    válasz cucka #3477 üzenetére

    Köszi, most már működik, legközelebb figyelembe veszem amiket most ajánlottatok. :R

  • Sk8erPeter

    nagyúr

    válasz meone #3478 üzenetére

    Első észrevétel: kapásból rossz a hibafeltételed, mivel !isset($_POST["pix"]) szerepel benne, vagyis épp rosszat vizsgálsz, ha valamit megadott a júzer, soha nem fog belelépni ebbe a feltételágba, mivel itt azt nézed, hogy mi van, ha NEM adtak meg semmilyen adatot, és a SEMMILYEN adat szám-e vagy sem, stb. :D
    Tehát szedd ki azt a felkiáltójelet!

    Második észrevétel: döntsd el, hogy $pix VAGY $_POST["pix"]-et használsz, és használd azt következetesen.

    Harmadik észrevétel:
    "Azt, hogy lehet meg oldani, hogy elsőre mikor üres a form ne fusson le a az adatbázis írása?"
    Hát nyilván ne így tedd be az adatbázisírás műveletét, hogy mindenféle feltétel-ellenőrzés NÉLKÜL lefut... Csak akkor engedélyezd, ha minden feltétel stimmelt, a felhasználó minden megkövetelt mezőt kitöltött.
    Igencsak gány megoldás, de jelenleg ennél a tök egyszerű cuccnál akár változót is figyelgethetsz, ezt persze komolyabb rendszereknél már nem így csinálják, hogy mit tudom én, elején beállítod, hogy $mehet=1; aztán ha hiba van, akkor $mehet=0; -ra állítod, és azt vizsgálod az írásnál, hogy if($mehet), vagyis ha a $mehet értéke 1, csak akkor írjon az adatbázisba... De mondom, ez kicsit ratyi, mindjárt úgyis leolt érte valaki. :D Sőt, még olyat is csinálhatsz, hogy beállítod az elején, hogy $hibasztring = '';, aztán ha hiba van, akkor abban a feltételágban: $hibasztring = $hibasztring . "Hibásan van ki töltve a 4.2-es kérdés, értéke:".$pix;, a legvégén pedig if(empty($hibasztring)), akkor mehet a feltöltés, egyébként pedig írja ki a hibaüzenetet ( else echo $hibasztring; ).
    Persze lehet azt is, hogy egyből return-ölsz az adott hibaüzenettel, de akkor kapásból az első hibánál vissza fog térni.

    Szépen kivételkezeléssel szokták megoldani, de ez még valszeg bonyolult lenne neked.

  • meone

    tag

    válasz Sk8erPeter #3476 üzenetére

    Értem akkor vissza állítom isset-re.

    A break-re gondoltam. :DDD :B

    Most jelenleg ott járok, hogy ha be tölt az oldal akkor is le fut az adatbázis kérés.

    Azt, hogy lehet meg oldani, hogy elsőre mikor üres a form ne fusson le a az adatbázis írása?
    Meg össze akarom babrálni úgy a két részt, hogy csak akkor fusson le ha a felette lévő részben már nincsen hiba egyébként írja ki a hibát és ugorja át az INSERT-es részt és folytassa a form kitöltésével.

    Íme a kód:

    if ( !isset($_POST["pix"]) && !is_numeric($pix) )
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés, értéke:".$pix;
    }

    if ( !isset($_POST["menyibe"]) && !is_numeric($menyibe) )
    {
    echo "<br> Hibásan van ki töltve a 30-as kérdés, értéke:".$menyibe;
    exit;
    }

    if ( !isset($_POST["ftmenyi"]) && !is_numeric($ftmenyi) )
    {
    echo "<br> Hibásan van ki töltve a 35-ös kérdés, értéke:".$ftmenyi;
    }

    if ( !isset($_POST["menyirend"]) && !is_numeric($menyirend) )
    {
    echo "<br> Hibásan van ki töltve a 61-es kérdés, értéke:".$menyirend;
    }

    dbcsat();

    $sql = "insert into mobilk (evf, szak, datum, k1, k2, k3, k41a, k42a, k43a, k44a, k5, k6, k7, k8, ................... k59, k60, k61) VALUES ('$evf ','$szak',NOW(),'$radio1',.......)";

    $eredmeny = mysql_query($sql) or die("hiba");

    Ha jól emlékszem meg kéne adni egy külön változót az if-eknél és ha rossz az érték akkor növelje eggyel, és végül a mysql_query-nél pedig egy újabb if-el meg vizsgálni azt hogy ez a változó ez alap értéken van e, vagy a hibák miatt változott, és csak akkor tovább engedni ha nem változott.

    Vagy hülyeség az okoskodásom?

  • cucka

    addikt

    válasz 8nemesis8 #3472 üzenetére

    Igen, a kölcsönzés táblában az összes film összes kölcsönzése szerepel, tehát egy filmhez több kölcsönzés is tartozhat, viszont azok közül legfeljebb egy olyan van, ami nyitott. Ennek a feltételnek a teljesülését a php programodnak kell biztosítania, például úgy, hogy ha egy filmre létezik nyitott státuszú kölcsönzés, akkor nem vihetsz fel újabbat addig, amíg le nem zártad az előzőt.
    A #3444-ben írt példa lekérdezést direkt úgy írtam, hogy ezt a fenti dolgot tudja: a film kölcsönözhetőségét az dönti el, hogy létezik-e rá nyitott kölcsönzés vagy sem.

    Ha egy filmből több példányod van, akkor is meg lehet oldani egyszerűen. Például a film táblában ekkor lesz egy példányszám meződ, a film pedig akkor kölcsönözhető, ha a filmre vonatkozó nyitott kölcsönzések száma kisebb, mint a filmhez tartozó példányszám.

  • Sk8erPeter

    nagyúr

    válasz meone #3474 üzenetére

    Pont erre írta cucka: [link] --> "Extract() függvény használata nagyon nem javasolt"

    És még egy, amire már cucka felhívta a figyelmet: "az empty() a 0-ra és az üres tömbre is boolean true-val tér vissza".
    Tehát térj vissza az isset() használatára, hogy ne dobjon hibát, ha a felhasználó 0-t ír az adott mezőbe.
    if ( isset($_POST["pix"]) && !is_numeric($pix) )

    Egyébként a "mennyi" szóban két n van... ;]

    Utsó kérdésedre pedig: nyilván csak akkor engedélyezd bármilyen adatbázis-művelet elvégzését, ha nincs hiba, minden szükséges adat megvan. Ez csak feltétel-ellenőrizgetések kérdése.

    "Esetleg egy "brake" oldaná meg a gondomat?"
    Én még brake utasításról nem hallottam. :D Valószínűleg a break-re gondolsz... :DDD
    De amúgy nem kell break, bár tehetsz bele, ha nagyon szeretnél :D ha nem teljesülnek a feltételek, egyszerűen nem töltöd fel az adatbázist, és kész. Feltételeket vizsgálgatsz, ha teljesül a feltétel (pl. megvan minden adat), akkor belelép az adott "utasításcsomagba" (most jobb szó nem jutott eszembe), ha nem, akkor megy a következőre.

    _____________________________

    (#3472) 8nemesis8: örülök, hogy megy, bár nem nagyon értem, miért nem az előző értéket update-eled, de a lényeg, hogy működik, és Te érted. :D

  • meone

    tag

    válasz meone #3474 üzenetére

    Még annyi lenne a problémám, hogy lehetne ezt a kódot úgy át alakítani, hogy mikor a $pix értéke mondjuk karakter akkor a hiba üzenetnél megálljon és utána már csak a formot rajzolja fel a POST-ból vissza szedett értékekkel, más adatbázis műveletet ne végezzen.

    Íme a kód:

    if ( !empty($_POST["pix"]) && !is_numeric($pix) )
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés, értéke:".$pix;
    }

    if ( !empty($_POST["menyibe"]) && !is_numeric($menyibe) )
    {
    echo "<br> Hibásan van ki töltve a 30-as kérdés, értéke:".$menyibe;
    }

    Esetleg egy "brake" oldaná meg a gondomat? :F
    Nem vagyok annyira biztos benne.

  • meone

    tag

    válasz PazsitZ #3460 üzenetére

    Én még ezt nem ismertem extract($_POST); de jobb lett volna.
    Na majd legközelebb.
    Köszönöm a tippet.

  • meone

    tag

    válasz Sk8erPeter #3462 üzenetére

    Köszönöm, nézhettem volna a kódot ideig soha nem jöttem volna rá. :R

    Köszönöm még egyszer.

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3471 üzenetére

    Megvan már megírtam és nagyon szépen működik állítja is.
    Az volt a baj, hogy amikor belevettem a kolcsonzés táblát, ugye amikor "összekötöttem" őket akkor csak azokat írta ki, amiket már valaha kölcsönöztek ami nem volt jó, illetve amit fentebb írtam, hogy ha kölcsönzéshez veszem fel akkor nem lesz jó, mert ha egyszer visszahozták akkor 1re állítódik be az adott kölcsönzésnél a lejár érték, azonban ha kiveszik akkor nem az előző visszahozás íródik felül 0-ra hanem egy új, de a rendszer még mindig látja az előző 1est, így rossz értéket adva vissza.

    Adathordozóhoz tettem be, ami egyértelművé teszi az egészet így. Tehát az 1es sorozatszámú dvd-t veszik ki stb... így nem lehet kavarás :)
    De lényeg,hogy tényleg szépen megy és csak azokat adja ki kölcsönözhetőnek amiből van bent.
    Tehát ha egy film 2dvd-n is megvan, akkor ha egyik kölcsönözve van akkor automatikusan a másik sorozatszámú filmet még ki lehet venni,ha az sincs bent akkor pedig meg sem jelenik a listán. :)

  • Sk8erPeter

    nagyúr

    válasz 8nemesis8 #3470 üzenetére

    Most nem nagyon értem a kavarodás okát. Ha van mondjuk egy olyan oszlop, hogy "kolcsonozheto", és azon belül igaz-hamis feltétel jelzi, hogy kölcsönözhető-e, és ez ha igen, akkor 1, ha nem, akkor 0, ebben az esetben nyilván ha visszahozták a videót, akkor ez az állapot 1-esre változik, hiszen akkor már kölcsönözhető. Ha viszont kivették, akkor 0 az állapot, mivel nem kölcsönözhető. Ennek az állapotát nyilván jóváhagyja az, aki felel azért, hogy visszahozták-e az adott videót. Ha pl. rányom, hogy visszahozták, akkor automatikusan 1-esre változik a mező, vagy ha rányom, hogy épp kivették, akkor 0-ra, stb.

    ________________

    (#3469) cucka: köszi megint. :K Látom elég komoly projectekben is részt vettél. :R

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3461 üzenetére

    Köszi szépen és neked is cucka.

    Arra jöttem, rá, ha a kölcsönzés táblába teszem ezt a lejárt vagy sem jelzőt, akkor az nem lesz jó.
    Ugye egy korábban visszahozott filmre 1et állítok be, hogy bent van de ha utána kivették akkor is jelzi, hogy bent van,mivel van egy 1es a lejár mezőben.
    Így tehát ezt az adathordozóhoz teszem be, mivel minden egyes adathodozó egyedinek számít, így egy adott dvd-nek csak 1állapota lehet vagy bent van vagy kint.
    Most már azt hiszem jó lesz :)

    Meg tudom adni, hogy alapértelmezetten 1esek legyenek benne vagy csak 0-át lehet?

  • cucka

    addikt

    válasz Sk8erPeter #3468 üzenetére

    Itt tulajdonképpen akkor csak arra kell figyelni, hogy a MySQL-kapacitást ne lépd túl.
    A korábban említett nagy rendszereknél a mysql kapacitás nem kérdés, ugyanis jellemzően saját szerveren üzemeltek. Átlag párezer forintos webhosting szolgáltatáshoz (mondjuk 1-2 giga tárhely, 100 mega mysql) értelemszerűen ez a megoldás nem igazán jó.

    Egyébként meglévő adatbázisnál hogyan lehet megnézni, még meddig terpeszkedhetsz?
    Passz. Én írnék egy mailt a szolgáltatómnak ezügyben :)

    A több százezer kép tárolása adatbázisban mennyivel foglal ilyen módon több/kevesebb helyet?
    Nagyjából ugyanannyit foglal, mint külön file-ként. Amire oda kell figyelni, hogy ha select-nél a bináris mezőt is kéred, akkor az nem a leggyorsabb, komoly adatforgalmat generál a szkripted és a mysql adatbázis között. Ezért készítettünk annak idején cache-t is hozzá, ami a filerendszerbe pakolta le a fileokat. Sőt, olyan is volt, hogy az adatbázis és a cache külön gépen futott. :)

  • Sk8erPeter

    nagyúr

    válasz cucka #3463 üzenetére

    Na, ezek a szempontok még nem jutottak eszembe, de teljes mértékben érthetőek, köszi. :R Itt tulajdonképpen akkor csak arra kell figyelni, hogy a MySQL-kapacitást ne lépd túl. Egyébként meglévő adatbázisnál hogyan lehet megnézni, még meddig terpeszkedhetsz? Mert a tárhelyem fenntartójának honlapján semmiféle erre utaló info nincs, admin felületen meg ezt a szempontot nem találtam meg. Gondoltam hátha van valami utasítás, amivel ez az információ lekérhető.
    A több százezer kép tárolása adatbázisban mennyivel foglal ilyen módon több/kevesebb helyet?

  • Sk8erPeter

    nagyúr

    válasz cucka #3465 üzenetére

    Igen, ez is így van, de akkor még nem vettem észre azt a hülye pontosvesszőt, ami ott maradt... :D

  • Sk8erPeter

    nagyúr

    válasz cucka #3464 üzenetére

    Jó van má', csak szétszedtem, hogy jobban átlássa a srác, dehát a tiéd tényleg szebb. :D

  • cucka

    addikt

    válasz Sk8erPeter #3462 üzenetére

    Ha a 0-t számnak tekinted, akkor a kódod nem jó, ugyanis az empty() a 0-ra és az üres tömbre is boolean true-val tér vissza. Jelen esetben empty helyett isset-et kéne használni.

    (#3460) PazsitZ
    Extract() függvény használata nagyon nem javasolt, ugyanolyan okokból, ami miatt a register_globals használata sem. Ha ilyen sok változóról van szó, akkor érdemes egy tömbben felsorolni azokat, majd ez alapján beállítani az összes változó értékét, például így:

    $elfogadott_nevek=array('nev1, 'nev2', 'nev3');
    foreach ($elfogadott_nevek as $nev){
    if (isset($_POST[$nev])){
    $$nev=$_POST[$nev];
    }
    }

  • cucka

    addikt

    válasz Sk8erPeter #3452 üzenetére

    Ne szerencsétlenkedjé' már.. :D

    $nap_hu=array('hétfő', 'kedd', ... 'vasárnap');
    $nap_en=array('Monday', 'Tuesday', ... 'Sunday');
    $datum=str_replace($nap_en, $nap_hu, date('Y-m-d l H:i'));

  • cucka

    addikt

    válasz Sk8erPeter #3445 üzenetére

    És milyen célból? Nekem elsőre kicsit feleslegesen bonyolultnak tűnik, persze biztos valamilyen szempont nem jutott még eszembe.
    Nagy php-s keretrendszer, magas szintű absztrakcióval. Röviden: a file feltöltés ugyanolyan űrlap elem, mint a szöveges, checkbox, legördülő, stb.. Az űrlap elemeinek lehet értéke, az értéket el lehet menteni adatbázisba, tehát a file feltöltéssel felvitt bináris adatot és a szöveges mezőbe beírt szöveget egyenrangúan kezelem.
    Amúgy előnye például, hogy az adatbázisban található az összes adata a weboldalnak. Adatbázis automatikus mentése könnyen megoldható, az import/export is egyszerű, tehát ilyen előnyei vannak. Nem kell foglalkozni a filerendszer sajátosságaival, nem kell tudni, hogy melyik könyvtárban vannak a képek, nem kell odafigyelni, hogy különbözőek legyenek a filenevek, nem okoz gondot több százezer kép tárolása, ilyesmi. Természetesen figyelni kell a sebességre, ezért készült hozzá filerendszer alapú cache-elés is.
    Ebben a topikban főleg apróbb, egyszerű programokról van szó, ennek a módszernek az előnyei pedig inkább nagy rendszerekben érvényesülnek.

    (#3446) 8nemesis8
    Igen ilyesmire én is gondoltam, de hogyan állapítom meg, hogy visszahozták e!?
    Például a visszahozás dátuma az adatbázisban alapértelmezésként NULL. Ha visszahozták, akkor beállítod az aktuális dátumot. MySQL-ben a null-ság ellenőrzését valahogy így oldod meg:
    select * from tablanev where mezonev is null
    select * from tablanev where mezonev is not null

  • Sk8erPeter

    nagyúr

    válasz Sk8erPeter #3456 üzenetére

    ÓÓÓ basszus, észre se vettem, hogy meone, beletettél egy pontosvesszőt az if mögé, én meg azt másolgattam itt... Hát akkor nyilván minden esetben echo-zni fog.
    Szedd ki a pontosvesszőt, és jó lesz.
    Szóval akkor ez már az, amit eredetileg írni akartam:
    if ( !empty($_POST["pix"]) && is_numeric($pix) )
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    }

  • Sk8erPeter

    nagyúr

    válasz 8nemesis8 #3458 üzenetére

    Nem, miért lenne butaság. De most pontosan nem tudom, mire gondolsz, ha visszahozták a videót, akkor gondolom mindenképp nyom az admin valami gombot, ami igazolja, hogy oké, visszahozva, ekkor lefuthatna többek közt a dátumkészítő függvény, és az eredményt pedig betehetnéd a MySQL-tábla megfelelő oszlopába.

  • PazsitZ

    addikt

    válasz meone #3459 üzenetére

    Alapvetően nem azt akarod, hogy csak nem szám esetén írja ki?
    Mert akkor:
    if ( !empty($_POST["pix"]) && !is_numeric($pix) )

    Egyébként jelenleg azért írja ki minden esetben mert az if-ed üres. Nem tartalmaz parancsot, ha lezárod egy ;-vel
    Tehát így lesz jó szvsz:
    if ( !empty($_POST["pix"]) && !is_numeric($pix) ) {
    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    }

    Amit pedig az első blokkban csinálsz megoldható ennyivel[link]: extract($_POST); és ezután hivatkozhatsz bármely POST-olt változóra.

  • meone

    tag

    válasz Sk8erPeter #3456 üzenetére

    Megcsinálom a változtatás, de semmi eredmény.
    Ugyan úgy ki írja mind a két esetben.

    Rá jöttem már mi a hiba. :W
    Ez a sor:

    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    Azért írja ki mind a két esetben mert csak egy egyszerű "echo" van ki írva.
    Meg lehet ezt úgy változtatni, hogy csak akkor írja ki ha tényleg van hiba?

    Vagy teljesen hülyeség az okoskodásom?

    Amúgy itt a kód:

    <?php

    if (!empty($_POST["evf"]))
    {
    $evf=$_POST["evf"];
    $szak=$_POST["szak"];
    $radio1=$_POST["radio1"];
    $mobil=$_POST["mobil"];
    $radio2=$_POST["radio2"];
    $freki=$_POST["freki"];
    $pix=$_POST["pix"];
    $terulet=$_POST["terulet"];
    $radio3=$_POST["radio3"];
    $radio4=$_POST["radio4"];
    $radio5=$_POST["radio5"];
    $radio6=$_POST["radio6"];
    $radio7=$_POST["radio7"];
    $radio8=$_POST["radio8"];
    $radio9=$_POST["radio9"];
    $radio10=$_POST["radio10"];
    $gond=$_POST["gond"];
    $radio11=$_POST["radio11"];
    $radio12=$_POST["radio12"];
    $radio13=$_POST["radio13"];
    $radio14=$_POST["radio14"];
    $radio15=$_POST["radio15"];
    $radio16=$_POST["radio16"];
    $radio17=$_POST["radio17"];
    $radio18=$_POST["radio18"];
    $tanacshird=$_POST["tanacshird"];
    $radio19=$_POST["radio19"];
    $radio20=$_POST["radio20"];
    $radio21=$_POST["radio21"];
    $radio22=$_POST["radio22"];
    $napilatmiert=$_POST["napilatmiert"];
    $radio23=$_POST["radio23"];
    $hiradomiert=$_POST["hiradomiert"];
    $radio24=$_POST["radio24"];
    $mikene=$_POST["mikene"];
    $menyibe=$_POST["menyibe"];
    $radio25=$_POST["radio25"];
    $javaslat=$_POST["javaslat"];
    $radio26=$_POST["radio26"];
    $radio27=$_POST["radio27"];
    $ftmenyi=$_POST["ftmenyi"];
    $radio28=$_POST["radio28"];
    $radio29=$_POST["radio29"];
    $radio30=$_POST["radio30"];
    $radio31=$_POST["radio31"];
    $multielony=$_POST["multielony"];
    $multihatrany=$_POST["multihatrany"];
    $radio32=$_POST["radio32"];
    $fmiert=$_POST["fmiert"];
    $radio33=$_POST["radio33"];
    $radio34=$_POST["radio34"];
    $radio35=$_POST["radio35"];
    $radio36=$_POST["radio36"];
    $radio37=$_POST["radio37"];
    $radio38=$_POST["radio38"];
    $radio39=$_POST["radio39"];
    $radio40=$_POST["radio40"];
    $radio41=$_POST["radio41"];
    $radio42=$_POST["radio42"];
    $radio43=$_POST["radio43"];
    $radio44=$_POST["radio44"];
    $radio45=$_POST["radio45"];
    $radio46=$_POST["radio46"];
    $radio47=$_POST["radio47"];
    $radio48=$_POST["radio48"];
    $radio49=$_POST["radio49"];
    $menyirend=$_POST["menyirend"];
    }
    echo $radio1;

    if ( !empty($_POST["pix"]) && is_numeric($pix) ) ;
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    }
    ?>

    <form method="POST" action="<?php print $_SERVER["PHP_SELF"];?>">
    <table width="750" height="3489" border="1" align="center">
    <tr>
    <td colspan="5" height="36">TECHNOL&Oacute;GIA&nbsp;&nbsp; &Eacute;S&nbsp;&nbsp; M&Oacute;DSZERTAN&nbsp;&nbsp; FEJLESZT&Eacute;SE &nbsp;M&#368;K&Ouml;D&#336; HONLAPOK&nbsp; TARTALMI&nbsp; ELEMZ&Eacute;S&Eacute;RE</td>
    </tr>
    <tr>
    <td colspan="5" height="20"><p align="right"><em>(Nincs rossz v&aacute;lasz, nem kell megfelelni senkinek &eacute;s semminek!)
    &nbsp;K&eacute;rd&#337;&iacute;v(001. sz.)</em></p></td>
    </tr>
    <tr>
    <td colspan="5" height="20"><p>&Eacute;vfolyam: . <input name="evf" type="text" id="evf" value="<?php print $evf; ?>" size=95 maxlenght="100">
    </p></td>
    </tr>
    <tr>
    <td colspan="5" height="20"><p>Szak: . <input name="szak" type="text" id="szak" value="<?php print $szak; ?>" size=100 maxlenght="100">
    </p></td>
    </tr>
    <tr>
    <td colspan="5" height="10"><p>D&aacute;tum: <?php echo date("Y.m.d") ?> </p></td>
    </tr>
    <tr>
    <td width="38">Sorsz.</td>
    <td width="308">K&Eacute;RD&Eacute;S</td>
    <td colspan="3">V&aacute;lasz</td>
    </tr>
    <tr>
    <td>1.</td><td>Van-e multim&eacute;di&aacute;s mobil k&eacute;sz&uuml;l&eacute;ke? </td>
    <td width="107"><input name="radio1" type="radio"value="y" <?php echo $radio1 == 'y' ? 'checked="checked"' : ''; ?> >
    Igen</td>
    <td colspan="2"><input type="radio" name="radio1"value="n"
    <?php echo $radio1 == 'n' ? 'checked="checked"' : ''; ?>>Nem</td>
    </tr>
    <tr>
    <td width="38">2.</td><td ><p>Milyen t&iacute;pus&uacute; mobil-eszk&ouml;zt haszn&aacute;l jelenleg?(Ha haszn&aacute;l. Ha nem, h&uacute;zza ki!)</p>
    </td><td colspan="3"><input name="mobil" type="text" id="mobil" value="<?php print $mobil; ?>" size=50 maxlenght="100"></td>
    </tr>
    <tr>
    <td>3.</td><td>Ismeri-e a k&eacute;sz&uuml;l&eacute;ke technikai jellemz&#337;it, adatait?</td>
    <td><input type="radio" name="radio2"value="y"
    <?php echo $radio2 == 'y' ? 'checked="checked"' : ''; ?>>
    igen</td>
    <td width="116"><input type="radio" name="radio2"value="n" <?php echo $radio2 == 'n' ? 'checked="checked"' : ''; ?>>
    nem</td>
    <td width="147"><input type="radio" name="radio2"value="res" <?php echo $radio2 == 'res' ? 'checked="checked"' : ''; ?>>
    r&eacute;szben</td>
    </tr>
    <tr>
    <td>4.1</td><td><em>Mi a m&#369;k&ouml;d&eacute;si frekvenci&aacute;ja? </em></td>
    <td colspan="3"><input name="freki" type="text" id="freki" value="<?php print $freki; ?>" size="20" maxlenght="100" />
    (ha nem tudja, h&uacute;zzon vonalat!)</td>
    </tr>
    <tr>
    <td>4.2</td>
    <td><em>Mekkora &eacute;s milyen felbont&aacute;s&uacute; a kijelz&#337;je?</em></td>
    <td colspan="3"><input name="pix" type="text" id="pix" value="<?php print $pix; ?>" size="20" maxlenght="100" />
    pixel</td>
    </tr>
    <tr>
    <td>4.3</td><td><em>Hol alkalmas a mobilja internetez&eacute;sre?</em></td><td colspan="3"><p>
    <input name="terulet" type="text" id="terulet" value="<?php print $terulet; ?>" size="30" maxlenght="100" />
    (pl.:r&eacute;gi&oacute;)</p></td>
    </tr>
    <tr>
    <td>4.4</td><td><em>Fogad-e streaming-filet?</em></td>
    <td><input type="radio" name="radio3"value="y" <?php echo $radio3 == 'y' ? 'checked="checked"' : ''; ?>>
    igen</td>
    <td colspan="2"><input type="radio" name="radio3"value="n" <?php echo $radio3 == 'n' ? 'checked="checked"' : ''; ?>>
    nem</td>
    </tr>
    <tr>
    <td>5</td><td>Mire kell alkalmasnak lennie egy mobil k&eacute;sz&uuml;l&eacute;knek?</td><td><input type="radio" name="radio4"value="tel" <?php echo $radio4 == 'tel' ? 'checked="checked"' : ''; ?>>
    telefon&aacute;l&aacute;sra</td><td><input type="radio" name="radio4"value="int" <?php echo $radio4 == 'int' ? 'checked="checked"' : ''; ?>>
    internetez&eacute;sre</td><td><input type="radio" name="radio4"value="mind2" <?php echo $radio4 == 'mind2' ? 'checked="checked"' : ''; ?>>
    mindkett&#337;re</td>
    </tr>
    <tr>
    <td>6.</td>
    <td>Az &ouml;n jelenlegi mobil k&eacute;sz&uuml;l&eacute;ke alkalmas-e internetes csatlakoz&aacute;sra?</td>
    <td><input type="radio" name="radio5"value="y" <?php echo $radio5 == 'y' ? 'checked="checked"' : ''; ?>>
    igen</td>
    <td colspan="2"><input type="radio" name="radio5"value="n" <?php echo $radio5 == 'n' ? 'checked="checked"' : ''; ?>>
    nem</td>
    </tr>
    <tr>
    <td>7.</td>
    <td>&Aacute;ltal&aacute;ban csak telefon&aacute;l&aacute;sra haszn&aacute;lja a mobilk&eacute;sz&uuml;l&eacute;k&eacute;t?</td>
    <td><input type="radio" name="radio6"value="y" <?php echo $radio6 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio6"value="n" <?php echo $radio6 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td>8.</td>
    <td><strong>Meg tud-</strong>e n&eacute;zni r&ouml;videbb terjedelm&#369; vide&oacute;anyagot a mobilja seg&iacute;ts&eacute;g&eacute;vel? </td>
    <td><input type="radio" name="radio7"value="y" <?php echo $radio7 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio7"value="n" <?php echo $radio7 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td>9.</td>
    <td>Meg <strong>szokott</strong>-e n&eacute;zni ilyen anyagokat?</td>
    <td><input type="radio" name="radio8"value="y" <?php echo $radio8 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio8"value="n" <?php echo $radio8 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td>10</td>
    <td><strong>M&aacute;r el&#337;fordult</strong> a bar&aacute;taim k&eacute;sz&uuml;l&eacute;k&eacute;n, hogy igen.</td>
    <td><input type="radio" name="radio9"value="y" <?php echo $radio9 == 'y' ? 'checked="checked"' : ''; ?> />
    igem</td>
    <td colspan="2"><input type="radio" name="radio9"value="n" <?php echo $radio9 == 'n' ? 'checked="checked"' : ''; ?> />
    Nem fordult el&#337;.</td>
    </tr>
    <tr>
    <td>11.</td>
    <td><p>Van-e akad&aacute;lya annak, hogy egy mobil-eszk&ouml;z-csomagot haszn&aacute;ljon tanul&aacute;shoz? </p></td>
    <td><input type="radio" name="radio10"value="y" <?php echo $radio10 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio10"value="n" <?php echo $radio10 == 'n' ? 'checked="checked"' : ''; ?> />
    nincs</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>Ha igen, mi? </td>
    <td colspan="3"><input name="gond" type="text" id="gond" value="<?php print $gond; ?>" size="50" maxlenght="100" /></td>
    </tr>
    <tr>
    <td>12.</td>
    <td>Ha van egy&eacute;b internet-hozz&aacute;f&eacute;r&eacute;se, akkor is haszn&aacute;lja a mobilt internetez&eacute;sre?</td>
    <td><input type="radio" name="radio11"value="y" <?php echo $radio11 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio11"value="n" <?php echo $radio11 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio11"value="res" <?php echo $radio11 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td>13.</td>
    <td><p>Naponta internetezik?</p></td>
    <td><input type="radio" name="radio12"value="y" <?php echo $radio12 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio12"value="n" <?php echo $radio12 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td>14.</td>
    <td>&Ouml;n szerint alkalmas-e a mobilk&eacute;sz&uuml;l&eacute;k hirdet&eacute;sekre? </td>
    <td><input type="radio" name="radio13"value="y" <?php echo $radio13 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio13"value="n" <?php echo $radio13 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio13"value="res" <?php echo $radio13 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td>15.</td>
    <td>A nyomtatott hirdet&eacute;si inform&aacute;ci&oacute;t r&eacute;szes&iacute;ti-e el&#337;nyben? </td>
    <td><input type="radio" name="radio14"value="y" <?php echo $radio14 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio14"value="n" <?php echo $radio14 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio14"value="res" <?php echo $radio14 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td>16.</td>
    <td>Az elektronikus hirdet&eacute;st is megn&eacute;zi? &nbsp;</td>
    <td><input type="radio" name="radio15"value="y" <?php echo $radio15 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio15"value="n" <?php echo $radio15 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio15"value="res" <?php echo $radio15 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td height="26">17.</td>
    <td>C&eacute;lir&aacute;nyosan keres a hirdet&eacute;sek k&ouml;z&ouml;tt? </td>
    <td><input type="radio" name="radio16"value="y" <?php echo $radio16 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio16"value="n" <?php echo $radio16 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio16"value="res" <?php echo $radio16 == 'res' ? 'checked="checked"' : ''; ?> />
    n&eacute;ha</td>
    </tr>
    <tr>
    <td height="42">18.</td>
    <td>A mobilon el&eacute;rhet&#337; hirdet&eacute;si &eacute;s egy&eacute;b anyagok mellett haszn&aacute;l-e nyomtatott &uacute;js&aacute;gokat is?</td>
    <td><input type="radio" name="radio17"value="y" <?php echo $radio17 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio17"value="n" <?php echo $radio17 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio17"value="res" <?php echo $radio17 == 'res' ? 'checked="checked"' : ''; ?> />
    vegyesen</td>
    </tr>
    <tr>
    <td height="42">19.</td>
    <td>Megb&iacute;zhat&oacute;nak tartja-e a sz&aacute;m&iacute;t&oacute;g&eacute;pen, interneten el&eacute;rhet&#337; hirdet&eacute;si inform&aacute;ci&oacute;kat? </td>
    <td><input type="radio" name="radio18"value="y" <?php echo $radio18 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio18"value="n" <?php echo $radio18 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio18"value="res" <?php echo $radio18 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td height="87">20.</td>
    <td>Mit tan&aacute;csol a hirdet&#337;knek, hogy gyorsabban &eacute;s hat&eacute;konyabban el&eacute;rj&eacute;k a c&eacute;lcsoportjukat?</td>
    <td colspan="3"><textarea name="tanacshird" cols="50" rows="5" id="tanacshird" maxlenght="100"><?php print $tanacshird; ?></textarea></td>
    </tr>
    <tr>
    <td height="29">21.</td>
    <td>Csak interneten hirdessenek?</td>
    <td><input type="radio" name="radio19"value="y" <?php echo $radio19 == 'y' ? 'checked="checked"' : ''; ?> />
    Igen</td>
    <td><input type="radio" name="radio19"value="n" <?php echo $radio19 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio19"value="res" <?php echo $radio19 == 'res' ? 'checked="checked"' : ''; ?> />
    vegyesen</td>
    </tr>
    <tr>
    <td height="61">22.</td>
    <td>Milyen a megb&iacute;zhat&oacute;s&aacute;ga ma a mobilon el&eacute;rhet&#337; hirdet&eacute;si inform&aacute;ci&oacute;k megjelen&eacute;s&eacute;nek? </td>
    <td><input type="radio" name="radio20"value="y" <?php echo $radio20 == 'y' ? 'checked="checked"' : ''; ?> />
    Kiv&aacute;l&oacute;</td>
    <td><input type="radio" name="radio20"value="n" <?php echo $radio20 == 'n' ? 'checked="checked"' : ''; ?> />
    k&ouml;zepes</td>
    <td><input type="radio" name="radio20"value="res" <?php echo $radio20 == 'res' ? 'checked="checked"' : ''; ?> />
    gyenge</td>
    </tr>
    <tr>
    <td height="23">23.</td>
    <td>K&ouml;nny&#369;v&eacute; teszi a keresett anyagot az internet?</td>
    <td><input type="radio" name="radio21"value="y" <?php echo $radio21 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><p>
    <input type="radio" name="radio21"value="n" <?php echo $radio21 == 'n' ? 'checked="checked"' : ''; ?> />
    Egy&aacute;ltal&aacute;n nem k&ouml;nny&#369;</p></td>
    <td><input type="radio" name="radio21"value="res" <?php echo $radio21 == 'res' ? 'checked="checked"' : ''; ?> />
    vegyesen</td>
    </tr>
    <tr>
    <td height="42">24.</td>
    <td>Olvasna-e rendszeresen napilapot mobil-k&eacute;perny&#337;n?</td>
    <td><input type="radio" name="radio22"value="y" <?php echo $radio22 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio22"value="n" <?php echo $radio22 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="46">25.</td>
    <td>mi&eacute;rt?</td>
    <td colspan="3"><textarea name="napilatmiert" cols="50" rows="5" id="napilatmiert" maxlenght="100"><?php print $napilatmiert; ?></textarea></td>
    </tr>
    <tr>
    <td height="23">26.</td>
    <td>Hossz&uacute; h&iacute;rad&oacute;t is n&eacute;zne mobilon?</td>
    <td><input type="radio" name="radio23"value="y" <?php echo $radio23 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio23"value="n" <?php echo $radio23 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio23"value="res" <?php echo $radio23 == 'res' ? 'checked="checked"' : ''; ?> />
    alkalomszer&#369;en</td>
    </tr>
    <tr>
    <td height="87">27.</td>
    <td>mi&eacute;rt?</td>
    <td colspan="3"><textarea name="hiradomiert" cols="50" rows="5" id="hiradomiert" maxlenght="100"><?php print $hiradomiert; ?></textarea></td>
    </tr>
    <tr>
    <td height="42">28.</td>
    <td>Szereti-e ha rekl&aacute;mokkal is felkeresik inform&aacute;ci&oacute;el&eacute;r&eacute;s k&ouml;zben?</td>
    <td><input type="radio" name="radio24"value="y" <?php echo $radio24 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio24"value="n" <?php echo $radio24 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="50">29.</td>
    <td>Ha anyagi korl&aacute;tja nem volna, milyen k&eacute;sz&uuml;l&eacute;ket v&aacute;s&aacute;rolna? (m&aacute;rka; t&iacute;pus)</td>
    <td colspan="3"><textarea name="mikene" cols="50" rows="5" id="mikene" maxlenght="100"><?php print $mikene; ?></textarea></td>
    </tr>
    <tr>
    <td height="61">30.</td>
    <td>H&aacute;ny forintot sz&aacute;nna arra, hogy egy t&ouml;bbfunkci&oacute;s <strong>mobiltelefont</strong> v&aacute;s&aacute;roljon, amin ak&aacute;r kereskedelmi megrendel&eacute;st is feladhat?</td>
    <td colspan="3"><input name="menyibe" type="text" id="menyibe" value="<?php print $menyibe; ?>" size="20" maxlenght="100" />
    HUF</td>
    </tr>
    <tr>
    <td height="23">31.</td>
    <td><p>Szokott-e filmet n&eacute;zni mobil-on? </p> </td>
    <td><input type="radio" name="radio25"value="y" <?php echo $radio25 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio25"value="n" <?php echo $radio25 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio25"value="res" <?php echo $radio25 == 'res' ? 'checked="checked"' : ''; ?> />
    Csak rekl&aacute;mfilmet </td>
    </tr>
    <tr>
    <td height="37">32.</td>
    <td><p>Ha m&aacute;r van sokfunkci&oacute;s k&eacute;sz&uuml;l&eacute;ke, mit javasolna, hogy olcs&oacute;bban jusson hozz&aacute; egyes hirdet&eacute;si, kereskedelmi inform&aacute;ci&oacute;hoz? </p></td>
    <td colspan="3"><textarea name="javaslat" cols="50" rows="5" id="javaslat" maxlenght="100"><?php print $javaslat; ?></textarea></td>
    </tr>
    <tr>
    <td height="23">33.</td>
    <td>Egyet&eacute;rt-e azzal, hogy a di&aacute;kok kaphassanak kedvezm&eacute;nyes, esetleg ingyenes internetes tarif&aacute;t? </td>
    <td><input type="radio" name="radio26"value="y" <?php echo $radio26 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio26"value="n" <?php echo $radio26 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="23">34.</td>
    <td>Ha di&aacute;koknak ingyenes volna ez a szolg&aacute;ltat&aacute;s, akkor milyen gyakran venn&eacute; ig&eacute;nybe? </td>
    <td><input type="radio" name="radio27"value="y" <?php echo $radio27 == 'y' ? 'checked="checked"' : ''; ?> />
    Mindig.</td>
    <td><input type="radio" name="radio27"value="n" <?php echo $radio27 == 'n' ? 'checked="checked"' : ''; ?> />
    Nem venn&eacute;m ig&eacute;nybe.</td>
    <td><input type="radio" name="radio27"value="res" <?php echo $radio27 == 'res' ? 'checked="checked"' : ''; ?> />
    Alkalmank&eacute;nt</td>
    </tr>
    <tr>
    <td height="42">35.</td>
    <td>H&aacute;ny forintot tudna r&aacute;sz&aacute;nni, ha m&eacute;gsem volna ingyenes?</td>
    <td colspan="3"><input name="ftmenyi" type="text" id="ftmenyi" value="<?php print $ftmenyi; ?>" size="20" maxlenght="100" />
    HUF</td>
    </tr>
    <tr>
    <td height="23">36.</td>
    <td>Egyet&eacute;rt-e azzal, hogy a telefon&aacute;l&aacute;st &eacute;s a mobil-kereskedelmi inform&aacute;ci&oacute;k el&eacute;r&eacute;s&eacute;t k&uuml;l&ouml;n tarifacsomagk&eacute;nt kezelj&eacute;k &eacute;s v&aacute;lasztani lehessen? </td>
    <td><input type="radio" name="radio28"value="y" <?php echo $radio28 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio28"value="n" <?php echo $radio28 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="42">37.</td>
    <td>Egyet&eacute;rt-e azzal, hogy a di&aacute;kokat is el&eacute;rhess&eacute;k kereskedelmi c&eacute;gek hirdet&eacute;seikkel?</td>
    <td><input type="radio" name="radio29"value="y" <?php echo $radio29 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio29"value="n" <?php echo $radio29 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="61">38.</td>
    <td>Egyet&eacute;rt-e azzal, hogy a di&aacute;kok a hozz&aacute;juk eljuttatott hirdet&eacute;sek fej&eacute;ben olcs&oacute;bban jussanak hozz&aacute; az internethez? </td>
    <td><input type="radio" name="radio30"value="y" <?php echo $radio30 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio30"value="n" <?php echo $radio30 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="23">39.</td>
    <td>Zaklat&aacute;snak veszi-e, ha hirdet&eacute;sekkel keresik fel &ouml;nt? </td>
    <td><input type="radio" name="radio31"value="y" <?php echo $radio31 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio31"value="n" <?php echo $radio31 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="53">40.</td>
    <td>&Aacute;ltal&aacute;nosan milyen <strong><u>el&#337;nyeit</u></strong> emeln&eacute; ki a multim&eacute;di&aacute;s eszk&ouml;z(&ouml;k)nek? </td>
    <td colspan="3"><textarea name="multielony" cols="50" rows="5" id="multielony" maxlenght="100"><?php print $multielony; ?></textarea></td>
    </tr>
    <tr>
    <td height="54">41.</td>
    <td>&Aacute;ltal&aacute;nosan milyen <strong><u>h&aacute;tr&aacute;nyait</u></strong> emeln&eacute; ki a multim&eacute;di&aacute;s eszk&ouml;z(&ouml;k)nek?</td>
    <td colspan="3"><textarea name="multihatrany" cols="50" rows="5" id="multihatrany" maxlenght="100"><?php print $multihatrany; ?></textarea></td>
    </tr>
    <tr>
    <td height="61">42.</td>
    <td>Fontos-e, az &ouml;n munk&aacute;ja, tanul&aacute;sa szempontj&aacute;b&oacute;l, hogy helyt&#337;l &eacute;s id&#337;t&#337;l f&uuml;ggetlen&uuml;l is el&eacute;rhessen bizonyos inform&aacute;ci&oacute;kat?</td>
    <td> <input type="radio" name="radio32"value="y" <?php echo $radio32 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio32"value="n" <?php echo $radio32 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio32"value="res" <?php echo $radio32 == 'res' ? 'checked="checked"' : ''; ?> />
    K&ouml;z&ouml;mb&ouml;s</td>
    </tr>
    <tr>
    <td height="73">43.</td>
    <td><p>Mi&eacute;rt? </p></td>
    <td colspan="3"><textarea name="fmiert" cols="50" rows="5" id="fmiert" maxlenght="100"><?php print $fmiert; ?></textarea></td>
    </tr>
    <tr>
    <td height="42">44.</td>
    <td>Mobil-k&eacute;sz&uuml;l&eacute;ken is rendezi-e az internetes inform&aacute;ci&oacute;kat? </td>
    <td><input type="radio" name="radio33"value="y" <?php echo $radio33 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio33"value="n" <?php echo $radio33 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="42">45.</td>
    <td>Csak h&aacute;l&oacute;zatos k&eacute;sz&uuml;l&eacute;ken rendezem az inform&aacute;ci&oacute;imat. </td>
    <td><input type="radio" name="radio34"value="y" <?php echo $radio34 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio34"value="n" <?php echo $radio34 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="61">46.</td>
    <td><p>&Ouml;n szerint nagyon r&aacute;telepszik az emberre, ha m&aacute;r a mobil k&eacute;sz&uuml;l&eacute;k&eacute;n is kereskedelmi internetez&eacute;st folytat? </p></td>
    <td><input type="radio" name="radio35"value="y" <?php echo $radio35 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td colspan="2"><input type="radio" name="radio35"value="n" <?php echo $radio35 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    </tr>
    <tr>
    <td height="42">47.</td>
    <td>Figyeli-e (az interneten) a kedvenc honlapjain a napi v&aacute;ltoz&aacute;sokat? </td>
    <td><input type="radio" name="radio36"value="y" <?php echo $radio36 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio36"value="n" <?php echo $radio36 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio36"value="res" <?php echo $radio36 == 'res' ? 'checked="checked"' : ''; ?> />
    alkalomszer&#369;en</td>
    </tr>
    <tr>
    <td height="23">48.</td>
    <td>A t&aacute;rsas&aacute;gi oldalakat n&eacute;zi?</td>
    <td> <input type="radio" name="radio37"value="y" <?php echo $radio37 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio37"value="n" <?php echo $radio37 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio37"value="res" <?php echo $radio37 == 'res' ? 'checked="checked"' : ''; ?> />
    (m&aacute;st is) n&eacute;ha</td>
    </tr>
    <tr>
    <td height="23">49.</td>
    <td>H&iacute;rport&aacute;lt szokott-e n&eacute;zni? </td>
    <td><input type="radio" name="radio38"value="y" <?php echo $radio38 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio38"value="n" <?php echo $radio38 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio38"value="res" <?php echo $radio38 == 'res' ? 'checked="checked"' : ''; ?> />
    alkalomszer&#369;en</td>
    </tr>
    <tr>
    <td height="26">50.</td>
    <td>Felvett-e &uacute;j szok&aacute;sokat az internet elterjed&eacute;se &oacute;ta? </td>
    <td><input type="radio" name="radio39"value="y" <?php echo $radio39 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio39"value="n" <?php echo $radio39 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio39"value="res" <?php echo $radio39 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td height="23">51.</td>
    <td>Gyakrabban olvas-e h&iacute;reket mi&oacute;ta internete van? </td>
    <td><input type="radio" name="radio40"value="y" <?php echo $radio40 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio40"value="n" <?php echo $radio40 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio40"value="res" <?php echo $radio40 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td height="53">52.</td>
    <td>Nagyon r&aacute;telepszik az internet a h&eacute;tk&ouml;znapjaira? </td>
    <td><p>
    <input type="radio" name="radio41"value="y" <?php echo $radio41 == 'y' ? 'checked="checked"' : ''; ?> />
    Igen (F&uuml;gg&#337; vagyok)</p> </td>
    <td><input type="radio" name="radio41"value="n" <?php echo $radio41 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio41"value="res" <?php echo $radio41 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td height="48">53.</td>
    <td>Okos dolog-e interneten hirdetni? </td>
    <td><input type="radio" name="radio42"value="y" <?php echo $radio42 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio42"value="n" <?php echo $radio42 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio42"value="res" <?php echo $radio42 == 'res' ? 'checked="checked"' : ''; ?> />
    nem mindig </td>
    </tr>
    <tr>
    <td height="26">54.</td>
    <td>Megb&iacute;zhat&oacute;-e az internetes hirdet&eacute;s? </td>
    <td><input type="radio" name="radio43"value="y" <?php echo $radio43 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio43"value="n" <?php echo $radio43 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio43"value="res" <?php echo $radio43 == 'res' ? 'checked="checked"' : ''; ?> />
    nem mindig </td>
    </tr>
    <tr>
    <td height="45">55.</td>
    <td><p>Mennyire k&eacute;pviseli az internetes felm&eacute;r&eacute;s a t&eacute;nyleges fogyaszt&oacute;i, v&aacute;s&aacute;rl&oacute;i &nbsp;k&ouml;rt?</p> </td>
    <td><input type="radio" name="radio44"value="y" <?php echo $radio44 == 'y' ? 'checked="checked"' : ''; ?> />
    H&#369; k&eacute;pet ad r&oacute;luk</td>
    <td><input type="radio" name="radio44"value="n" <?php echo $radio44 == 'n' ? 'checked="checked"' : ''; ?> />
    Nem k&eacute;pviseli </td>
    <td><input type="radio" name="radio44"value="res" <?php echo $radio44 == 'res' ? 'checked="checked"' : ''; ?> />
    Csak r&eacute;szben (k&eacute;rd&#337;&iacute;vt&#337;l f&uuml;gg)</td>
    </tr>
    <tr>
    <td height="64">56.</td>
    <td>Mennyire t&uuml;kr&ouml;zi egy kereskedelmi c&eacute;g tev&eacute;kenys&eacute;g&eacute;t az interneten jelenl&eacute;v&#337; oldala?</td>
    <td><input type="radio" name="radio45"value="y" <?php echo $radio45 == 'y' ? 'checked="checked"' : ''; ?> />
    Teljes m&eacute;rt&eacute;kben</td>
    <td><input type="radio" name="radio45"value="n" <?php echo $radio45 == 'n' ? 'checked="checked"' : ''; ?> />
    Nem k&eacute;pviseli, a val&oacute;s&aacute;gban m&aacute;ssal foglalkozik</td>
    <td><input type="radio" name="radio45"value="res" <?php echo $radio45 == 'res' ? 'checked="checked"' : ''; ?> />
    Vegyes; mindk&eacute;t jelenl&eacute;t fontos a sz&aacute;m&aacute;ra</td>
    </tr>
    <tr>
    <td height="83">57.</td>
    <td>Mennyire b&iacute;zik meg egy c&eacute;g internetes hirdet&eacute;s&eacute;ben?</td>
    <td><p>
    <input type="radio" name="radio46"value="y" <?php echo $radio46 == 'y' ? 'checked="checked"' : ''; ?> />
    Megb&iacute;zom</p></td>
    <td><input type="radio" name="radio46"value="n" <?php echo $radio46 == 'n' ? 'checked="checked"' : ''; ?> />
    Nem b&iacute;zom meg (szeretek a keresked&#337; szem&eacute;be n&eacute;zni) </td>
    <td><input type="radio" name="radio46"value="res" <?php echo $radio46 == 'res' ? 'checked="checked"' : ''; ?> />
    M&eacute;g csak most alakul ki az internetet teljesen elfogad&oacute; koroszt&aacute;ly, ut&aacute;na </td>
    </tr>
    <tr>
    <td height="61">58.</td>
    <td>Ha &ouml;nnek c&eacute;ge van (volna) r&aacute;b&iacute;zn&aacute; mag&aacute;t az internetre, hogy el&eacute;rje a (c&eacute;lk&ouml;z&ouml;ns&eacute;g&eacute;t) a v&aacute;s&aacute;rl&oacute;it?</td>
    <td><input type="radio" name="radio47"value="y" <?php echo $radio47 == 'y' ? 'checked="checked"' : ''; ?> />
    igen</td>
    <td><input type="radio" name="radio47"value="n" <?php echo $radio47 == 'n' ? 'checked="checked"' : ''; ?> />
    nem</td>
    <td><input type="radio" name="radio47"value="res" <?php echo $radio47 == 'res' ? 'checked="checked"' : ''; ?> />
    r&eacute;szben</td>
    </tr>
    <tr>
    <td height="87">59.</td>
    <td>Milyen gyakran rendel az interneten kereszt&uuml;l? (b&aacute;rmit)</td>
    <td><input type="radio" name="radio48"value="y" <?php echo $radio48 == 'y' ? 'checked="checked"' : ''; ?> />
    Gyakran (hetente)</td>
    <td><p>
    <input type="radio" name="radio48"value="n" <?php echo $radio48 == 'n' ? 'checked="checked"' : ''; ?> />
    Nem rendelek</p>
    </td>
    <td><p>
    <input type="radio" name="radio48"value="res" <?php echo $radio48 == 'res' ? 'checked="checked"' : ''; ?> />
    N&eacute;ha (1-2 havonta)</p> </td>
    </tr>
    <tr>
    <td height="87">60.</td>
    <td>Milyen &eacute;rt&eacute;khat&aacute;ron t&uacute;l nem rendel semmit az internetr&#337;l?</td>
    <td><input type="radio" name="radio49"value="y" <?php echo $radio49 == 'y' ? 'checked="checked"' : ''; ?> />
    B&aacute;rmit megrendelek</td>
    <td><input type="radio" name="radio49"value="n" <?php echo $radio49 == 'n' ? 'checked="checked"' : ''; ?> />
    Semmit sem</td>
    <td><input type="radio" name="radio49"value="res" <?php echo $radio49 == 'res' ? 'checked="checked"' : ''; ?> />
    Csak jelk&eacute;pes &eacute;rt&eacute;keket rendelek. (Pizzafut&aacute;r; vonatjegy; rep&uuml;l&#337;jegy.) </td>
    </tr>
    <tr>
    <td height="87">61.</td>
    <td>Mi volt az eddigi legnagyobb &eacute;rt&eacute;k, amit interneten rendelt meg? </td>
    <td colspan="3"><input name="menyirend" type="text" id="menyirend" value="<?php print $menyirend; ?>" size="20" maxlenght="100" />
    HUF </td>
    </tr>
    <tr>
    <td height="40" colspan="2" align="right">
    <input type=submit value="Mehet"></td>
    <td colspan="3">
    <input type=reset value="Mégse"></td>
    </tr>
    </table>
    </form>

    Lehet valamit elnéztem a kódban? :F

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3452 üzenetére

    Szuper.

    Illetve az vajon butaság lenne e, hogy valahogyan megcsinálnám, hogy automatikusan a visszahozás dátumába beállítsa, hogy vissza lett hozva!?
    Ez inkább maradjon manuális ugye? Tehát mondjuk az admin ha visszahoztak egy filmet, akkor egy gombbal be tudja állítani, hogy vissza lett hozva.

  • Protezis

    őstag

    válasz cucka #3415 üzenetére

    Zend Cert: Külföldön nagyon sok helyen _kell_, valamint sok helyen ha nem is kell, plusz pont. Szerintem csak idő kérdése, míg MO-ra is begyűrűzik ez a hozzáállás. Én egy Zend PHP5 és Zend FW certben gondolkozok.

  • Sk8erPeter

    nagyúr

    válasz meone #3455 üzenetére

    Akkor helyettesítsd az "isset" részt egy "!empty"-vel.
    Tehát így:
    if ( !empty($_POST["pix"]) && is_numeric($pix) ) ;
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    }

  • meone

    tag

    válasz Sk8erPeter #3454 üzenetére

    Csak ennyi hiányzott: "&&" :)
    Akkor a CSS-t majd még ez után csinálom meg először legyen kész ez a script.

    Még akadt egy kis gond.
    Meg csináltam ezt a változtatást, de most akkor is ki írja a szöveget ha nincsen benne érték.

  • Sk8erPeter

    nagyúr

    válasz meone #3449 üzenetére

    "Ezt a két részt viszont már nem tudom összekötni"
    if ( isset($_POST["pix"]) && is_numeric($pix) ) ;
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    }

    Azt, hogy pirosan keretezze be, én legegyszerűbben CSS segítségével szoktam megoldani, hogy PHP-vel megváltoztatom a mezőre vonatkozó stílust, amit CSS-ben megadtam, hogy piros legyen.

  • 8nemesis8

    veterán

    válasz Tele von Zsinór #3450 üzenetére

    Mintha láttam volna, hogy van bool és még külön bit is, numerikus típusok között.
    Amúgy meg lehet tényleg az a legegyszerűbb, ha tinyint-nek adok 1 vagy 0értéket attól függően, hogy bent vagy kint van a film.
    Köszi az időfüggvényt!

  • Sk8erPeter

    nagyúr

    válasz 8nemesis8 #3447 üzenetére

    Persze, erre való a date() függvény.
    Pl. meg lehet csinálni így:

    $ev = date("Y");
    $honap = date("m");
    $nap = date("d");

    $nap_neve = date("l");
    switch ($nap_neve) //nap nevének átalakítása magyarra
    {
    case 'Monday' : $nap_neve = 'hétfő'; break;
    case 'Tuesday' : $nap_neve = 'kedd'; break;
    case 'Wednesday': $nap_neve = 'szerda'; break;
    case 'Thursday' : $nap_neve = 'csütörtök'; break;
    case 'Friday' : $nap_neve = 'péntek'; break;
    case 'Saturday' : $nap_neve = 'szombat'; break;
    case 'Sunday' : $nap_neve = 'vasárnap'; break;
    default: break;
    }

    $ora = date("H");
    $perc = date("i");

    //és a végeredmény:
    $datum = "$ev.$honap.$nap. ($nap_neve), $ora:$perc";

    Ezt beteheted mondjuk egy "datumkeszito" nevű függvénybe, és akkor mindig csak ezt kell meghívogatni. Pl. térjen vissza a $datum értékével.

  • Tele von Zsinór

    őstag

    válasz 8nemesis8 #3446 üzenetére

    Inkább enum-nak tudnám elképzelni, ha már úgyis mysql-el dolgozol, és akkor nem csak kölcsönözhető/nem kölcsönözhető, hanem más állapotokat is le tud írni.
    Amikor visszahozzák, beállítod, hogy kölcsönözhető, hasonlóan kivételkor azt, hogy nem.
    Mysql-ben nincs bool, tinyint(1)-et szokás használni erre a célra.

  • meone

    tag

    Sziasztok megint el akadtam. :(

    Most a problémám a következő.
    Van egy inputmezőm aminek vizsgálom azt hogy szám van e beleírva vagy sem.
    Ezt a $pix változó tárolja.
    Azt szeretném meg oldani, hogy ha az adott mezőbe számokat írnak akkor menyen tovább a script ha pedig betűket akkor írja ki azt hogy hibás, és emelje ki pirossal az adott inputmezőt.
    Eddig ezt tudtam ki okoskodni:

    if (is_numeric($pix)) ;
    {
    echo "Hibásan van ki töltve a 4.2-es kérdés értéke:".$pix;
    }

    Azt meg lehet oldani valahogy, hogy ez az sor csak akkor jelenjen meg ha már érték van benne.
    Azt tudom, hogy ezt ezzel lehet vizsgálni, hogy van e benne érték:
    isset($_POST["pix"])

    Ezt a két részt viszont már nem tudom összekötni. :(

    Bocsánat ha homályosan fogalmaztam.

    A válaszokat köszönöm előre is.

  • Tele von Zsinór

    őstag

    válasz 8nemesis8 #3441 üzenetére

    Nem biztos, hogy a legszebb, de valami ilyen fog kelleni:

    SELECT * FROM `filmek` WHERE `id` NOT IN(
    SELECT `film_id` FROM `kolcsonzesek` WHERE `visszahozva` IS NULL
    );

    szerk. frissíteni kellett volna válaszolás előtt :)

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3445 üzenetére

    Hát akkor ebbe az irányba kezdek el gondolkodni, mert ahogyan én csináltam dátumok alapján egymásba ágyazott selectekkel és vagy 5-6sorban úgy részben lett jó megoldás.

    Egyébként lehet valami éppen aktuális, mai dátumot lekérni valahogyan phpvel?
    Mert akkor kivétel időpontjához azt adnám meg.

  • 8nemesis8

    veterán

    válasz cucka #3444 üzenetére

    Igen ilyesmire én is gondoltam, de hogyan állapítom meg, hogy visszahozták e!?
    Egy gombbal amit beállítok, ha visszahoztak akkor beállítom ,hogy itt van a tékában?
    Ez egy bool mező lenne gondolom.

  • Sk8erPeter

    nagyúr

    válasz 8nemesis8 #3441 üzenetére

    Most csak első kósza ötlet, ami eszembe jutott, persze ennél lehetnek elegánsabb megoldások is, pl. csinálsz egy külön oszlopot "allapot" névvel, és ott mindig változtatod az állapotot, attól függően, hogy épp kölcsönözhető vagy sem. Ez szerintem így nagyon egyszerű. És amikor pedig lekérdezést hajtasz végre, akkor valahogy így:
    SELECT * FROM videotekatabla WHERE allapot = 'kolcsonozheto';

    ___________

    Szerk.:
    (#3442) cucka: rendben, köszi az eddigi válaszokat is, tényleg utánaolvasok, mindenesetre elég sokat segítettél. :R
    (#3443): hmm, akkor sorry. Valszeg le vagyok maradva. :B
    "Én már megcsináltam párszor"
    És milyen célból? :F Nekem elsőre kicsit feleslegesen bonyolultnak tűnik, persze biztos valamilyen szempont nem jutott még eszembe. Pl. az, hogy mondjuk egy fájlt nem akarsz tárolni, hanem csak a tartalmát.

    "Egy file tartalma is adat." Jó, ezt valóban félreérthetően írtam, my fault.

  • cucka

    addikt

    válasz 8nemesis8 #3441 üzenetére

    Nevezzük a filmek táblát film-nek, a kölcsönzés táblát kolcsonzes-nek. A kölcsönzésben tároljuk el egy mezőben, hogy a kölcsönzés lejárt-e. (Ez azt jelenti, hogy a filmet visszahozták.)

    Ekkor a következő query lesz jó:
    select * from film
    where not exists
    (select * from kolcsonzes
    where kolcsonzes.lejart=0 and kolcsonzes.film_id=film.id
    )

    A lejárás feltételét úgy tárolod, ahogy akarod, nyilván a rá vonatkozó feltételt eszerint kell megadni, itt a példa kedvéért a legegyszerűbb megoldást választottam.

  • cucka

    addikt

    válasz Sk8erPeter #3440 üzenetére

    Hogyan tárolsz képet az adatbázisban?
    Például a mysql-ben a különböző blob típusú mezők erre vannak.

    Valószínűleg azért ajánlják mindenhol a link tárolását az adatbázisban, mert csak azt lehet megcsinálni.
    Nem. Azért ajánlják, mert sokkal egyszerűbb megcsinálni.

    ha valaki megcsinálná azt, hogy mondjuk egy jpeg képnek a szerkesztőben látható tartalmát tárolná el adatbázisban, majd úgy hívná elő, hogy abból jpeg-kép szülessen, akkor hááát igencsak ki lehetne nevetni
    Én már megcsináltam párszor, kezdhetsz nevetni.

    Ott adatot tárolsz, nem konkrétan fájlokat, majd ezeket előhívogatod, ahol szükséged van rá.
    Egy file tartalma is adat.

  • cucka

    addikt

    válasz Sk8erPeter #3438 üzenetére

    De mondjuk ez biztonsági szempontból kicsit kevés ellenőrzésnek, nem? De más gépről hogyhogy működhet ugyanaz a Session ID?
    Szerintem fogj egy komolyabb könyvet és olvasd el, hogy hogyan működik a php session kezelése.
    Úgy működhet ugyanaz a session_id, hogy senki sem ellenőrzi, hogy a kliens gépnének nem-e változott az ip címe vagy a user_agent-je. Ha biztonságos rendszert szeretnél, akkor ezt a kettőt ellenőrizni kell.

    a feltörésnél igazából még az nem tiszta, hogy ha tételezzük fel megvan az md5-hash-ed, akkor abból miért nem lehet visszafejteni az eredeti jelszót, ha mindig ugyanazon az algoritmuson alapszik a hash legyártása.
    Azért nem lehet visszafejteni, mert nem lehet visszafejteni. Ilyen a hash algoritmus, ez a lényege, hogy egy irányú. A pontos válaszok nagyon túlmutatnak ezen a topikon, ez a téma a doktori disszertációk és egyetemi kutatások szintje, teljes megértéséhez elég komoly algebrai ismeretek szükségesek. Amúgy ha érdekel a téma, kezdésnek nézd meg az rsa algoritmusát, a wikin például le van írva, hogy pontosan hogyan működik és miért nehéz visszafejteni.

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3440 üzenetére

    Bocs, igazad van. Elég nagy butaságot írtam.

    Másik téma:
    Nekem most egy videotékát kell megcsinálnom. A következő a gondom.
    Ugye ki lehet venni a filmeket és ezt egy kölcsönzés táblában eltárolom, hogy melyik hordozót vette ki, ami egy kulcs és hogy ki vette ki, ami tagsági szám, illetve még a kivitel és visszahozás időpontját tárolom el.
    Kivitel kulcs,illetve a fentebb említett másik kettő kulcs külső.
    Nah az a gondom, hogy csak azokat szeretném megjeleníteni a kölcsönzési listában,amik éppen bent vannak a tékában, ami kölcsönzés alatt van azokat ne mutassa. Ezt sajnos semmilyen lekérdezéssel nem tudtam megoldani, csak részben jó megoldással.
    Valami ötletet tudnál/tudnátok erre adni?

  • Sk8erPeter

    nagyúr

    válasz 8nemesis8 #3437 üzenetére

    Hogyan tárolsz képet az adatbázisban? :Y :D Valószínűleg azért ajánlják mindenhol a link tárolását az adatbázisban, mert csak azt lehet megcsinálni. :D (ha valaki megcsinálná azt, hogy mondjuk egy jpeg képnek a szerkesztőben látható tartalmát tárolná el adatbázisban, majd úgy hívná elő, hogy abból jpeg-kép szülessen, akkor hááát igencsak ki lehetne nevetni :D)
    Ott adatot tárolsz, nem konkrétan fájlokat, majd ezeket előhívogatod, ahol szükséged van rá.
    A dolgod csak annyi, hogy oldd meg, hogy képfeltöltéskor a kép elérési útja automatikusan pontosan úgy kerüljön be az adatbázisba, ahogy az a tárhelyeden megtalálható. Akár relatív, akár abszolút hivatkozást is betehetsz. Aztán az oldalon a neked megfelelő módon hívod elő, ha több kép elérési útja is kell, akkor mondjuk ciklussal... de eleve a MySQL utasítást is lehet úgy finomítgatni, hogy csak azoknak a képeknek az adatait tudd előhívni, amikre épp szükséged van.
    Ha konkretizálnád, mit is szeretnél, úgy könnyebb lenne segítséget nyújtani.

  • cucka

    addikt

    válasz 1ed #3434 üzenetére

    Gondoltam hogy valaki bele fog kötni. De azonkívül, hogy globális változó mi a baj vele (vagy az is bőven elég)?
    A $_POST, $_GET, $_SERVER stb. szuperglobálok tulajdonképpen a szkripted bemeneti adatai. A php engedi a változtatásukat, de annak semmi hatása nincs, tehát célszerű szigorúan bemeneti adatként kezelni.
    Ha például nagy rendszerben piszkálod ezeket, akkor később (amikor használni szeretnéd) gondot okozhat, hogy a tömb tartalma nem egyezik meg a júzer által beküldött adatokkal. Természetesen 50-100 soros kis szkripteknél teljesen mindegy, csak jó nem rászokni a gányolásra :) .

    (#3435) Tele von Zsinór
    Igazad van, a Session kivétel, meg mondjuk a Cookie is. Általában a lényeg, hogy ha egy bemeneti paraméter módosításának nincs semmilyen következménye (leszámítva önmagát az értékadást), akkor ne módosítsuk.

  • Sk8erPeter

    nagyúr

    válasz ArchElf #3427 üzenetére

    "a felhasználónak adsz pl egy Session ID-t ami alapján meg tudod mondani, hogy a már be van lépve."
    De mondjuk ez biztonsági szempontból kicsit kevés ellenőrzésnek, nem? De más gépről hogyhogy működhet ugyanaz a Session ID?

    (#3432) cucka: a feltörésnél igazából még az nem tiszta, hogy ha tételezzük fel megvan az md5-hash-ed, akkor abból miért nem lehet visszafejteni az eredeti jelszót, ha mindig ugyanazon az algoritmuson alapszik a hash legyártása. Ez is túl hosszú ideig tartana?

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3425 üzenetére

    Még én sem tudom, hogy az adatbázisba tároljam e a képet vagy csak a linket, de ahogyan olvasgatok utána inkább a link mentését ajánlják többen is.
    Azonban én úgy gondolom nekem egyszerűbb lenne képet tárolni az adatbázisban.

  • Tele von Zsinór

    őstag

    válasz 1ed #3434 üzenetére

    Az a probléma, hogy a get, post, cookie, request, env, server (azt hiszem, ennyi :) ) mind a bemenet vagy a környezet leírására lettek kitalálva. Mielőtt a scriptedig eljut a vezérlés, ezeket populálja a php azok alapján, amiket kívülről kapott - nem jó dolog ezek módosításával vezérelni az alkalmazásod, bárhol másutt nem várt következményei lehetnek.

  • Tele von Zsinór

    őstag

    válasz cucka #3433 üzenetére

    A session-kezelést hogy máshogy oldod meg? Az ok, hogy a post, get, cookie, stb. tömböket nagyon nem kéne módosítani, de a session-be rendszeresen belenyúlok.

  • 1ed

    csendes tag

    válasz cucka #3433 üzenetére

    Hát egy kicsit félve írtam oda :B Gondoltam hogy valaki bele fog kötni. De azonkívül, hogy globális változó mi a baj vele (vagy az is bőven elég)?

  • cucka

    addikt

    válasz 1ed #3430 üzenetére

    és előtte a $_POST['radio1']-nek adj default értéket n-t vagy y-t
    Hát ilyet azért inkább ne tanácsolj senkinek.
    Ha a php egy normálisan kitalált nyelv lenne, akkor a szuperglobál tömbök módosítására futási hibát dobna.

  • cucka

    addikt

    válasz Sk8erPeter #3426 üzenetére

    De ha itt md5-tel ismét "titkosítom" azt a karaktersorozatot, amit a felhasználó bevitt, és az eredményt összevetem az adatbázisban tárolt adatokkal, akkor ezt miért nem tudják ugyanezzel a módszerrel automatizáltan feltörni?
    Már hogy képzeled az automatizáltan feltörést? Végigpróbálod az összes lehetséges jelszót?
    A lényege a dolognak, hogy az md5 (és más hash algoritmusok is) egyirányúak. Ez azt jelenti, hogy nincs olyan algoritmus, ami polinomiális időben tudna egy adott hash-re ütközést találni. Tehát hiába látod a hash-t, a jelszót nem tudod belőle visszafejteni.

    Most ez kábé olyan, mintha nem is lenne titkosítva, mert a bevitelkor úgyis a titkosított
    eredményt veti össze a már korábbban titkosítottal.

    Nem. Először is a hash az nem titkosítás, hanem hash. Más a célja, másra jó. Hiába tudja az illető a hash-t, attól még nem tud belépni az oldaladra, mert ahhoz a jelszót kéne tudnia.

    Hogy érzékeld a különbséget a hash és a titkosítás között: gondolom te is találkoztál már netről letöltött zenével/programokkal, ahol a fileok mellett ott az svf file. Na az pont ugyanilyen hash algoritmussal készül, az svf-ben minden filehoz tartozik egy 32 biten ábrázolt szám. Miután letöltötted a fileokat, ezzel lehet ellenőrizni, hogy valóban helyesek-e az adatok. A hash algoritmusok egyik jellemzője, hogy nagyon "szórnak", tehát ha a bemeneti adatot kis mértékben megváltoztatod, az eredményül kapott hash teljesen más lesz. Ezért jó pl. ilyen ellenőrzésekre. (Igen, elvileg az md5 vagy az sha1 is tökéletesen megfelelő ilyen ellenőrzésekre, de ha nem kifejezetten fontos az egyirányúság, akkor jellemzően megéri valamilyen gyorsabb algoritmust használni)

  • 1ed

    csendes tag

    válasz meone #3429 üzenetére

    Helló!

    <input type="radio" name="radio1" value="y" <?php echo $_POST['radio1'] == 'y' ? 'checked="checked"' : ''; ?> >
    <input type="radio" name="radio1" value="n" <?php echo $_POST['radio1'] == 'n' ? 'checked="checked"' : ''; ?> >

    és előtte a $_POST['radio1']-nek adj default értéket n-t vagy y-t

  • meone

    tag

    Sziasztok.

    Csinálok egy formot és el akadtam benne egy kicsit.

    A problémám a következő.
    Íme a kód:

    <?php

    if (isset($_POST["evf"]))
    {
    $evf=$_POST["evf"];
    $szak=$_POST["szak"];
    $radio1=$_POST["radio1"];

    }
    echo $radio1;

    ?>

    <form method="POST" action="<?php print $_SERVER["PHP_SELF"];?>">

    <input name="evf" type="text" id="evf" value="<?php print $evf; ?>" size=95 maxlenght="100">

    <input name="szak" type="text" id="szak" value="<?php print $szak; ?>" size=100 maxlenght="100">

    <input name="radio1" type="radio"value="y" checked="checked" >
    <input type="radio" name="radio1"value="n" >

    Csupán annyit nem tudok megoldani, hogy a rádió gombnál mikor meg történt a form újra fel dolgozása ne ez a kód legyen hanem a rádiónál az legyen be állítva amit a user be kattintott.

    Bocsánat a homályos fogalmazásért.

    A válaszokat előre is köszönöm.

  • fordfairlane

    veterán

    válasz Sk8erPeter #3426 üzenetére

    Remélem érthető, mire akarok kilyukadni

    Mi a kérdés? :U Hash-t tárolsz, azt veted össze loginnál, oké. Nincs további teendő ezzel szerintem.

  • ArchElf

    addikt

    válasz Sk8erPeter #3426 üzenetére

    A legegyszerűbb módja az, ha megszerzik az authentikációs csomagot. Ha ezt újra be tudják küldni a szervernek és az elfogadja, akkor meg is van a session hijack (pontosabban ez inkább reuse). Az igazi hijack az, amikor a bejelentkezés után a felhasználónak adsz pl egy Session ID-t ami alapján meg tudod mondani, hogy a már be van lépve. A ez a session id pl egy másik gépről is működik (vagy ugyanarról a gépről (kicsit később), az az igazi session hijack.

    Ha pedig egy kívülálló már select-elni tudja az adatbázisod, az rég rossz.

    AE

  • Sk8erPeter

    nagyúr

    válasz Sk8erPeter #3424 üzenetére

    Ja, egyébként a "session lopás"-t hogy kell elképzelni? Hogy tudják megszerezni ilyen módon az adatokat?

    Még egy: (#3420) fordfairlane:
    "de nem érdemes csak emiatt elbonyolítani egy egyszerűbb rendszert."
    Igazából a jelszavak md5-titkosítással történő bevitelével töltöttem kb. a legkevesebb időt. Volt legalább 2 perc, miután megnéztem valahol, hogyan kell, szóval ez tulajdonképpen nem igazán bonyolította el az amúgy igencsak egyszerűnek mondható rendszeremet. :D

    Még ami nem igazán tiszta számomra:
    $nick = addslashes($_POST['user']);
    $pass = md5($_POST['pass']);

    $query = " SELECT DISTINCT * FROM users
    WHERE (nick='".$nick."' AND jelszo='".$pass."'); ";
    //stb.

    Ez egy egyszerűbb módja a jelszó leellenőrzésének, amit bevittek a bejelentkező űrlap elküldésekor.
    De ha itt md5-tel ismét "titkosítom" azt a karaktersorozatot, amit a felhasználó bevitt, és az eredményt összevetem az adatbázisban tárolt adatokkal, akkor ezt miért nem tudják ugyanezzel a módszerrel automatizáltan feltörni? Most ez kábé olyan, mintha nem is lenne titkosítva, mert a bevitelkor úgyis a titkosított eredményt veti össze a már korábbban titkosítottal. :D
    Remélem érthető, mire akarok kilyukadni :B

  • Sk8erPeter

    nagyúr

    válasz 8nemesis8 #3421 üzenetére

    Szerencsére a CSS elég egyszerű, gyorsan elsajátítható nyelv. És ezzel együtt nagyon komplex.

    "A következő lépés képek beszúrása a videotékába. Ha ehhez is van hasonlóan jó kis linked akkor szívesen fogadom."
    Most itt konkrétan mire gondolsz? Képeket beszúrni többféleképpen is lehet, most az a kérdés, hogy pl. adatbázisból hogy lehet kinyerni az adatokat (ha pl. ott tárolod a képek linkjét)? Kicsit egyértelműbben írd le, mit szeretnél. :) Lehet, hogy akkor nem is kell külön link, itt is megkapod a választ. Meg persze az is tisztázandó, hogy milyen módon szeretnéd berakosgatni a képeket.
    Én korábban úgy szerettem volna betenni a képeket, hogy mindig van egy nagy kép, alatta pedig kisképek, majd egy leírás, és utána pontosan ugyanígy a következő elemnél.
    Ehhez cucka nyújtott nagy segítséget (nélküle nem jutott volna eszembe a külön tömbbe rendezés egyébként igen kézenfekvő gondolata :D): [link]

  • Sk8erPeter

    nagyúr

    válasz cucka #3417 üzenetére

    Hát ez sokkal jobb leírás volt, mintha cikkek után keresgéltem volna neten. :)
    Köszönöm a részletes választ, már nagyjából minden tiszta! :R :R

    ArchElf,
    fordfairlane,
    nektek is köszönöm szépen a válaszokat! :R

  • #95904256

    törölt tag

    válasz #95904256 #3422 üzenetére

    Megvan ( sajnos jobbat nem találtam ):

    print('<meta http-equiv="refresh" content="0;url="'.$_SERVER['PHP_SELF'].'">');

  • #95904256

    törölt tag

    Sziasztok!

    Hogy lehet megoldani, hogy újra hívja magát egy php oldal?

    Adatbázisba vinnék fel adatokat. A bevitel gomb megnyomása után végrehajtódik a mentés, majd szeretném újra előhozni az eredeti oldalt. Mindezt úgy, hogy ne az oldalt előállító kód előtt kelljen trükköznöm a letárolással.

    Üdv,
    Ákos

  • 8nemesis8

    veterán

    válasz Sk8erPeter #3396 üzenetére

    Nekem is elég lesz az md5.
    Nah szépen meg is csináltam faszán a levédéseket bejelentkezést és szétbontottam mit használhat user és admin.

    A következő lépés képek beszúrása a videotékába. Ha ehhez is van hasonlóan jó kis linked akkor szívesen fogadom. Illetve lehetséges, hogy egy kis cssre is lesz mellé időm, azt eddig weblabor-ról nézegettem.

  • fordfairlane

    veterán

    válasz Sk8erPeter #3416 üzenetére

    Most akkor kissé már össze vagyok zavarodva, akkor lényegében azt is mondhatnánk, hogy tök feleslegesek a titkosítások, mert úgyis mindent meg lehet kerülni.

    A hash algoritmus egy titkosítási módszer. A lényege, hogy az eredeti adatfolyamot helyettesítjük egy lenyomattal, ezt hívják hash kódnak. Miért jó az, ha a hash kód van meg az eredeti adatfolyam helyett? Mert a hash kód ismerete, kiszivárgása sem jelent problémát, elvileg a kódból nem lehet egyszerű eszközökkel "kinyerni", visszafejteni az eredeti adatokat. A hash kódokat több helyütt is használják. Ami nem mindegy, hogy mire használjuk, mit akarunk vele meggátolni.

    Gyakorlatilag miért nincs ebben a konkrét esetben jelentősége? Mert a hash kód a leírt rendszerből nem szivároghat ki. Abban az esetben juthat hozzá a hash kódhoz a támadó, ha az adatbázis tartalmát ki tudja elolvasni. Mikor tudja a támadó kiolvasni az adatbázis tartalmát, akár hash kód van benne, akár a plain text jelszavak? Hát elvileg csakis akkor, ha már van közvetlen hozzáférése hozzá. Ha pedig már közvetlenül hozzáfér az adatbázishoz, a jelszavakhoz, akkor valószínűleg egy egyszerűbb site-nál hozzáfér minden adathoz közvetlenül, akár írási joggal. Ebben az esetben a jelszavaknak meg már nincs jelentősége.

    Persze egy olyan rendszernél, ahol a jelszavakat ismerve további járulékos károkat lehet okozni (ugyanazzal a név:jelszó párossal más helyre is be lehet lépni pl.), akkor érdemes inkább hash kódot tárolni, úgy egyébként is ez a korrekt megoldás, de nem érdemes csak emiatt elbonyolítani egy egyszerűbb rendszert.

  • ArchElf

    addikt

    Amúgy a jelszavakat általában nem megérkezéskor, hanem már küldéskor hashelik, hogy a MITM támadások ellen is védjen.

    Pl., HTTP szabványos Digest authentikáció:
    http://en.wikipedia.org/wiki/Digest_access_authentication

    AE

  • ArchElf

    addikt

    válasz Sk8erPeter #3416 üzenetére

    Elsősorban a jelszavakat a jogosultsággal rendelkező felhasználóktól védik hasheléssel. Avagy a felhasználók érdekeinek védelme a rendszergazda kíváncsisága ellen.

    Tegyük fel, hogy te vagy egy cég tulajdonosa, és alkalmazol egy rendszergazdát. Nem biztos, hogy szeretnéd, ha szabadidejében az ügyfeleid nevében vásárolgatna...

    Ezután képzeld el mindezt egy bankkal. Így már érthető, ugye?

    AE

  • cucka

    addikt

    válasz Sk8erPeter #3416 üzenetére

    Milyen gyorsabb módszerekre kell gondolni? Nem azért kérdezem, mert kódfeltörés lesz a hobbim, hanem érdekel, hogy mi ellen, hogyan szokás védekezni.

    Kezdjük a kályhánál.
    A hash algoritmusok lényege, hogy van nagyon sok fajta különféle bemeneti adatod és ezekhez kell hozzárendelni egy szűkebb halmazból egy elemet. Jelen esetben a nagyon sok fajta különféle bemeneti adat a lehetséges jelszavak halmaza (pl. n..m hosszúságú alfanumerikus stringek), a szükebb halmaz pedig a 128 bites számok halmaza (ezek a lehetséges md5 hash-ek). A hash algoritmus azt csinálja, hogy a bemeneti adatból egy hasht gyárt. Nyilván, az algoritmus több eltérő bemeneti adathoz is kiadhatja ugyanazt a hash kulcsot, ezt hívják ütközésnek. Akkor jó egy hash algoritmus, ha a hash kulcs alapján nem tudsz olyan bemeneti adatot mondani, aminél ütközés lép fel.

    A hash kulcs feltörésének legegyszerűbb módja a próbálgatás, aminek a műveletigénye O(2^n), azaz exponenciális. Ezt gyakorlatilag senki sem használja. Vannak más módszerek is, mint a "rainbow tables", ezekkel lényegesen gyorsabban lehet ütközést taláni, de ez a gyorsaság még mindig több órát vagy napot jelent. Ezen kívül ha jól emlékszem, az md5-höz sikerült találni polinomiális időben lefutó algoritmust, viszont ott a konstans szorzók brutálisan nagyok, tehát szintén lassú (meg kell keressem a forrást, jópár éve olvastam erről, tehát lehet, hogy rosszul emlékszem). Leginkább ezért ajánlják a nagyokosok, hogy md5 helyett sha1-el kódold a jelszavakat.

    Az ütközések keresése elsősorban hitelesítésnél fontos (pl. hitelesített szoftver), ezeknél megérheti a befektetett időt az ütközések keresése. Ha valaki talál egy adatbázist több száz vagy ezer lekódolt jelszóval, akkor ott nem éri meg ezzel tökölni.
    Az ütközés kikerülésének a legegyszerűbb módja a salt, aminek lényege, hogy kódolás előtt a kódolandó adathoz hozzá kell fűzni, így gyakorlatilag hiába talál bárki ütközést a hash értékhez, az eredményül kapott jelszó nem fog működni.

    Összefoglalva: a jelszavak visszakódolása egyrészt nagyon sok idő, másrészt a salt miatt egyáltalán nem biztos, hogy eredményes, tehát ha valaki hozzá is fér az adatbázisodhoz, jó eséllyel nem fogja ezt csinálni. Ezért fölösleges annyit pörögni a témán. Természetesen a hash algoritmusok nagyon fontosak, csak pont ebben a speciális esetben jelenthető ki, hogy nem túl érdekesek.

    A jelszavakhoz való illetéktelen hozzáférést elsősorban phishing oldalakkal szokták csinálni, de mondjuk a session lopás is lehet eredményes.

  • Sk8erPeter

    nagyúr

    válasz cucka #3413 üzenetére

    Milyen gyorsabb módszerekre kell gondolni? Nem azért kérdezem, mert kódfeltörés lesz a hobbim, hanem érdekel, hogy mi ellen, hogyan szokás védekezni.

    (#3414) fordfairlane: "Sok év tapasztalata odáig vezetett nálam, hogy a webes alkalmazásaimnál plaintextben tárolom a jelszavakat :D"
    Ez azért meglepett :D Most akkor kissé már össze vagyok zavarodva, akkor lényegében azt is mondhatnánk, hogy tök feleslegesek a titkosítások, mert úgyis mindent meg lehet kerülni. :D És ez egyben azt is jelenti, hogy felesleges játszadozni az md5-titkosítgatásokkal meg hasonlókkal... Na de valami célja mégis van, nem? :D Nem épp az, hogy legalább megnehezítsük a dolgát a támadóknak? Mindketten azt mondjátok, hogy inkább elméleti, mint gyakorlati "haszna" van a dolognak. :F

  • cucka

    addikt

    válasz fordfairlane #3414 üzenetére

    Sok év tapasztalata odáig vezetett nálam, hogy a webes alkalmazásaimnál plaintextben tárolom a jelszavakat
    Én az md5-nél tartok, gondolom kell még nekem is pár év, hogy továbbfejlődjek erre a szintre :D

    Amúgy én is ki tudok találni számtalan hülyébbnél hülyébb algoritmust a kódolásra. Például fogjuk a szó hosszát, abból gyártsuk salt-ot úgy, hogy kiírjuk római számmal a hosszt, utána kódoljuk le md5-el, vegyük az első n karaktert és az legyen az sha1-es kódolás salt-ja. Ezt most találtam ki, hasonlóan biztonságos, mint amit az említett cikkben írtak, csak ugye totál fölösleges.

    Más kérdés, mindenkihez. Zend Certification-el kapcsolatban van valakinek tapasztalata? Röviden: a Zend biztosít lehetőséget egy ilyen vizsgára, ami ha sikerül, kapsz egy plecsnit. Ér ez valamit? Egyáltalán ismeri bárki is ezt? (Elsősorban az állásinterjúkon képviselt súlya érdekel a dolognak)

  • fordfairlane

    veterán

    válasz cucka #3413 üzenetére

    Igazából ez egy elméleti téma, gyakorlatilag meglehetősen haszontalan, tehát ha nem muszáj, akkor nem kell foglalkozni vele, az egyszerű md5 vagy sha1 bőven megfelelő erre a célra.

    Sok év tapasztalata odáig vezetett nálam, hogy a webes alkalmazásaimnál plaintextben tárolom a jelszavakat :D , mert a felhasználók elfelejtik, és ha a támadó megszerzi az adatbázist, akkor annak a rendszernek már egyébként is régen lőttek, úgyhogy az a legkisebb gond.

  • cucka

    addikt

    válasz Sk8erPeter #3411 üzenetére

    A tárgyi tévedések mellett a cikkel a fő probléma a feltételezés, hogy ha egy támadó hozzáfér az adatbázisodhoz, akkor azt fogja csinálni, hogy visszakódolja az ott tárolt jelszavakat.
    A valóság, hogy a jelszavakat nem md5 (vagy más) hash-ek visszafejtésével szerzik meg a rosszindulatú emberek, vannak erre gyorsabb módszerek is. A másik, hogy ha már hozzáfértek az adatbázisodhoz, akkor az a legkisebb problémád, hogy meglátják a kódolt jelszavakat.

    Igazából ez egy elméleti téma, gyakorlatilag meglehetősen haszontalan, tehát ha nem muszáj, akkor nem kell foglalkozni vele, az egyszerű md5 vagy sha1 bőven megfelelő erre a célra.

  • fordfairlane

    veterán

    válasz Sk8erPeter #3411 üzenetére

    Ha már itt tartunk, van esetleg valami hiteles cikk, amit tudnál a témával kapcsolatban ajánlani?

    Melyik témával kapcsolatban? Az MD5-ről elég annyit tudni, hogy egyirányú kódolás, 32 karakteren lehet tárolni, a többit a beépített md5 függvény elintézi. Persze ha valakit érdekelnek a részletek, az megtalálja az algoritmust is, fent van a Wikipédián.

  • Sk8erPeter

    nagyúr

    válasz fordfairlane #3407 üzenetére

    Uhh, tényleg, ezt eddig észre se vettem, akkor bocsi a cikkért... :B Baing!
    És köszi, hogy szóltál! :R
    Ettől függetlenül a cikk többi része nem baromság, nem? Ahol a konkrét megvalósításra tér ki.

    Ha már itt tartunk, van esetleg valami hiteles cikk, amit tudnál a témával kapcsolatban ajánlani?

  • vakondka

    őstag

    válasz n00n #3406 üzenetére

    A legegyszerűbb a .htaccess alapú könyvtárvédelem ha ez neked megfelel,
    mert ehez lényegében nem kell programozni sem, csak feltölteni a htaccess és htpasswd fájlokat :)

    pl: [link]

  • fordfairlane

    veterán

    válasz Sk8erPeter #3396 üzenetére

    "Az MD5 ellenőrző számok az angol ábc betűiből (26) és számokból (10) állnak. Ez ugye 32 felvehető érték, 32 karakternél (32 karakteresek az MD5 ellenőrző számok). Tehát összesen 3632 [kb. 1,46 * 1048] lehetséges MD5 ellenőrző szám van."

    Ezt a baromságot... az MD5 egy 128 bites hash, akkor lesznek benne "angol betűk", ha hexadecimális formában írja le valaki, de ugye akkor sem az angol abc betűi, hanem csak 0-9 és a-f-ig. Ilyen pocsék leírásokat nem kéne linkelni.

  • n00n

    őstag

    Sziasztok!

    Szeretném a weblapomat levédeni egy jelszóval, lehetőleg adatbázis nélkül. Régebben (3-4 éve) elég jól ment a PHP, kisebb-nagyobb dolgokat írtam magamtól (fórum, beléptető rendszer - persze elég alapszinten). Viszont mostanában nem igen foglalkoztam vele, így elavultak a biztonsági ismereteim. Valaki adna egy kis iránymutatást, hogy merre keresgéljek a feljebb leírt feladat megoldásában.

    Szóval le kellene védeni egy weblapot php-val, adatbázis nélkül.

  • F1DO

    senior tag

    válasz F1DO #3404 üzenetére

    print("<INPUT TYPE=hidden name=.$geppont. Value=0>");
    print("<INPUT TYPE=hidden name=.$jpont. Value=0>");
    print("<BR><INPUT TYPE=submit name=ujjatek Value='Uj Jatek'></FORM>");

    Valami ilyesmire gondoltam (részlet). Azaz hogy geppont és jpont változóknak nulla értéket adjon az Uj Jatek gombra kattintva..

  • F1DO

    senior tag

    Sziasztok!

    Segítséget kérnék azügyben, hogy hogyan kell PHP-ben egy submit típusú gombot csinálni, ami kinulláz két változót?

    Azaz ha rákattintanak a gombra, akkor nullázódik két változó értéke..

  • Sk8erPeter

    nagyúr

    válasz ArchElf #3401 üzenetére

    Mondjuk még nem olvastam el végig, csak az elejét, az olyan szempontból jónak tűnt, hogy szájbarágós :D Nem kell mindig olyan nagyon szakbarbárnak lenni :D

  • ArchElf

    addikt

    válasz Sk8erPeter #3396 üzenetére

    Mondjuk az a linkelt oldal eléggé sántít. Persze meg lehet (és félre lehet) érten belőle, mi a sózás, és miért van rás szükség. De a magyarázatok, levezetések, ejj mintha egy 14 éves hobbista írta volna. :DDD

    AE

Új hozzászólás Aktív témák

Hirdetés