Sessionban a hiba de hol?
Sziasztok!
Nem bírok rájönni, hogy hol a hiba, bejelentkezek sessionnel utána megjelenik az űrlap, beírom a dolgokat, de nem küld el semmit az adatbázisnak és ki is dob a sessionből! De ha a session-os részt kiszedem akkor simán küldi a db-nek a cuccokat, tehát a sessionban van a hiba, de nem bírok rájönni! Segítsetek legyetek szívesek! Itt a teljes kód:
■ Nem bírok rájönni, hogy hol a hiba, bejelentkezek sessionnel utána megjelenik az űrlap, beírom a dolgokat, de nem küld el semmit az adatbázisnak és ki is dob a sessionből! De ha a session-os részt kiszedem akkor simán küldi a db-nek a cuccokat, tehát a sessionban van a hiba, de nem bírok rájönni! Segítsetek legyetek szívesek! Itt a teljes kód:
- <?php
- include("../db/dbconnect.php");
- session_start();
- #fejlec
- echo "<img src=\"../modul/pictures/logo.jpg\"><br><br><img src=\"../modul/pictures/smile32.gif\"><b> Új hír? Álmodozz csak ...</b> <img src=\"../modul/pictures/smile32.gif\"><br><br>";
- #kilépés
- if ($_REQUEST[kilep]==1){
- session_unregister('sess_nev');
- $_REQUEST[sess_nev] = "";
- }
- ####################################################
- #hitelesites
- if (($sess_nev=="")and($_REQUEST[belepnev]!="")and($_REQUEST[belepjelszo]!="")){
- #megnezzuk, hogy az adatok stimmelnek-e
- $_REQUEST[sql_joadat] = mysql_query("select * from admin where nev='$_REQUEST[belepnev]' and jelszo='$_REQUEST[belepjelszo]'");
- #ha egy ilyen rekord van, akkor jot adott meg
- if (mysql_num_rows($_REQUEST[sql_joadat])==1){
- #jot adott meg
- $sess_nev = "$_REQUEST[belepnev]";
- session_register("sess_nev");
- }else{
- #rosszat adott meg
- echo "Rossz név vagy (és) jelszó!";
- }
- }
- #hitelesites vege
- ####################################################
- #ha nincs még bejelentkezve
- if ($sess_nev==""){
- echo "
- <table width=\"100%\">
- <tr>
- <td>
- <form method=\"post\" action=\"ujhir.php\">
- Név: <input type=\"text\" name=\"belepnev\">
- Jelszó: <input type=\"password\" name=\"belepjelszo\">
- <input type=\"submit\" value=\"bejelentkezés\">
- </form>
- </td>
- </tr>
- </table>
- ";
- }else{
- #ha be van jelentkezve
- echo "
- <table width=\"100%\">
- <tr>
- <td>
- Szia $sess_nev!<a href=\"ujhir.php?kilep=1\">Kijelentkezés</a>
- </td>
- </tr>
- </table>
- ";
- }
- if ($sess_nev!=""){
- if (($_POST[kuldve] !=1) or ($_POST[hirkuldo]=="") or ($_POST[hirszoveg]=="")){
- if ($_POST[kuldve]==1){
- if ($_POST[hirkuldo]==""){$urlap="A hír küldőjének neve kötelező!";}
- if ($_POST[hirszoveg]==""){$urlap.="Hírszöveg kötelező!";}
- }
- $urlap .="
- <form method=\"post\" action=\"ujhir.php\">
- <br><b>Hírküldő neve</b>(max. 20 karakter)<input type=\"text\" name=\"hirkuldo\" value=\"$_POST[hirkuldo]\"><br>
- <b>Hír Címe</b><input type=\"text\" name=\"hircim\" value=\"$_POST[hircim]\"><br>
- <br><b>Hír szövege:</b><br><textarea name=\"hirszoveg\" cols=\"40\" rows=\"10\">$_POST[hirszoveg]</textarea><br>
- <br><input type=\"hidden\" name=\"kuldve\" value=\"1\"><br>
- <input type=\"submit\" value=\"Új hír elküldése\"><br><br>
- ";
- }else{
- $_POST[hircim] = nl2br("$_POST[hircim]");
- $_POST[hirszoveg] = nl2br("$_POST[hirszoveg]");
- $datum = date("Y.m.d");
- $ido = date("H:i");
- $zuttybele = mysql_query("INSERT INTO latrina_hirek (id,datum,ido,hirkuldo,hircim,hirszoveg) VALUES ('','$datum','$ido','$_POST[hirkuldo]','$_POST[hircim]','$_POST[hirszoveg]')");
- $urlap="<br>Új Hír elküldve<br><br><a href=\"index.php\">Vissza az adminhoz</a>";
- }
- echo "$urlap";
- }
- ?>
kedves anonymus
üdv. krey
bbcode javítva
Tömve hibákkal
Ez így nem biztos, hogy menni fog. :)
Általában a bemeneti adatokat szűretlenül tárolod, ami nem egy nagyon jó ötlet. Olvass utána, itt, a weblaboron is volt erről cikk.
Összességében az az érzésem támadt, hogy nem tudnád elmagyarázni a kód működését, sőt, igazából fogalmad nincs, mi miért van. Ne essen rosszul, ha esetleg hibásan feltételezem, de azt nem várhatod senkitől, hogy itt megcsinálja neked, munkaajánlatnak meg nem a legjobb helyen van.
(Minőségét tekintve legalább jó helyre, a társaihoz megy:
INSERT INTO latrina_hirek
:D)
Kaptad, vagy másoltad a cuccot?
kezdő vagyok!
A másik dolog az, hogy éppen tanulom még ezt, és még nem jutottunk el a REQUEST/GET/POST stb változókhoz csak szimpla $akarmi változókat hazsnálunk, tehát register_globals_on -on van egyenlőre még így "dolgozunk"! A kódot eltudom magyarázni bármikor, hogy mi hoyg van és miért! Csak ezeket a vátozókat nem értem még igazából! És ebből jön a problémám is, hogy pl mi a külömbség a GET és REQUEST között ... magam kísérleteztem azt is ki, hogy hova kell a POST, segítség nélkül elég nehéz! Szóval nem csak ctrl+c ctrl+v volt a "tudományom".
RTFM
"Másoltam, együtt írtuk a suliban :D"
Számítástechnika órán?
nem számtek órán! :)
Ó jaj...
munkamenet indítás
Ezt a témát még én sem vágom rendesen.
Include