Δημοσιεύτηκε: 17 Ιουν 2012, 21:03
Λοιπόν, άλλαξα κάποια πράγματα στα register.php και login.php που πόσταρες προηγουμένως και τώρα φαίνεται να δουλεύει.
login.php. Εδώ έφτιαξα λίγο τον έλεγχο που κάνεις στο query ($result = mysql_query($query); if (mysql_num_rows( $result ) == 1) { ....})
register.php. Έβαλα το query σε διπλά εισαγωγικά και πρόσθεσα ; στο τέλος (mysql_query("INSERT INTO users (username, password, email) VALUES ('$username','$password','$email');");)
login.php. Εδώ έφτιαξα λίγο τον έλεγχο που κάνεις στο query ($result = mysql_query($query); if (mysql_num_rows( $result ) == 1) { ....})
- Κώδικας: Επιλογή όλων
<?php
ini_set('display_errors', 1); ini_set('error_reporting', E_ALL);
session_start();
mysql_connect('localhost', 'root', '')
or die ("Error establishing database connection".mysql_error());
mysql_select_db('dbname')
or die ("Error establishing a database connection ".mysql_error());
$username = mysql_real_escape_string($_POST["username"]);
$password = hash("sha256", $_POST['password']);
$query = sprintf("SELECT * FROM users WHERE username='%s' and password='%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password));
$result = mysql_query($query);
if (mysql_num_rows( $result ) == 1) {
$_SESSION["username"] = $_POST["username"];
header("location:index.php");
} else {
echo 'Wrong username or password!';
}
?>
register.php. Έβαλα το query σε διπλά εισαγωγικά και πρόσθεσα ; στο τέλος (mysql_query("INSERT INTO users (username, password, email) VALUES ('$username','$password','$email');");)
- Κώδικας: Επιλογή όλων
<?php
ini_set('display_errors', 1); ini_set('error_reporting', E_ALL);
session_start();
mysql_connect('localhost', 'root', '')
or die ("Error establishing database connection".mysql_error());
mysql_select_db('dbname')
or die ("Error establishing a database connection ".mysql_error());
if ( (isset( $_POST[ 'username' ] )) && (isset( $_POST[ 'password' ] )) && ($_POST[ 'username' ] != null) && ($_POST[ 'password' ] != null) ) {
$username = mysql_real_escape_string($_POST[ 'username' ]);
$password = mysql_real_escape_string($_POST[ 'password' ]);
$email = mysql_real_escape_string($_POST[ 'email' ]);
$password = hash("sha256", $password);
// check if username exists
$query = sprintf("SELECT username FROM users WHERE username='%s' AND password='%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password));
// Perform Query
$result = mysql_query($query);
if ( mysql_num_rows( $result ) == 0 ) {
mysql_query("INSERT INTO users (username, password, email) VALUES ('$username','$password','$email');");
$_SESSION[ 'username' ] = $username;
header( 'Location: index.php' );
} else {
echo ( 'Error: User already in database' );
}
} else {
echo( 'Please provide both a username and a password.' );
}
?>