- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Brogyi: CTEK akkumulátor töltő és másolatai
- Pajac: tpm.msc
- M0ng00se: Hardvert áruhitelre?
- Steven: Sokat utazó kávéfüggők ide!
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Új hozzászólás Aktív témák
-
meone
tag
válasz
fordfairlane #3496 üzenetére
Köszönöm szépen mindenkinek.
Működik rendesen. -
Gyuri16
senior tag
válasz
Sk8erPeter #3497 üzenetére
igen ==-t kozben javitottam, de jogos.. ize, este van mar
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
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...
(#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...
VAGY
echo "<tr class=\"zold\">"; -
fordfairlane
veterán
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
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. -
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".
Í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>"; -
meone
tag
válasz
Sk8erPeter #3485 üzenetére
Kicseréltem az általad javasoltra az is meg felel úgyhogy marad így.
-
Sk8erPeter
nagyúr
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...
} -
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.
-
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.
-
Sk8erPeter
nagyúr
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.
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.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.
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
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.Valószínűleg a break-re gondolsz...
De amúgy nem kell break, bár tehetsz bele, ha nagyon szeretnélha 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.
-
meone
tag
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?
Nem vagyok annyira biztos benne. -
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á.
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.
Látom elég komoly projectekben is részt vettél.
-
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ó leszMeg 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ügybenA 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
Na, ezek a szempontok még nem jutottak eszembe, de teljes mértékben érthetőek, köszi.
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? -
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..
$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
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.
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ÓGIA ÉS MÓDSZERTAN FEJLESZTÉSE MŰKÖDŐ HONLAPOK TARTALMI ELEMZÉSÉRE</td>
</tr>
<tr>
<td colspan="5" height="20"><p align="right"><em>(Nincs rossz válasz, nem kell megfelelni senkinek és semminek!)
Kérdőív(001. sz.)</em></p></td>
</tr>
<tr>
<td colspan="5" height="20"><p>É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átum: <?php echo date("Y.m.d") ?> </p></td>
</tr>
<tr>
<td width="38">Sorsz.</td>
<td width="308">KÉRDÉS</td>
<td colspan="3">Válasz</td>
</tr>
<tr>
<td>1.</td><td>Van-e multimédiás mobil készülé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ípusú mobil-eszközt használ jelenleg?(Ha használ. Ha nem, hú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észüléke technikai jellemző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észben</td>
</tr>
<tr>
<td>4.1</td><td><em>Mi a működési frekvenciá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úzzon vonalat!)</td>
</tr>
<tr>
<td>4.2</td>
<td><em>Mekkora és milyen felbontású a kijelző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ésre?</em></td><td colspan="3"><p>
<input name="terulet" type="text" id="terulet" value="<?php print $terulet; ?>" size="30" maxlenght="100" />
(pl.:régió)</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észüléknek?</td><td><input type="radio" name="radio4"value="tel" <?php echo $radio4 == 'tel' ? 'checked="checked"' : ''; ?>>
telefonálásra</td><td><input type="radio" name="radio4"value="int" <?php echo $radio4 == 'int' ? 'checked="checked"' : ''; ?>>
internetezésre</td><td><input type="radio" name="radio4"value="mind2" <?php echo $radio4 == 'mind2' ? 'checked="checked"' : ''; ?>>
mindkettőre</td>
</tr>
<tr>
<td>6.</td>
<td>Az ön jelenlegi mobil készüléke alkalmas-e internetes csatlakozá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>Általában csak telefonálásra használja a mobilkészüléké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ézni rövidebb terjedelmű videóanyagot a mobilja segítségé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é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ár előfordult</strong> a barátaim készüléké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ő.</td>
</tr>
<tr>
<td>11.</td>
<td><p>Van-e akadálya annak, hogy egy mobil-eszköz-csomagot használjon tanulá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> </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éb internet-hozzáférése, akkor is használja a mobilt internetezé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é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>Ön szerint alkalmas-e a mobilkészülék hirdeté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észben</td>
</tr>
<tr>
<td>15.</td>
<td>A nyomtatott hirdetési információt részesíti-e elő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észben</td>
</tr>
<tr>
<td>16.</td>
<td>Az elektronikus hirdetést is megnézi? </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észben</td>
</tr>
<tr>
<td height="26">17.</td>
<td>Célirányosan keres a hirdetések közö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éha</td>
</tr>
<tr>
<td height="42">18.</td>
<td>A mobilon elérhető hirdetési és egyéb anyagok mellett használ-e nyomtatott újsá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ízhatónak tartja-e a számítógépen, interneten elérhető hirdetési információ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észben</td>
</tr>
<tr>
<td height="87">20.</td>
<td>Mit tanácsol a hirdetőknek, hogy gyorsabban és hatékonyabban elérjék a cé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ízhatósága ma a mobilon elérhető hirdetési információk megjelenésének? </td>
<td><input type="radio" name="radio20"value="y" <?php echo $radio20 == 'y' ? 'checked="checked"' : ''; ?> />
Kiváló</td>
<td><input type="radio" name="radio20"value="n" <?php echo $radio20 == 'n' ? 'checked="checked"' : ''; ?> />
kö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önnyűvé 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általán nem könnyű</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épernyő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é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ú híradót is né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űen</td>
</tr>
<tr>
<td height="87">27.</td>
<td>mié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ámokkal is felkeresik információelérés kö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átja nem volna, milyen készüléket vásárolna? (márka; tí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ány forintot szánna arra, hogy egy többfunkciós <strong>mobiltelefont</strong> vásároljon, amin akár kereskedelmi megrendelé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é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ámfilmet </td>
</tr>
<tr>
<td height="37">32.</td>
<td><p>Ha már van sokfunkciós készüléke, mit javasolna, hogy olcsóbban jusson hozzá egyes hirdetési, kereskedelmi információ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ért-e azzal, hogy a diákok kaphassanak kedvezményes, esetleg ingyenes internetes tarifá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ákoknak ingyenes volna ez a szolgáltatás, akkor milyen gyakran venné igé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ém igénybe.</td>
<td><input type="radio" name="radio27"value="res" <?php echo $radio27 == 'res' ? 'checked="checked"' : ''; ?> />
Alkalmanként</td>
</tr>
<tr>
<td height="42">35.</td>
<td>Hány forintot tudna rászánni, ha mé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ért-e azzal, hogy a telefonálást és a mobil-kereskedelmi információk elérését külön tarifacsomagként kezeljék és vá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ért-e azzal, hogy a diákokat is elérhessék kereskedelmi cégek hirdeté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ért-e azzal, hogy a diákok a hozzájuk eljuttatott hirdetések fejében olcsóbban jussanak hozzá 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ásnak veszi-e, ha hirdetésekkel keresik fel ö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>Általánosan milyen <strong><u>előnyeit</u></strong> emelné ki a multimédiás eszköz(ö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>Általánosan milyen <strong><u>hátrányait</u></strong> emelné ki a multimédiás eszköz(ö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 ön munkája, tanulása szempontjából, hogy helytől és időtől függetlenül is elérhessen bizonyos információ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özömbös</td>
</tr>
<tr>
<td height="73">43.</td>
<td><p>Mié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észüléken is rendezi-e az internetes információ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álózatos készüléken rendezem az információ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>Ön szerint nagyon rátelepszik az emberre, ha már a mobil készülékén is kereskedelmi internetezé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áltozá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űen</td>
</tr>
<tr>
<td height="23">48.</td>
<td>A társasági oldalakat né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ást is) néha</td>
</tr>
<tr>
<td height="23">49.</td>
<td>Hírportált szokott-e né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űen</td>
</tr>
<tr>
<td height="26">50.</td>
<td>Felvett-e új szokásokat az internet elterjedése ó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észben</td>
</tr>
<tr>
<td height="23">51.</td>
<td>Gyakrabban olvas-e híreket mió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észben</td>
</tr>
<tr>
<td height="53">52.</td>
<td>Nagyon rátelepszik az internet a hétköznapjaira? </td>
<td><p>
<input type="radio" name="radio41"value="y" <?php echo $radio41 == 'y' ? 'checked="checked"' : ''; ?> />
Igen (Függő 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é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ízható-e az internetes hirdeté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épviseli az internetes felmérés a tényleges fogyasztói, vásárlói kört?</p> </td>
<td><input type="radio" name="radio44"value="y" <?php echo $radio44 == 'y' ? 'checked="checked"' : ''; ?> />
Hű képet ad róluk</td>
<td><input type="radio" name="radio44"value="n" <?php echo $radio44 == 'n' ? 'checked="checked"' : ''; ?> />
Nem képviseli </td>
<td><input type="radio" name="radio44"value="res" <?php echo $radio44 == 'res' ? 'checked="checked"' : ''; ?> />
Csak részben (kérdőívtől függ)</td>
</tr>
<tr>
<td height="64">56.</td>
<td>Mennyire tükrözi egy kereskedelmi cég tevékenységét az interneten jelenlévő oldala?</td>
<td><input type="radio" name="radio45"value="y" <?php echo $radio45 == 'y' ? 'checked="checked"' : ''; ?> />
Teljes mértékben</td>
<td><input type="radio" name="radio45"value="n" <?php echo $radio45 == 'n' ? 'checked="checked"' : ''; ?> />
Nem képviseli, a valóságban mással foglalkozik</td>
<td><input type="radio" name="radio45"value="res" <?php echo $radio45 == 'res' ? 'checked="checked"' : ''; ?> />
Vegyes; mindkét jelenlét fontos a számára</td>
</tr>
<tr>
<td height="83">57.</td>
<td>Mennyire bízik meg egy cég internetes hirdetésében?</td>
<td><p>
<input type="radio" name="radio46"value="y" <?php echo $radio46 == 'y' ? 'checked="checked"' : ''; ?> />
Megbízom</p></td>
<td><input type="radio" name="radio46"value="n" <?php echo $radio46 == 'n' ? 'checked="checked"' : ''; ?> />
Nem bízom meg (szeretek a kereskedő szemébe nézni) </td>
<td><input type="radio" name="radio46"value="res" <?php echo $radio46 == 'res' ? 'checked="checked"' : ''; ?> />
Még csak most alakul ki az internetet teljesen elfogadó korosztály, utána </td>
</tr>
<tr>
<td height="61">58.</td>
<td>Ha önnek cége van (volna) rábízná magát az internetre, hogy elérje a (célközönségét) a vásárló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észben</td>
</tr>
<tr>
<td height="87">59.</td>
<td>Milyen gyakran rendel az interneten keresztül? (bá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éha (1-2 havonta)</p> </td>
</tr>
<tr>
<td height="87">60.</td>
<td>Milyen értékhatáron túl nem rendel semmit az internetről?</td>
<td><input type="radio" name="radio49"value="y" <?php echo $radio49 == 'y' ? 'checked="checked"' : ''; ?> />
Bá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épes értékeket rendelek. (Pizzafutár; vonatjegy; repülőjegy.) </td>
</tr>
<tr>
<td height="87">61.</td>
<td>Mi volt az eddigi legnagyobb érté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?
-
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. -
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
"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.
-
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. -
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.
(#3443): hmm, akkor sorry. Valszeg le vagyok maradva.
"Én már megcsináltam párszor"
És milyen célból?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?
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.
(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
)
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
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
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.
-
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
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?
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.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.
Remélem érthető, mire akarok kilyukadni -
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): [link]
-
#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_authenticationAE
-
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
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
"
Ez azért meglepettMost 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.
É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?
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.
-
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 szintreAmú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
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
, 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...
És köszi, hogy szóltál!
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?
-
Odiepapa
csendes tag
válasz
Sk8erPeter #3400 üzenetére
-
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.
-
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..
-
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..
-
1ed
csendes tag
-
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.
AE
Új hozzászólás Aktív témák
Hirdetés
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Hardcore café
- Xiaomi 14 - párátlanul jó lehetne
- MotoGP & WSBK
- HDD probléma (nem adatmentés)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Google Pixel topik
- Építő/felújító topik
- Megjelent a Poco F7, eurós ára is van már
- BestBuy ruhás topik
- További aktív témák...
- Lenovo ThinkPad T14 3 Gen 16/256GB SSD, Újszerű, 1 Év Garanciával
- Xiaomi 15 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Odyssey OLED G8! 32"/4k/240hz/0,03ms/10BIT/Freesync-G-sync/HDMI 2.1/Smart Monitor
- Új 512GB WD SN5000S Gen4 x4/ Steam Deck ready/ garancia/ ingyen fox
- i7 8700/ RX6500/ 32GB DDR4/ 512GB m.2/ garancia/ ingyen foxpost
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Gamer szék noblechairs LEGEND TX Szövet Antracit
- Csere-Beszámítás! RGB Számítógép PC játékra! R5 5600X / RTX 3060Ti 8GB / 32GB DDR4 / 500GB SSD
- Csere-Beszámítás! AMD Ryzen 9 9900X Processzor!
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged