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