22786
Html-, css- és php-help
  • Máté12
    #10342
    Miért, ingyenes tárhelyen nem működik a session? Egyébként eddig ATW-re töltöttem fel most felrakam az easyphp.
  • Maco13
    #10341
    ja és $_SESSION['valami'], kell az aláhúzás jel a $ után
  • Maco13
    #10340
    SQL-be például könnyebb így beírni (más értelmét én se nagyon látom)
  • Maco13
    #10339
    igen
  • Terensz
    #10338
    "$username = $SESSION['username'];"

    Miért csinálsz 2 változót egy változóból?
  • Terensz
    #10337
    Amit írtam, copy-pasteld bele egy file-ba, semmit ne csinálj vele, csak jelenítsd meg. "Cannot send session cookie - headers already sent by" - be lett illesztve egy file-ba, és a </head> után került. Vagy: ingyenes tárhelyre (pl. uw) lett feltöltve. Ott ugye ez csak egy frame, nem kezdődhet session_start()-tal.

    Nálam egyébként működik.

    Ugye localhostról dolgozol?
  • Máté12
    #10336
    Ööö...
    Ha a SESSIOn ugy működik mint a COOKIE akkor igy kell fel venni változóba?
    <?php
    $username = $SESSION['username'];
    ?>
    ??
  • Máté12
    #10335
    Warning: session_start(): open(/tmp/sess_62f7c9716a2c2af2cce408da917147e3, O_RDWR) failed: No such file or directory (2) in /user/vers.php on line 3

    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /user/vers.php:3) in /user/vers.php on line 3

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /user/vers.php:3) in /user/vers.php on line 3
    Még nem vagy bejelentkezve

    Warning: Unknown(): open(/tmp/sess_62f7c9716a2c2af2cce408da917147e3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

    Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

    Például ezeket miért adja ki?
  • Terensz
    #10334
    A script minden sorát értened kell, hogy tovább tudj lépni.
  • Terensz
    #10333
    Gyorsan hegesztettem egy sessionos példát.
    Ez nem authentikáció, de az is hasonló elven működik. De legalább session, és egyszerű script, mint egy faék.

    <?php

    session_start();

    if((ISSET($_POST['kilepes'])) AND (ISSET($_SESSION['latogatonev'])))
    {
    unset($_SESSION['latogatonev']);
    }

    if((ISSET($_POST['belepes'])) AND (!ISSET($_SESSION['latogatonev'])))
    {
    $_SESSION['latogatonev'] = $_POST['nev'];
    }

    if(ISSET($_SESSION['latogatonev']))
    {
    $latogatoNevSrt = 'Látogató: '.$_SESSION['latogatonev'].'<br />';
    }
    else
    {
    $latogatoNevSrt = 'Még nem vagy bejelentkezve<br />';
    }

    echo $latogatoNevSrt;

    if(!ISSET($_SESSION['latogatonev']))
    {
    echo '
    <form name="login" method="post" action="">
    <input name="nev" type="text" />
    <input name="belepes" type="submit" value="Belépés" />
    </form>';
    }
    else
    {
    echo '
    <form name="logout" method="post" action="">
    <input name="kilepes" type="submit" value="Kilépés" />
    </form>';
    }

    ?>

    /*
    Ezt a gombot azért raktam, hogy lásd: ha session létrejön, oldalfrissülés esetén is megmarad.
    */

    <form name="ezcsakegyform" method="post" action="">
    <input name="nyomjad" type="submit" value="Nyomjad!!44" />
    </form>
  • Máté12
    #10332
    Tudnál mutatni egy példát $_SESSION-röl?


    $query = mysql_query("SELECT * FROM login WHERE id = 2");
    while($adat=mysql_fetch_array($query)){
    if ($_POST['boy'] == 'boy'){
    $sql = mysql_query ("UPDATE `login` SET `ertesit`='boy' WHERE `id`= 2");
    }else{
    $sql = mysql_query ("UPDATE `login` SET `ertesit`='girl' WHERE `id`= 2");
    }
    }

    Ez a kód miért nem működik??
  • Terensz
    #10331
    Nem lesz jó a cookie.

    A sessionban semmi nehéz nincs.
    A lényeg az, hogy az összes php, amit szeretnél, hogy kezeljen sessiont (az inklúdok nem), úgy kell kezdődnie:
    <?php
    session_start();

    Nekem mondjuk egyszerű, mert van index.php-m és admin.php-m, és ennyi. A formok sem vezetnek más oldalra. Mindkettő így kezdődik, ezzel a session_start() le van tudva.

    Utána pedig nagyjából ugyanúgy működik a $_SESSION, mint a $_COOKIE.
    És: soha ne usernévre nyiss sessiont, mindig id-re.
  • Máté12
    #10330
    Na szóval egy társkereső félét akarok csinálni.
    Miután belépett a felhasználó bejut a user/index.php-ba. Ott kiválasztja az 'Adatlap' menü és eljut az adatlap.php-ba. Ott van egy rész ahol megnézem az adatbázisbol, hogy van-e értéke az ertesit mezönek(ha fiu vagy lány regisztrál kap egy mailt).Ha nincs akkor azt irja ki, hogy nincs bekapsolva majd van egy link és ha arra rákattint akkor elvezet egy másik oldalhoz: ertesitbe.php. Itt van egy form: type=radio name=ertesit value=boy, value=girl és egy submit gomb. Ha bepipálja valamelyiket akkor rákattint a mehet gomba és a radio value értékét felviszi a felhasználó ertesit mezöjébe.
    Hát röviden ennyi.
    És a #10324 hsz.-ben produkált kódom nem viszi fel a mezöbe. Megnéztem, hogy ha a fiu valueset jelöli be akkor az ertesit mezöbe irja át boy-ra az értéket. Ellenkezö esetben a lany erteket irja be.
    Én igy végig mentem még magamba mondtam is de valamiért nem működik :S

    ui.: olvasom a PHP-Feketekönyvet, majd átnézem a SESSION részt. És most nekem elég a COOKIE mert nem lessz olyan látogatott az oldal szerintem. De ha a statisztika nagy lessz akkor átírom SESSION-osba.
    De annak még nincs itt az ideje :)
  • Terensz
    #10329
    A te esetedben most tényleg a $_COOKIE kell.

    Légyszi kicsit bővebben fejtsd ki, hogy mit csináljon az oldal, pl:
    "Online rádió, van rajta egy form a köv adatokkal:
    név, születési idő, nem, kedvenc csatorna.
    Ha postolja az oldalt, az adatokat beteszem adatbázisba, a böngésző pedig kap egy cookie-t."
    Így-e lesz?

    ...

    Attól függetlenül, ha meg akarsz tanulni programozni, tudnod kell session-öket is kezelni. (Bejelentkeztetni pl. csak úgy fogsz tudni felhasználókat)
    A cookie abban az esetben nem lesz jó, ha 2 felhasználó ugyanazt a számítógépet használja és mondjuk ugyanazt az oldalt látogatják.
  • Máté12
    #10328
    Hát azt,hogy van két radio-m és ha az egyiket bepipálja a felhasználó akkor annak az értéke felkerüljön a hozzá tartozó mezöbe. $_SESSION['userid'] azért nem mert még a SESSION-okat nem ismerem és a COOKIE-val foglalkoztam.
  • Terensz
    #10327
    Az a $_COOKIE['username'] miért nem $_SESSION['userid']?
    ...
    Mit is szeretnél tulajdonképen? (mit csináljon a php)
  • BB7
    #10326
    Azért a Silkroad.uw annak is köszönhette, hogy rengeteg uniq látogatója volt és nem mellesleg akkor még nem volt sok Silkroados oldal! Bár ma sincs sok magyar és tényleg a mai napig talán a game01 ami konkurenciának nevezhető! Azt se felejtsd el, hogy magyar Google-ba nézed!
    Én anno naponta lógtam a silkroad.uw.hu-n! De az extrásat is szerettem!
  • Cat 02 #10325
    Nekem az jött be h csomószor beírtam egymás után a szavakat :D [URL=http://www.google.hu/search?hl=hu&q=silkroad&btnG=Google+keres%C3%A9s&meta=&aq=f&oq=silkroa]2. találat ^^[/URL]

    BB7: egy irodai alkalmazottnak felesleges php-ul,pascalul tudnia, sőt szerintem még Acces-t se nagyon (bár ezt kitudja). Aki meg infoval akar továbbtanulni, annak meg kell szoknia a Linuxot és kész, szerverek nagyrészéb úgyis csak az van :)
  • Máté12
    #10324
    if ($_POST['boy'] == 'boy'){
    $sql = mysql_query ("UPDATE `login` SET `ertesit`='boy' WHERE `username`='".$_COOKIE['username']."'");
    }else{
    $sql = mysql_query ("UPDATE `login` SET `ertesit`='girl' WHERE `username`='".$_COOKIE['username']."'");
    }
    }

    Nos ezt hoztam ki belöle de minden esetbe girl értéket ad a mezönek :S Hibát sem ír ki. Mi lehet a gond??
  • Maco13
    #10323
    szorri, biztos így van, én csak átirányításra használom a header()-t, úgy meg fel se merül hogy legyen body
  • Maco13
    #10322
    UPDATE `login` SET `ertesit`='boy' WHERE `id`='valami'

    valami helyére beírod az adott sor azonosítóját a login táblába, az id helyére pedig az azonosító oszlopnevét
  • Terensz
    #10321
    header() function a header lezárása előtt (</head> html tag) használható :-) A <body> tag után akkor sem rakhatod, ha odáig nem írattál ki semmit.
  • Terensz
    #10320
    Mikor az első komolyabb oldalamat csináltam, nem foglalkoztam a google keresővel, így a <meta name="keywords" ... is kimaradt, mégis: bármit megtalál rajta a google kereső.

    A google robotja hasonlóan működik, mint a linuxos wget parancs. (Meg ugye néhányan windows alatt is használják :-) )
  • Máté12
    #10319
    Kicsit magas :)
    Szóval van egy login táblám és egy ertesit mezöm. Van egy boy és egy girl értékem. Erre letudnád írni a kódját ??
  • Maco13
    #10318
    hát persze
  • ba32107
    #10317
    A google accountodnak van egy webmester, vagy ilyesmi része is. Ott hozzá kell adni a weboldaladat a google indexéhez.
  • ldavid
    #10316
    a google azt pont leszarja

    itt be lehet küldeni a címet
    egyébként meg érdemes a címen kívűl (title) az URL-ben is használni fontosabb szavakat
    de neten van egy rakás leírás a témában pl. itt is
  • Máté12
    #10315
    Kereső szavakat kell betenni az oldaladba a <head>rész közé</head>:
    <meta name="keywords" content="ide, akulcsszavak, vesszövel, elválasztva">
  • Narancs
    #10314
    Sziasztok!
    Ha szeretném, hogy a gugi megtalálja a weblapom mit kell tenni? Hogy kell keresőbe regelni?

    Előre s kösz!
  • Máté12
    #10313
    Erre az UPDATE-re tudnál példát mutatni?
  • Dj Faustus #10312
    " de egyes dolgokat már annyira mélyen veszünk, hogy tök felesleges. Excel olyan kis porszemeit vesszük órákon keresztül"
    Sajnos ahhoz, hogy érdekesebb dolgokat vegyetek, szakos osztálynak kellene lenni, illetve a tananyagban érdekelt osztálytársaknak (ha a lányok a közösségi oldalakkal vannak elfoglalva az Excel helyett, illetve ha az osztály fele nem érti, akkor hiába kezdi a tanár például a Linux bash shell rejtelmeit taglalni...)

    "és a vicces, hogy a fél osztály [Többségben lányok, kik közösségi oldalakon lógnak infóórán! -.-] nem érti!"
    Tipikus... ...és sajnos elkeserítő hogy ez a magyar diákság (tisztelet a kivételnek).

    "De egy HTML, talán PHP alapot adhatna! "
    HTML-t biztos fogtok tanulni, PHP-t már nem biztos.
    Első programozási nyelvnek a PHP nem is annyira javallott - inkább Logot (általános iskola felső tagozatának elején), Pascalt vagy Basicet oktatnak (mielőtt valaki azt mondaná, hogy ezeket a nyelveket nem használjuk, ezek a nyelvek pont oktatási célzattal készültek - hogy megtanuld a struktúrákat).

    "3.:Igen, nem is magát az op.rendszerüket szidtam, pusztán azt, hogy CSAK erre a cégre van kihegyezve a tanterv!"
    Alapvetően ha megnézed, az átlag irodai munkás cégek 98%-a Windowst (illetve MS Office-t) használ. Ebből következőleg a munkaadó elvárja, hogy a munkavállaló ezeket ismerje.

    "Feltettem az Apache-ot."
    Appserv, Wamp, Xammp - ezekben (bármelyikükben) - az Apache webszerveren kívül - benne van a PHP szkriptnyelv meg a MySQL nevű adatbázisszerver.
  • Maco13
    #10311
    header()-t csak azelőtt hívhatsz, hogy bármit kiírtál (nem csak head-en belül működik), ezért a hibaüzenet.
    És azért hoz létre új rekordot, mert INSERT IGNORE INTO-t használsz UPDATE helyett sql-ben.
  • Terensz
    #10310
    Nem azt tedd fel.
    Az Appserv, amit linkeltem sokkal jobb. Ez, amit te raktál fel, nekem sem akart működni.
  • BB7
    #10309
    1./2.: Igen! Teljesen egyetértek veled is, de egyes dolgokat már annyira mélyen veszünk, hogy tök felesleges. Excel olyan kis porszemeit vesszük órákon keresztül, és a vicces, hogy a fél osztály [Többségben lányok, kik közösségi oldalakon lógnak infóórán! -.-] nem érti! Ennyi erővel vehetnénk valami értelmesebbet is! Persze nem azt mondom, hogy Középsuli végére programozót kell faragni a gyerekekből! Mert akit érdekel a téma, úgyis majd később felveszi emelt szinten az infót, vagy számtech suliba megy! De egy HTML, talán PHP alapot adhatna! [Cat 02 mondta, hogy náluk volt! Lehet, hogy nálunk is lesz...] Infó tanárom segghülye, [Már elnézést! Senkire nem mondok ilyet!] de szerintem valami orosztanárból átképzett valaki! Sz.gépekhez semmit nem ért, rendszeresen félremagyaráz órán, segíteni nem segít ha elakad valaki, és ami csak bizonyítja, hogy nem is infótanár, hogy a sz.gépek történelméhez semmit sem ért! Szerintem az XP az első op.rendszer ami megjárta kezét, és az egyetlen is!
    ECDL: 1.modul: op.rendszerek: Megkérdezi egy lány, hogy mi az a Linux. Tanár: "Egy, a Windowstól teljesen eltérő op.rendszer, ami sokkal rosszabb, mert úgy van megcsinálva, hogy nem lehet használni" WTF? És ezt így az legelső 5óra tájékán! itt már elásta magát nálam! -.-
    3.:Igen, nem is magát az op.rendszerüket szidtam, pusztán azt, hogy CSAK erre a cégre van kihegyezve a tanterv!

    ON:
    Feltettem az Apache-ot. Konfigurálásnál localhost-ot és 80as portot adtam meg! De mikor el akarom indítani, ezt a hibát kapom: KÉP
    Ötlet?
  • Dj Faustus #10308
    <off>
    "Amúgy mélységesen elítélem az Általános- és Középiskolai infó tanrendszert! Minek kell éveket szo*ni a Májkroszoft neve által fémjegyezett sz@rokkal, s miért nem lehet hasznos dolgokat tanulni/tani?"
    1. Az átlagfelhasználónak nincsen szüksége programozási ismeretekre (vagy nem tudja elsajátítani őket). Aki ilyesmiket akar tanulni járjon szakköre, fakultációra, autodidakta módon (az informatika tanulásának fő módja egyébként is az egyéni önálló gyakorlásban leledzik - ha TE magadtól nem írsz meg egy programot, csak könyvben olvasod, vagy csak az órán gyakoroltakat oldod meg, akkor nem biztos hogy érteni fogod az egészet) képezze tovább magát.
    2. Miért a Microsoft termékei? Mert előbb terjedtek el a desktop piacon mint a "versenytársai" (a Linux - ami az utóbbi évtizedben tört be a desktop piacra - 1991-ben indult el, addigra már a DOS, Windows befutott termék volt) így befutottabb, kiforrottabb, támogatottabb.
    3. Ne aggódj más rendszereken is lehet szopni. Linux alatt is. MacOSX alatt is. BSD alatt is.
    </off>
  • Terensz
    #10307
    Hali!

    Azt ugye tudod, hogy a header() function csak a </head> html tag előtt működik? Ellenkező esetben "Warning: Cannot modify header information - headers already sent by..." a hibaüzenet.

    Amúgy miért cookie-ból akarsz authentikálni?
  • Máté12
    #10306
    Sziasztok!
    Van egy ilyen kódom:
    <?php
    $conn = conn();
    echo '
    <span class="nev">
    Az értesítést itt tudod bekapcsolni:<br>
    <br>
    <form method="post">
    <input name="ertesit" type="radio" value="boy" class="bevitel">Fiúra kérem.<br>
    <input name="ertesit" type="radio" value="girl" class="bevitel">Lányra kérem.<br><br>
    <input type="submit" value="Mehet" class="bevitel">
    </form>
    </span>
    ';
    $query = mysql_query("SELECT * FROM login WHERE username = '".$_COOKIE['username']."'");
    while($adat=mysql_fetch_assoc($query)){
    $ertesit = $adat['ertesit'];
    if (empty($ertesit)){
    $sql = mysql_query ("INSERT IGNORE INTO login (ertesit) VALUES ('".$_POST['ertesit']."')");
    header ("Location: adatlap.php");
    }else{
    echo 'Sikertelen felvitel';
    }
    }
    ?>

    Ez a kód nem működik, hanem a mezöbe nem a cookie felhasználóhoz rakja a boy vagy a girl értéket, hanem nyit neki egy uj mezöt :S
    És az oldalra még ezt írja ki:
    Warning: Cannot modify header information - headers already sent by (output started at /user/ertesitbe.php:34) in /user/ertesitbe.php on line 66
  • Cat 02 #10305
    + mi tanultunk php-t,html-t is, lehet ti is fogtok majd ;)
  • Cat 02 #10304
    Mert aki középszintű érettségit akar tenni, annak azt kell tanulnia... aki meg emelt szintűt az megy fakultációra... ott van programozás, bár az se php :)
  • Terensz
    #10303
    Hát egyetértünk.
    A microsoft a tudomány igazi visszahúzóereje.

    "Mivel előre láthatólag a hétvégém szabad, ezért ennek is utána nézek."

    Amit linkeltem -> kattint, letölt, telepít :-) 5 perc. Minden fut alatta, ami php. Akkor is jó dolog, ha csak kísérletezel modulokkal, mint pl. a joomla. (Amúgy én abszolut nem vagyok joomla-párti, de félelmetesen profi megoldásokat alkalmaznak benne, rengeteget lehet belőle tanulni)

    A nyelvi dolog sikerül?