Jump to content

Recommended Posts

Posted

1.PNG.b39b0fc3cdc2e3b86ac92800fe03b29a.PNG3.PNG.06660977b7ef22ee47a297898c997853.PNG2.PNG.c9bc0643238bcb7d9204b6cbcde64980.PNG

deci am cam asa codul care este facut cu sesiune si imi ia din baza de date lastOn dar cand sa il afiseze imi da eroarea asta , va rog ajutati-ma

In prima imagine este cum arata in baza de date .

Posted
<?php
session_start();

if(isset($_SESSION['usr_id'])!="") {
	header("Location: dashboard.php");
}

include_once 'includes/config.php';

//check if form is submitted
if (isset($_POST['login'])) {

	$username = mysqli_real_escape_string($con, $_POST['name']);
	$password = mysqli_real_escape_string($con, $_POST['password']);
	$result = mysqli_query($con, "SELECT * FROM users WHERE name = '" . $username. "' and password = '" . $password. "'");

	if ($row = mysqli_fetch_array($result)) {
		$_SESSION['usr_id'] = $row['id'];
		$_SESSION['usr_name'] = $row['name'];
		$_SESSION['admin'] = $row['Admin'];
		$_SESSION['level'] = $row['Level'];
		$_SESSION['email'] = $row['Email'];
		$_SESSION['premium'] = $row['Premium'];
		$_SESSION['bank'] = $row['Bank'];
		$_SESSION['xon'] = $row['lastOn'];
		header("Location: dashboard.php");
	} else {
		$errormsg = "Incorrect Email or Password!!!";
	}
}
?>

Uite sursa la codul pe care il folosesc!

Posted
if ($row = mysqli_fetch_array($result))

  Inlocuieste-o cu:

 

$row = mysqli_fetch_array($result);
if ($row)

Acolo defapt ai facut in felul urmator

Daca variabilei $row i se poate atribui valoarea returnata de functia mysqli_fetch_array($result) , executa codul. Dar nu ai verificat daca functia a returnat vreun rezultat.

Reborn.

Posted (edited)

Am schimbat dar imi da alta eroare , acuma imii da o eroare cand vreau sa afisez money si model , undefined index

da in codul sursa pe care este nu sunt trecute money si model dar le-am trecut eu si tot eroare da

Edited by unknown
  • Moderators
Posted

Probabil ai rezolva mai repede daca ai ignora toate undefined index-urile, cine a facut if-urile ar fi trebuit sa aiba activ optiunea completa de erori.

Pentru a ignora toate erorile alea care defapt nu ar trebuii sa strice nimic, poti pune intrun fisier php global care este folosit in toate fisierele urmatoru rand:

error_reporting(E_ALL ^ E_NOTICE);

 

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

  • Moderators
Posted

Da, dar cam orice aplicatie are un fisier de configuratie sau global.php sau ceva de genu unde poti adauga randu ala, unele aplicatii chiar au deja randul acela pus, doar ca nu ignora E_NOTICE.

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

Posted (edited)
12 minutes ago, gadeas said:

Da, dar cam orice aplicatie are un fisier de configuratie sau global.php sau ceva de genu unde poti adauga randu ala, unele aplicatii chiar au deja randul acela pus, doar ca nu ignora E_NOTICE.

ideea ca este ca scriptul php la care lucrez nu ii o aplicatie , este un login script php mysql,

daca stii un script login php mysql ar fi de ajutor si sa nu arate erorile istea. @gadeas

nu imi mai arata erorile dar nici datele din mysql unde trebuia sa arate.

Edited by unknown
  • Moderators
Posted

Tot ar trebuii sa ai un fisier global pentru a evita verificarea daca useru e logat sau nu de fiecare data si asa eviti aceasi cod in fiecare pagina.

Mai exact ar fi bine sa folosesti niste metode de a lucra, dexemplu MVC (Model view controller):

http://php-html.net/tutorials/model-view-controller-in-php/

Daca cauti PHP MVC Tutorial sau Example pe google vei gasi o gramada de exemple si tutoriale.

PHP Developer - Not available for freelancing right now

Daca ai de gand sa postezi la categoria IPB, nu uita sa citesti regulamentul: Link regulament

  • gaby changed the title to Problema PHP/mySQL lastonline?
  • 1 year later...
Posted

1. Verifica daca in pagina in care il afisezi are pornit "session_start()",

2. Incearca sa folosesti o singura variabila $_SESSION, ceva de genul:

<?php
session_start();

include_once 'includes/config.php';

if(isset($_SESSION['user']) != true) {
	header("Location: dashboard.php");
} else {
	//check if form is submitted
	if (isset($_POST['login'])) {

		$username = mysqli_real_escape_string($con, $_POST['name']);
		$password = mysqli_real_escape_string($con, $_POST['password']);
		$result = mysqli_query($con, "SELECT * FROM users WHERE name = '" . $username. "' and password = '" . $password. "'");

		if ($row = mysqli_fetch_array($result)) {
			$_SESSION['user'] = array(
				$row['id'],
				$row['name'],
				$row['Admin'],
				$row['Level'],
				$row['Email'],
				$row['Premium'],
				$row['Bank'],
				$row['lastOn']
			);
			header("Location: dashboard.php");
		} else {
			$errormsg = "Incorrect Email or Password!!!";
		}
	}
}
?>

Sau introdu in sesiune doar ID-ul persoanei care s-a logat, iar cu ajutorul functiilor preia din baza de date numele,  level, laston etc.

Filme: Click.

Contact: Steam

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.