[HELP] admin panel

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Sacalu
PHPRomania Supporter
Mesaje: 23
Membru din: Mie Dec 29, 2010 4:58 pm
Localitate: Campina

Mesajde Sacalu » Joi Aug 25, 2011 4:29 pm

nevvermind scrie:@EoKlaus - incearca url-ul asta pe codul tau: site/editeaza.php?aid=x' or 'x' = 'x

Stiti ca mysql_query este (sau va fi) nominalizata ca functie depasita (deprecated)?

Voi in ce era precambriana programati?


si de ce nu poti sa pui pentru protectie o conditie if cv de genu
if (!is_numeric($_get['id'])){
echo 'eroarea ta';
}
else{
codul tau}

ce inseamna functia is_numeric ....adica daca get[id] este numar ;)...daca nu e nu merge :P

si poti sa pui tot felul de protectii cu if-uri...pentru metoda get(ca sa nu fie vulnerabil site-ul) trebuie sa pui multe conditii if :)



cipcip
Senior Member
Mesaje: 201
Membru din: Dum Feb 22, 2009 1:26 pm

Mesajde cipcip » Joi Aug 25, 2011 5:14 pm

Pai si cu ce o sa fie inlocuita mysql_query ?

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Mesajde nevvermind » Joi Aug 25, 2011 5:42 pm

Cu sprintf(). Voi nu prea stiti altceva in afara de functia aia, asa-i? Ajutati baiatul sau v-ati pus pe offtopic?

cipcip
Senior Member
Mesaje: 201
Membru din: Dum Feb 22, 2009 1:26 pm

Mesajde cipcip » Joi Aug 25, 2011 6:10 pm

Nu stiu care dintre noi doi a inceput cu offtopic. Ma rog.
Imagine

Sacalu
PHPRomania Supporter
Mesaje: 23
Membru din: Mie Dec 29, 2010 4:58 pm
Localitate: Campina

Mesajde Sacalu » Joi Aug 25, 2011 6:51 pm

nevvermind scrie:Cu sprintf(). Voi nu prea stiti altceva in afara de functia aia, asa-i? Ajutati baiatul sau v-ati pus pe offtopic?


cum zicea si el...sprintf()....foarte simplu pentru update,insert :P

ZecaR
PHPRomania Supporter
Mesaje: 29
Membru din: Lun Dec 20, 2010 6:32 pm

Mesajde ZecaR » Vin Aug 26, 2011 1:48 pm

multumesc pentru ajutor, o sa incerc si va dau raspunsul asta-seara sau maine...

p.s. va rog nu mai faceti off topic

ZecaR
PHPRomania Supporter
Mesaje: 29
Membru din: Lun Dec 20, 2010 6:32 pm

Mesajde ZecaR » Mie Aug 31, 2011 11:45 am

Am revenit . Nu am incercat ce mi-ati dat mai sus, am alte scripturi

Uita-ti .
Am login.php (form)

Cod: Selectaţi tot

<form name="login_form" action="panou.php" method="post">
    <table width="100%" border="0" cellpadding="0" cellspacing="2">
        <tr>
            <td width="40%">Username</td>
            <td><input type="text" name="login_username" id="login_username" /></td>
        </tr>
        <tr>
            <td>Parola</td>
            <td><input type="password" name="login_password" id="login_password" /></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="login_btn" value="Login" /></td>
        </tr>
    </table>
</form>


Am panou.php (pe care te redirecteaza login.php)

Cod: Selectaţi tot

<?php
session_start();
include("files/edit/config.php");
mysql_connect($adresahost, $nume, $parola);
mysql_select_db($numebazadate);
//  verifica daca exista date transmise

if ($_POST['login_username'] != "" && $_POST['login_password'] != '') {
 
    // preia datele din formular
    $username = $_POST['login_username'];
    $password = ($_POST['login_password']);
 
    // formeaza si executa query-ul de select din baza de date
    $query = "SELECT * FROM `admins` WHERE `auth` = '".$username."' AND `password` = '".$password."'";
    $result = mysql_query($query) or die ( "Error : ". mysql_error() );
 
    // verifica daca interogarea MySQL a gasit date valide
    if (!$result || mysql_num_rows($result) < 1) {
        // daca nu, afiseaza un mesaj de eroare
        echo "Datele introduse sunt incorecte<br>
            Click <a href='index.php'>aici</a> pentru a reveni la pagina de login";
    }
   else {
   
        // salveaza username-ul si parola in sesiune
        $_SESSION['username'] = $username;
        $_SESSION['password'] = $password;
 
        // afiseaza un mesaj de succes       
echo  "Bine ai venit <br />";
echo $username;
}
}
?>


Inainte sa trec mai departe, login merge , ma redirecteaza in panou.php daca este corect login-ul , si imi da mesaj daca este incorect.
Dar , daca dau logout.php (session_start(); session_destroy();) SAU daca deschid panou.php in alt tab sau in alt browser imi da "Notice: Undefined index: login_username in C:\wamp\www\inregistrare\admins\panou.php on line 8 "

Cum fac sa raman logat ?

trecem mai departe. Am si scripturile de modificare a bazei de date (viewdb / add / update / delete) . cum fac sa am acces la ele doar daca sunt logat ?

vreau sa fac un admin panel pentru baza de date.

EoKlaus
Average Member
Mesaje: 133
Membru din: Mie Apr 20, 2011 3:11 pm
Localitate: Grecia

Mesajde EoKlaus » Joi Sep 01, 2011 5:52 pm

Pune la incet (inaintea oricarei linii) asta:

Cod: Selectaţi tot


<?php
session_start();
if (!session_is_registered(nume_sesiune)){
header("location: login.php");
}
?>



Chestia de mai sus te redirectioneaza daca nu esti logat, iar daca esti logat, ramai pe aceasi pagina.

Si...de ce trebuie sa deschizi panou.php? Panou.php este folosit daor cand sunt trimise date de la form.... Si, tu, daca il accesezi simplu din browser, atuncia, el nu mai are date trimise de form, si iti da acea erroare.

Cod: Selectaţi tot


Undefined index: login_username



Nu este definit login_username care, in mod normal, scriptul din panou.php il primeste de la form.

Sper ca te-am ajutat:).
Copilaria nu este de la nastere pana la o anumita varsta, iar la o anumita varsta copilul a crescut si ia toate lucrurile copilaresti si le pune la o parte. Copilaria este regatul unde nu moare nimeni.

Imagine
[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]

ZecaR
PHPRomania Supporter
Mesaje: 29
Membru din: Lun Dec 20, 2010 6:32 pm

Mesajde ZecaR » Joi Sep 01, 2011 7:15 pm

nu m-a ajutat prea mult ..

deci in panou.php am pus session_id('log'); inainte de session_start();

si apoi am adaugat in index.php
<?php
session_start();
if (!session_is_registered('log')){
header("location: login.php");
}
?>

si ma redirectioneaza pe login.php chiar daca am facut deja login-ul

EoKlaus
Average Member
Mesaje: 133
Membru din: Mie Apr 20, 2011 3:11 pm
Localitate: Grecia

Mesajde EoKlaus » Vin Sep 02, 2011 7:33 pm

Incearca sa pui

Cod: Selectaţi tot

session_start();

if (!session_is_registered(username)){
header("location: login.php");
}


Daca nu merge, modifica aici:

Cod: Selectaţi tot

 $_SESSION['username'] = $username;
        $_SESSION['password'] = $password;


cu:

Cod: Selectaţi tot


session_register('username');
session_register('password');



Sper ca acum merge...
Copilaria nu este de la nastere pana la o anumita varsta, iar la o anumita varsta copilul a crescut si ia toate lucrurile copilaresti si le pune la o parte. Copilaria este regatul unde nu moare nimeni.



Imagine

[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]

ZecaR
PHPRomania Supporter
Mesaje: 29
Membru din: Lun Dec 20, 2010 6:32 pm

Mesajde ZecaR » Vin Sep 02, 2011 8:42 pm

am reusit cu
in panou.php am adaugat
$_SESSION['logged']=1;
setcookie('username', $username, false, 'inregistrare/admins', 'localhost');
setcookie('password', $password, false, 'inregistrare/admins', 'localhost');
setcookie('logged', '1', false, 'inregistrare/admins', 'localhost');


si pentru verificare am
session_start();
if($_SESSION['logged']==1) {



.


Mai este problema cu undefined variable daca dau logout si dau pe o pagina protejata de codul de mai sus ?

cum sa scap de ea ?

ZecaR
PHPRomania Supporter
Mesaje: 29
Membru din: Lun Dec 20, 2010 6:32 pm

Mesajde ZecaR » Vin Sep 02, 2011 8:59 pm

sry de double post
am rezolvat tot

am scapar de eroare cu error_reporting


multumesc de ajutor :)

closed:D

Clauu
Average Member
Mesaje: 61
Membru din: Sâm Noi 27, 2010 11:52 am

Mesajde Clauu » Mie Oct 05, 2011 1:14 pm

nevvermind scrie:Stiti ca mysql_query este (sau va fi) nominalizata ca functie depasita (deprecated)?

Voi in ce era precambriana programati?

Nu inteleg, este vorba de mysql_query folosita direct ca din pom gen mysql_query("ceva") ori $ceva=mysql_query("ceva") sau ambele?

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Dum Oct 09, 2011 12:43 pm

ZecaR scrie:am scapar de eroare cu error_reporting
Banuiesc ca stii ca asta e echivalentul ascunderii gunoiului sub pres. Iti propun sa rezolvi chiar si notice-urile, nu doar sa le ascunzi pentru ca daca te vei lovi de ele vei ajunge la probleme fara raspuns (de fapt, cu raspunsul ascuns)

ZecaR
PHPRomania Supporter
Mesaje: 29
Membru din: Lun Dec 20, 2010 6:32 pm

Mesajde ZecaR » Dum Oct 09, 2011 2:22 pm

si.. cum fac asta?


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 23 vizitatori