code pour la connexion de base de données et se connecter en php
Il ne fonctionne pas et j'ai passé des heures et la moitié de mes cheveux à essayer de trouver pourquoi. J'ai déjà eu la forme ancrée dans mon fichier index html avec ce code:
Je veux créer la connexion et la déconnexion de la session
Ma table dans la base de données mysql est à la recherche comme cette
CREATE TABLE member ( id int(10) NOT NULL auto_increment, userName varchar(50) NOT NULL, passWord varchar(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM utf8_general_ci AUTO_INCREMENT=3 ;
<?php
//Inialize session
session_start();
//Include database connection settings
$hostname = 'localhost'; //Your MySQL hostname. Usualy named as 'localhost', so you're NOT necessary to change this even this script has already online on the internet.
$dbname = 'database'; //Your database name.
$username = 'root'; //Your database username.
$password = ''; //Your database password. If your database has no password, leave it empty.
//Let's connect to host
mysql_connect($hostname, $username, $password) or DIE('Connection to host is failed, perhaps the service is down!');
//Select the database
mysql_select_db($dbname) or DIE('Database name is not available!');
//Retrieve username and password from database according to user's input
$userName=mysql_real_escape_string($_POST['username']);
$password=mysql_real_escape_string($_POST['password']);
$passWord=md5($password); //Encrypted Password
//*********retrieving data from Database**********
$query = "SELECT * FROM member WHERE userName='$userName' and passWord='$passWord'";
//$login = mysqli_query("SELECT userName,password FROM 'member' WHERE userName= $_post['username'] AND passWord= $_post['password'])");
//Check username and password match
$res = mysql_query($query);
$rows = mysql_num_rows($res);
if ($rows==1) {
//Set username session variable
$_SESSION['userName'] = $_POST['username'];
//Jump to secured page
header("Location: securedpage.php");
}
else {
//Jump to login page
echo "user name and password not found";
}
exit;
?>
dans ce code lors de la connexion, il va directement sur le nom d'utilisateur et le mot de passe ne se trouvent pas même nom d'utilisateur et le mot de passe est correct
- Ce devrait être facile à déboguer. Ce dépannage avez-vous fait jusqu'à présent?
- Beaucoup de drapeaux rouges ici -
mysql_
autodérision, texte brut stockage de mot de passe, pas de mot de passe root MySQL, etc. Je vous suggère de repenser ce à partir du sol après une recherche sur Google "PHP de connexion à MySQL" - le mot de passe a probablement été supprimé au lieu de la coller pour le monde à voir... mais ouai, il y a beaucoup de questions ici.
- Pourquoi êtes-vous rouler votre propre système d'authentification à l'aide de MD5, ce qui est une grave drapeau rouge, au lieu d'utiliser un cadre de développement qui aurait déjà mis en œuvre pour vous?
Vous devez vous connecter pour publier un commentaire.
Présumer que vous êtes en utilisant ce seulement pour but d'apprentissage pas de véritable application
Vous devriez vérifier votre DB réglage et de prendre soin que toutes les choses sont en place, alors vous avez besoin d'un formulaire à partir d'où vous pourrez faire de post à ce fichier php, voici une petite mise à jour:
?>
Cela devrait fonctionner, mais gardez à l'esprit ce code doit être écrit sur les différentes façon contraire de celui-ci ont un gros problèmes de sécurité, etc..
petite correction sur db installation
Voici le code.... modifier et essayer