22786
Html-, css- és php-help
  • Relevart
    #15862
    Köszönöm, közben rájöttem, hogy így is próbáltam, csak totál hülye voltam XD
  • totya24
    #15861
    Amelyik php fájl meghívásakor használni akarsz session változókat, mindig a session_start() függvénnyel kell nyitnod a fájlt. Szóval, a meghívott oldalra is be kell illesztened a session_start függvényt.
  • Relevart
    #15860
    Sziasztok!

    Lenne egy kérdésem az itteni PHP mesterekhez :)
    Hogyan valósítható meg, hogy a $_SESSION változók értékei elérhetőek legyenek egy AJAX által a háttérben meghívott PHP oldalon is.

    Úgy vettem észre, hogy a háttérben futó oldalon a $_SESSION változó tartalma teljesen törlődik. Van erre valami frappáns megoldás? Előre is köszi!
  • Jim Morrison
    #15859
    nem latom sehol hogy ki lenne irva hogy karbantartas :/
  • Jim Morrison
    #15858
    ja arra. most megnezem ki van e irva esetleg hogy karbantartas van e.
  • TuxSkajvok
    #15857
    Egy ideig biztos nem, mert még messze van attól az állapotától :D
    Akkor ha más se tud ilyen alternatív megoldást, akkor valahogy beállítom a mailszervert :(
  • Cat 02 #15856
    Hát ha felrakod ingyenes tárhelyre ott be szokott lenni állítva. Localhoston én se tudtam beállítani (mondjuk nem is erőlködtem nagyon)
  • TuxSkajvok
    #15855
    Jó reggelt!
    A mail() függvényen kívül van más mód, hogy e-mailt küldjek a regizett felhasználóknak? (pl. elfelejtett jelszó, vagy rendszer üzenet)
    Mert warningol, h állítsam be a mail szervert a gépemen, de én ezt kihagynám ha lehetne, és más módon küldeném el...
  • Lyukasbogrács
    #15854
    időkorlát != captcha
    java != javascript
  • Krszti1160
    #15853
    am egy időkorlátot, azaz capctha-t ki lehet egyáltalán javával iktatni?
    Ez itt a kérdés, szerintetek? :D
  • Cat 02 #15852
    phpmyadminra gondolsz ? error esetleg ? Vagy nézd meg, lehet tervezett karbantartás van.
  • Jim Morrison
    #15851
    nemtok belepni MySQLre :/ admin oldalra igen, de mysql re nem enged :/ honlapomon meg site off line van :O ilyenkor mit csinaljak? szolgaltatonak szoljak?
  • Krszti1160
    #15850
    ez az, hogy minden progri, script, macro az időkorláton csúszik el :D
    valami biztosabbat kellene valamit kitalálni :D
  • Jim Morrison
    #15849
    ha mindent tudni akarsz itt van a honlap motor :D
    ez pedig a slide panel.
    bárhova teszem a login formot (amit az elobb bemásoltam)...éééés megvan ! egyszerűen a form helyett a következő sort tettem be:
    <?php include("login.php"); ?>
    és működik ! megjelníti a slide panelen a formot amit betölt ha a login oldalra megyek és be lehet jelentkezni !!!

    Remélem érthető csak most olyan happy vagyok hogy sikerült :D Szerintem még ma fölteszem és megnézhetitek :D
  • Voyager5
    #15848
    Ebből többet kéne látni.
  • Jim Morrison
    #15847
    Még 1 kérdésem lenne: ebbe a lenyilo menübe beletettem azt a formot, ami rendesen kijönne ha a login oldalra mennék, de amikor be akarok lépni a következő üzenetet kapom:
    Bizonyosodj meg róla, hogy a cookie-k engedélyzve vannak a böngésződben.
    Ha a probléma továbbra is fennáll, lépj kapcsolatba a webmesterrel.
    Ez miért lehet ? tök gyanaz a form, és most még tippem sincs mi lehet a baj.

    SPOILER! Kattints ide a szöveg elolvasásához!

    <form method="post" name="login" action="checklogin.php">
    <input name="ws_user" type="text" size="13" value="Username" onfocus="this.value=''" style="margin:2px;" />
    <input name="pwd" type="password" size="13" value="Password" onfocus="this.value=''" style="margin:2px;" />
    <input type="submit" name="submit" value="%login%" style="margin:2px;" /><br />
    A honlap fejlesztés alatt van, ezért még nem lehet regisztráli egy ideig<br />
    This website is under construction, please wait for regitration.<br />

    </form>

    (tehát ezt a lenyilo menube helyezve nem mukodik)
  • Cat 02 #15846
    Valaki találkozott már ilyen hibával ?
    "Nem sikerült csatlakozni az adatbázishoz. A hibaüzenetet lásd alább.
    Nincs hibaüzenet."

    phpbb-t akarok felrakni 000webhostra
  • TuxSkajvok
    #15845
    így már más :D
    ő vele műxik:
    "mysql_fetch_object"
    "$_SESSION['id']=$obj->id;"
  • Voyager5
    #15844
    Az is jó amit Cat írt, csak $sql nem handle, $sql helyett $result
  • TuxSkajvok
    #15843
    én is így próbáltam, de kiíratásnál nem jelenik meg semmi...
    ide nem kell még valami?:
    $sql="SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";
  • Voyager5
    #15842
    checklogin.php:

    if($count==1){
    $obj=mysql_fetch_object($result);
    session_start();
    $_SESSION['username'] = $myusername;
    $_SESSION['password'] = $mypassword;
    $_SESSION['time'] = time();
    $_SESSION['id']=$obj->id;
    header("location:login_success.php");
    }
  • Cat 02 #15841
    Rakj bele egy ilyet:
    $row=mysql_fetch_assoc($sql);
    $_SESSION['id']=$row['id'];
  • TuxSkajvok
    #15840
    pl. miután leellenőrzte, h egyezik-e a jelszo, a felhasználóval, akkor még sasolja meg a felhasználónak az ID-jét, és azt tegye bele a $_SESSION['id']-be.
  • Voyager5
    #15839
    Mármint, hogyan hozzáadni?
  • TuxSkajvok
    #15838
    na jó, akkor már csak 1 valami érdekel: hogy tudom hozzávágni a $_SESSION-hoz a belépett user ID-jét?
  • TuxSkajvok
    #15837
    Ó köszi, elvileg így már működik... Az a login_succes engem is csak bekavart... töröltem, és már működik is elvileg... Még tesztelgetem, próbálgatom, és meglátom mire jutok vele... Még 1x köszönöm a segítséget!
  • Malakai
    #15836
    Ok, látom magadtól is meglett. :)
  • Cat 02 #15835
    echo $_SESSION['username'];-ra mit csinál ?
  • Malakai
    #15834
    login_succes.php-ben még mindig session_is_registered() van, utána pedig újra belepakolsz a $_SESSION-be dolgokat, felülírod az adatokat. Őszintén nem teljesen értem ott mit szeretnél elérni. :)

    A login_success.php ha jól látom semmi más mint egy külön oldal/file arra, hogy megjelenítse a sikeres bejelentkezést, spec szerintem kispórolható, inkább a tartalomhoz irányítani a júzert (header()-el), ott persze már tesztelni a bejelentkezés meglétére.

    Ha azt szeretnéd ellenőrizni, hogy be van-e jelentkezve a felhasználó, akkor a session_is_registered(myusername) helyett a $_SESSION['username']-re tesztelj rá, pl.:

    if(!isset($_SESSION['username'])) {
    // nincs bejelentkezve - visszairányítás
    }


    Amikor pedig kilogolod, akkor érdemes a teljes $_SESSION-t is törölni, tehát:

    session_start();
    $_SESSION = array();
    session_destroy();


    És a biztonsági dolgokba belemenve ezt még sokáig lehetne bonyolítani. :)
  • TuxSkajvok
    #15833
    átírva if (!isset($_SESSION['username'])) {
    és a checklogin-ban legfölül a start, de még mindig nem oké, és továbbra is bekéri a jelszót
  • Cat 02 #15832
    Elvileg nem kéne zavarnia. Max akkor parás, ha mysql hibát ír ki.

    Ám !$_SESSION helyett if(!issett($_SESSIOn...
  • biomage
    #15831
    a checklogin.php-ban rakd legfölülre a session_start ot
    Sőt minden phpt tetején ird be
  • TuxSkajvok
    #15830
    jah, és ebben
    if (!$_SESSION['username']) {
    ?>
    a részében nem vok biztos, csak reménykedem, h hátha összejön, amit akarok :D
  • TuxSkajvok
    #15829
    közben pedig feltettem a forrását annak, amit ügyködöm Értelem szerűen a ... rész előtt és után még vannak dolgok, amiket nem tettem fel
    Ha tudjátok, h mi lehet a baja, ne féljetek közölni velem
  • Cat 02 #15828
    Gondolom a tutorialban továbbra is mysessionként hivatkoznak rá, de átírhatod, csak figyelj oda rá ;)
  • Malakai
    #15827
    Nem, ha máshol is úgy hivatkozol rájuk, akkor nem hiba, a változót is átnevezheted, ha akarod, csak arra figyelj, hogy mindenhol megfelelően hivatkozz rájuk.

    Persze azokra is figyelj, amit a többiek írtak, konkrétan, amit Voyager, a header-re és, hogy hova rakod a session_start-ot.
  • TuxSkajvok
    #15826
    A sessionban inkább már csak username-nek, és passwordnak használnám, de ha ez hiba okozója lehet, akkor inkább jöhet a my szócska eléjük...
  • Cat 02 #15825
    Ha jól értelmezem a kódot, akkor
    $_SESSION['[b]my[/b]username'] = $myusername;
    $_SESSION['mypassword'] = $mypassword;
  • TuxSkajvok
    #15824
    Tehát úgy gondoltad, h a checklogin.php fájl tartalmát erről:

    session_register("myusername");
    session_register("mypassword");
    header("location:login_success.php");

    erre cseréljem?:

    session_start();
    $_SESSION['username'] = $myusername;
    $_SESSION['password'] = $mypassword;
    $_SESSION['time'] = time();
    header("location:login_success.php");
  • Malakai
    #15823
    Egyetlen probléma vele, hogy a session_register-t és társait használja, amig a global-ba tárol és a register_globals megléte szükséges, ami valamire való helyeken ki van kapcsolva.

    Inkább a $_SESSION array-t használd.