medigeek αρχιζω απο εσενα.μου ειπες οτι δεν πρεπει με τιποτα να γραφω το mysql_query με τον τροπο που το εγραψα στο τελευταιο register.php αρχειο μου.το διορθωσα.αν μπορεις,ριξε του μια ματια παρακατω που θα το ποσταρω να μου πεις αν πια ειναι ενταξει.
parenthesis,ισως κατι ειχε κολησει χθες ή εγω εκανα κανα λαθος,παντως τωρα γινονται κανονικα οσες εγγραφες κανω.
με δεδομενο οτι θελω sha256 encryption σε καθε registration και να εισαγεται και το mail του χρηστη,εχω πια τα ακολουθα αρχεια,με μικροαλλαγες απο τις προηγουμενες φορες:
index.php( αθικτο )
- Κώδικας: Επιλογή όλων
<?php
session_start();
?>
<html>
<head></head>
<body>
<?php
if(!isset($_SESSION["username"])){?>
<form action="login.php" method="post">
<b style="font-size:150%;">Log in</b><br/>
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
<input type="submit" value="Log in"/>
</form>
Don`t have an account?
<form action="register.php" method="post"><br/>
<b style="font-size:150%;">Register</b><br/>
Username: <input type="text" name="username"/><br/>
Password: <input type="password" name="password"/><br/>
Retype password: <input type="password" name="retype-password"/><br />
E-mail: <input type="email" name="email"/><br />
<input type="submit" value="Register" />
</form>
<?php }
else{
echo 'Welcome user ' . $_SESSION["username"] . '<br/><a href="logout.php">Log off</a>';
include ("upload.php");
}?>
</body>
</html>
register.php (με ορισμενες αλλαγες)
- Κώδικας: Επιλογή όλων
<?php
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 = $_POST[ 'username' ];
$password = $_POST[ 'password' ];
$email = $_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));
$result = mysql_query($query);
if ( mysql_num_rows( $result ) == 0 ) {
mysql_query('INSERT INTO users SET username = "' . $username . '", password = "' . $password . '", email = "' . $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.' );
}
?>
και το Login.php με καποιες μικροαλλαγες
- Κώδικας: Επιλογή όλων
<?php
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());
$user = $_POST['username'];
$pass = hash("sha256", $_POST['password']);
$query = sprintf("SELECT * FROM users WHERE username='%s' and password='%s'",mysql_real_escape_string($user), mysql_real_escape_string($pass));
if($query){
session_register("username");
header("location:index.php");
}
else {
echo 'Wrong username or password!';
}
?>
ΟΜΩΣ,υπαρχει το εξης προβλημα,που εχω την εντυπωση οτι υπηρχε και χθες,αλλα δεν το θυμαμαι σιγουρα.
παω και κανω ενα registrtation.γινεται κανονικα και με κανει redirect συνενδεμενο κανονικα στο Index.php.Παταω log off.και οταν στην φορμα του log in εισαγω παλι τα (σωστα) στοιχεια,και παταω Log In,δεν γινεται τιποτα.δηλαδη,δεν μου λεει καν οτι εβαλα πχ λαθος password ή τιποτα τετοιο.απλα μενει εκει.
θεωρητικα τα δεδομενα στελνονται σωστα απο την φορμα του Index.php στο login.php .τι γινεται ομως τωρα και δεν λειτουργει το Login button ή/και το Login.php αρχειο μου..?
υγ:συγνωμη αν γινομαι κουραστικος,ομως ακομα ειμαι στην διαδικασια της εκμαθησης ορισμενων πραγματων..



