PhP et BDD comment faire?
Résolu
kikoi1
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
Nico595 -
Nico595 -
Bonjour,
Je suis actuellement entrain de réaliser un site internet pour un projet je le réalise en php avec dreamweaver, et je voudrais savoir comment pouvoir mettre en relation ma base de données avec ma page php.
Ma page php est très basique elle possède seulement un espace pour rentrer un nom d'utilisateur ainsi qu'un autre emplacement pour le mot de passe et un bouton rentrer, ainsi je voudrai que l'utilisateur qui fait partie de ma base de données user puisse acceder a l'acceuil du site et dans le cas contraire afficher un message d'erreur g crée une table user:
CREATE TABLE `cekciwebmaster`.`user` (
`nom_user` VARCHAR( 15 ) NOT NULL ,
`password` VARCHAR( 20 ) NOT NULL ,
`id_user` INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY ( `id_user` )
) ENGINE = MYISAM
et à partir de la je ne c'est pas comment en supposant que je m'y soit bien pri jusqu'a présent quelqu'un aurait-il des suggestions ou même un tuto pour les nuls très bien détaillées aà me proposer?????
Je suis actuellement entrain de réaliser un site internet pour un projet je le réalise en php avec dreamweaver, et je voudrais savoir comment pouvoir mettre en relation ma base de données avec ma page php.
Ma page php est très basique elle possède seulement un espace pour rentrer un nom d'utilisateur ainsi qu'un autre emplacement pour le mot de passe et un bouton rentrer, ainsi je voudrai que l'utilisateur qui fait partie de ma base de données user puisse acceder a l'acceuil du site et dans le cas contraire afficher un message d'erreur g crée une table user:
CREATE TABLE `cekciwebmaster`.`user` (
`nom_user` VARCHAR( 15 ) NOT NULL ,
`password` VARCHAR( 20 ) NOT NULL ,
`id_user` INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY ( `id_user` )
) ENGINE = MYISAM
et à partir de la je ne c'est pas comment en supposant que je m'y soit bien pri jusqu'a présent quelqu'un aurait-il des suggestions ou même un tuto pour les nuls très bien détaillées aà me proposer?????
A voir également:
- PhP et BDD comment faire?
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
35 réponses
Bonjour kikoi1 Notre petit génie :p
La gestion des membres ce fait avec une LOGIN + uNE REDIRECTION
quand le membre met son nom_USER & sont Password et apré il va ou ? faut pensé à sa aussi chère kikoi1 .
voila un code que j'ai crée sa peut t'aidé
// Connexion.kikoi1.php
<?php
if(isset($pseudo) & !empty($pseudo) & isset($mdp) & !empty($mdp))
{
$pseudo=addslashes(htmlspecialchars($_POST[pseudo]));
$mdp=addslashes(htmlspecialchars($_POST[mdp]));
connecter();
$query="SELECT * FROM `membres` WHERE `pseudo` LIKE '$pseudo' and `mdp` LIKE '$mdp'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur Mr kiKoi1 ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion établie
$mail = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['pseudo']=$pseudo;
$_SESSION['mail']=$mail;
$_SESSION['meme']=$meme;
//---------------------------------------------
//session_register("pseudo"); VERSION 1.0 nécessité d'avoir register_gloabals=on
//session_register("mail");
//session_register("meme");
echo "Connexion établie...";
echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
}
?>
// Formulaire.html pour Mr kikoi1 ^^
<form action="espace_membre.php?page=1" method="post">
<table align="center" class="texte">
<tr><td>Pseudo: </td><tD><input type="text" name="pseudo"></tD></tr>
<tr><td>Mot de passe: </td><tD><input type="password" name="mdp"></tD></tr>
<tr><td><a href="espace_membre.php?page=6"><font size="1">oublié?</font></a></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit" value="Envoyer"></tD></tr>
<tr><tD colspan="2" align="center"><a href="espace_membre.php?page=2"><font size="1">S'inscrire</font></a></tD></tr>
</table>
</form>
x.0185@hotmail.fr si tu n'a pas pigé kek chose @+
La gestion des membres ce fait avec une LOGIN + uNE REDIRECTION
quand le membre met son nom_USER & sont Password et apré il va ou ? faut pensé à sa aussi chère kikoi1 .
voila un code que j'ai crée sa peut t'aidé
// Connexion.kikoi1.php
<?php
if(isset($pseudo) & !empty($pseudo) & isset($mdp) & !empty($mdp))
{
$pseudo=addslashes(htmlspecialchars($_POST[pseudo]));
$mdp=addslashes(htmlspecialchars($_POST[mdp]));
connecter();
$query="SELECT * FROM `membres` WHERE `pseudo` LIKE '$pseudo' and `mdp` LIKE '$mdp'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur Mr kiKoi1 ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion établie
$mail = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['pseudo']=$pseudo;
$_SESSION['mail']=$mail;
$_SESSION['meme']=$meme;
//---------------------------------------------
//session_register("pseudo"); VERSION 1.0 nécessité d'avoir register_gloabals=on
//session_register("mail");
//session_register("meme");
echo "Connexion établie...";
echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
}
?>
// Formulaire.html pour Mr kikoi1 ^^
<form action="espace_membre.php?page=1" method="post">
<table align="center" class="texte">
<tr><td>Pseudo: </td><tD><input type="text" name="pseudo"></tD></tr>
<tr><td>Mot de passe: </td><tD><input type="password" name="mdp"></tD></tr>
<tr><td><a href="espace_membre.php?page=6"><font size="1">oublié?</font></a></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit" value="Envoyer"></tD></tr>
<tr><tD colspan="2" align="center"><a href="espace_membre.php?page=2"><font size="1">S'inscrire</font></a></tD></tr>
</table>
</form>
x.0185@hotmail.fr si tu n'a pas pigé kek chose @+
Bon j'ai essayé le code mais je dois oublier quelque chose enfin je vous montre le code de ma page index, je n'arrive pas à la page acceuil.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
// Connexion.kikoi1.php
<?php
mysql_connect("?", "identifiant", "mdp"); //connection a mysql
mysql_select_db("user"); //Séléction de la base user
if(isset($nom_user) & !empty($nom_user) & isset($password) & !empty($password))
{
$nom_user=addslashes(htmlspecialchars($_POST[nom_user]));
$password=addslashes(htmlspecialchars($_POST[password]));
//connecter();
$query="SELECT * FROM `user` WHERE `nom_user` LIKE '$nom_user' and `password` LIKE '$password'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur Mr kiKoi1 ce nom_user (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion établie
$mail = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['nom_user']=$nom_user;
$_SESSION['mail']=$mail;
$_SESSION['meme']=$meme;
//---------------------------------------------
//session_register("nom_user"); VERSION 1.0 nécessité d'avoir register_gloabals=on
//session_register("mail");
//session_register("meme");
echo "Connexion établie...";
//echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
}
?>
// Formulaire.html pour Mr kikoi1 ^^
<form action="index.php" method="post">
<table align="center" class="texte">
<tr><td>nom_user: </td><tD><input type="text" name="nom_user"></tD></tr>
<tr><td>Mot de passe: </td><tD><input type="password" name="password"></tD></tr>
<tr><td><a href="acceuil.php"><font size="1">oublié?</font></a></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit" value="Envoyer"></tD></tr>
<tr><tD colspan="2" align="center"><a href="acceuil.php"><font size="1">S'inscrire</font></a></tD></tr>
</table>
</form>
</body>
</html>
J'ai ajouter quelque modification au code précédent mais sa n'a pas l'air de vouloir fonctionner. Si quelqu'un pouvait m'aider??
P.S: j'ai rajouter un user : utilisateur avec un mdp: mdp dans ma table user si sa px aider...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
// Connexion.kikoi1.php
<?php
mysql_connect("?", "identifiant", "mdp"); //connection a mysql
mysql_select_db("user"); //Séléction de la base user
if(isset($nom_user) & !empty($nom_user) & isset($password) & !empty($password))
{
$nom_user=addslashes(htmlspecialchars($_POST[nom_user]));
$password=addslashes(htmlspecialchars($_POST[password]));
//connecter();
$query="SELECT * FROM `user` WHERE `nom_user` LIKE '$nom_user' and `password` LIKE '$password'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur Mr kiKoi1 ce nom_user (et/ou mot de passe) est incorrect!</font></center><br>";
}else{
//connexion établie
$mail = $row[3];
$meme = $row;
//-----------------VERSION 1.1-----------------
$_SESSION['nom_user']=$nom_user;
$_SESSION['mail']=$mail;
$_SESSION['meme']=$meme;
//---------------------------------------------
//session_register("nom_user"); VERSION 1.0 nécessité d'avoir register_gloabals=on
//session_register("mail");
//session_register("meme");
echo "Connexion établie...";
//echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
}
?>
// Formulaire.html pour Mr kikoi1 ^^
<form action="index.php" method="post">
<table align="center" class="texte">
<tr><td>nom_user: </td><tD><input type="text" name="nom_user"></tD></tr>
<tr><td>Mot de passe: </td><tD><input type="password" name="password"></tD></tr>
<tr><td><a href="acceuil.php"><font size="1">oublié?</font></a></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit" value="Envoyer"></tD></tr>
<tr><tD colspan="2" align="center"><a href="acceuil.php"><font size="1">S'inscrire</font></a></tD></tr>
</table>
</form>
</body>
</html>
J'ai ajouter quelque modification au code précédent mais sa n'a pas l'air de vouloir fonctionner. Si quelqu'un pouvait m'aider??
P.S: j'ai rajouter un user : utilisateur avec un mdp: mdp dans ma table user si sa px aider...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bjr
Hum ca ne va pas au niveau de la récupération des variables passées par POST
Tu le fais à l'envers
Ce code ...
... est complètement faux !
Les variables $nom_user et $password doivent être initialisées AVANT de faire les tests en récupérant leur valeur respective dans le tableau $_POST[]
De plus dans ton test il faut 2 symboles & pour faire un ET/AND et pas un seul & qui correspond à un opérateur binaire !!!
Enfin il faut mettre des guillemets ou des quotes lorsque tu récupères une variable directement par son nom dans $_POST[] Ex $_POST['nom_user']
Voici un ex
Hum ca ne va pas au niveau de la récupération des variables passées par POST
Tu le fais à l'envers
Ce code ...
if(isset($nom_user) & !empty($nom_user) & isset($password) & !empty($password)) { $nom_user=addslashes(htmlspecialchars($_POST[nom_user])); $password=addslashes(htmlspecialchars($_POST[password]));
... est complètement faux !
Les variables $nom_user et $password doivent être initialisées AVANT de faire les tests en récupérant leur valeur respective dans le tableau $_POST[]
De plus dans ton test il faut 2 symboles & pour faire un ET/AND et pas un seul & qui correspond à un opérateur binaire !!!
Enfin il faut mettre des guillemets ou des quotes lorsque tu récupères une variable directement par son nom dans $_POST[] Ex $_POST['nom_user']
Voici un ex
<html> <head> </head> <body> <?php $nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null; $password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null; if(!empty($nom_user) && !empty($password)) { echo "<p>nom_user =".$nom_user."</p>\n"; echo "<p>password =".$password."</p>\n"; } else { echo "<p>nom_user = NON DEFINI !</p>\n"; echo "<p>password = NON DEFINI !</p>\n"; } ?> <form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post"> <input type="text" id="nom_user" name="nom_user" value=""> <input type="text" id="password" name="password" value=""> <input type="submit" value"Valider"> </form> </body> </html>
Oki je vais essayer par contre j'ai une question. Je ne vois pas à quelle moment il y a connexion avec la base de données???
Dans moN ex je ne me connecte pas avec la BDD : c'était juste pour te signaler les erreurs
Va y étape par étape : une fois que ta page fonctionne "dans le vide" (sans BDD) alors ensuite tu peux ajouter la connexion à MySQL
Pareil pour les sessions : n'essai pas tout faire en même temps !
Pour la BDD ca semble juste sauf ta query : pourquoi tu utilises des LIKE ?
$query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'";
Enfin c'est vrai que tu peux inclure directement les variables php simples dans une chaîne encadrées par des guillemets ex
echo "ceci est le $password";
et php va les remplacer par leur valeur mais c'est un truc à se planter !
Je préfère et de loin écrire : echo "ceci est le ".$password;
Va y étape par étape : une fois que ta page fonctionne "dans le vide" (sans BDD) alors ensuite tu peux ajouter la connexion à MySQL
Pareil pour les sessions : n'essai pas tout faire en même temps !
Pour la BDD ca semble juste sauf ta query : pourquoi tu utilises des LIKE ?
$query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'";
Enfin c'est vrai que tu peux inclure directement les variables php simples dans une chaîne encadrées par des guillemets ex
echo "ceci est le $password";
et php va les remplacer par leur valeur mais c'est un truc à se planter !
Je préfère et de loin écrire : echo "ceci est le ".$password;
Le code parait exploitable, merci. Maintenant je voudrais mettre en relation la page php et le la BDD afin d'accéder à la page acceuil.php comment doit-je faire?
Voici un autre ex avec la BDD
ATTENTION ! J'utilise des focntions PHP pour faire plus propre
Pense à bien initialiser les variables globales qui commencent par $cfg_ avec tes propres paramètres
Dans le fonction mysql_select_user si ta table ne se nomme pas user alors modifie la requête
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
ATTENTION ! J'utilise des focntions PHP pour faire plus propre
Pense à bien initialiser les variables globales qui commencent par $cfg_ avec tes propres paramètres
Dans le fonction mysql_select_user si ta table ne se nomme pas user alors modifie la requête
<?php $cfg_hostname="localhost"; $cfg_username="root"; $cfg_password=""; $cfg_database="demo"; $mysql_link=null; function mysql_connecter() { global $cfg_hostname,$cfg_username,$cfg_password,$mysql_link,$cfg_database; if (!$mysql_link) { $link = mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Impossible de se connecter au serveur MySql : ".$cfg_hostname." !"); mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base de données : ".$cfg_database." !"); $mysql_link = $link; } return $mysql_link; } function mysql_select_user($nom_user, $password) { $result = 0; if(!empty($nom_user) && !empty($password)) { $link = mysql_connecter(); $query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'"; $result = @mysql_query($query); if (!$result) { echo "query = ".$query."\n"; echo "mysql_errno = ".mysql_errno($link)."\n"; echo "mysql_error = ".mysql_error($link)."\n"; exit; } } return $result; } ?> <html> <head> </head> <body> <?php $nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null; $password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null; if(!empty($nom_user) && !empty($password)) { $result = mysql_select_user($nom_user,$password); if (mysql_num_rows($result)==0) { echo "Vous n'avez pas été reconnu ! Vérifiez vos identifiants ..."; } else { $row = mysql_fetch_array($result); echo "Bienvenue ".$row["nom_user"]." votre id dans la table user est ".$row["id_user"]; } } else { if (isset($_POST['nom_user']) || isset($_POST['password'])) { echo "Vous devez renseigner votre nom d'utilisateur et votre mot de passe pour vous connectez !"; } } ?> <form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post"> Username <input type="text" id="nom_user" name="nom_user" value=""></br> Password <input type="text" id="password" name="password" value=""> <input type="submit" value"Valider" > </form> </body> </html>--
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
C bon sa fonctionne sa se connecte correctement a la BDD, merci.
Une dernière question et je pense que mon pb sera resolu c'est une fois que notre identifiant est exacte ainsi que notre mot de passe comment renvoyer sur la page d'acceuil? et si quelqu'un pouvai m'expliquer cette histoire de cookies et session... SVP
Une dernière question et je pense que mon pb sera resolu c'est une fois que notre identifiant est exacte ainsi que notre mot de passe comment renvoyer sur la page d'acceuil? et si quelqu'un pouvai m'expliquer cette histoire de cookies et session... SVP
Décidemment !
ATTENTION :
Modifie $url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/php/login/page_securisee.php";
dans le code et remplace la partie /php/login par ton propre chemin d'accès à ta page.
Ca peut donner $url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/mon_chemin/page_securisee.php";
Ensuite enregistre ce qui suis dans une page que tu nommes page_securisee.php
<?php session_start(); session_unset(); $cfg_hostname="localhost"; $cfg_username="root"; $cfg_password=""; $cfg_database="demo"; $mysql_link=null; function mysql_connecter() { global $cfg_hostname,$cfg_username,$cfg_password,$mysql_link,$cfg_database; if (!$mysql_link) { $link = mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Impossible de se connecter au serveur MySql : ".$cfg_hostname." !"); mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base de données : ".$cfg_database." !"); $mysql_link = $link; } return $mysql_link; } function mysql_select_user($nom_user, $password) { $result = 0; if(!empty($nom_user) && !empty($password)) { $link = mysql_connecter(); $query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'"; $result = @mysql_query($query); if (!$result) { echo "query = ".$query."\n"; echo "mysql_errno = ".mysql_errno($link)."\n"; echo "mysql_error = ".mysql_error($link)."\n"; exit; } } return $result; } function controle_access($nom_user, $password,$url_absolue) { $result = mysql_select_user($nom_user,$password); if (mysql_num_rows($result)==0) { return false; } else { $_SESSION["nom_user"] = $nom_user; $_SESSION["password"] = $password; header("Location: ".$url_absolue); exit; } } ?> <?php $nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null; $password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null; if(!empty($nom_user) && !empty($password)) { // L'url fournit doit être absolue $url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/php/login/page_securisee.php"; //$url = "https://www.google.fr/?gws_rd=ssl"; $result = controle_access($nom_user,$password,$url_absolue); if (!$result) { echo "Vous n'avez pas été reconnu ! Vérifiez vos identifiants ..."; } } ?> <html> <head> </head> <body> <?php if (isset($_POST['nom_user']) || isset($_POST['password'])) { echo "Vous devez renseigner votre nom d'utilisateur et votre mot de passe pour vous connectez !"; } ?> <form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post"> Username <input type="text" id="nom_user" name="nom_user" value=""></br> Password <input type="text" id="password" name="password" value=""> <input type="submit" value"Valider" > </form> </body> </html>
ATTENTION :
Modifie $url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/php/login/page_securisee.php";
dans le code et remplace la partie /php/login par ton propre chemin d'accès à ta page.
Ca peut donner $url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/mon_chemin/page_securisee.php";
Ensuite enregistre ce qui suis dans une page que tu nommes page_securisee.php
<?php session_start(); if (!isset($_SESSION["nom_user"])) { header("HTTP/1.0 403 Forbidden"); exit; } ?> <html> <head> <title>Page sécurisée réservée aux personnes identifiées</title> <script language="JavaScript"> <!-- //--> </script> </head> <body> Bonjour : <? echo $_SESSION["nom_user"];?> <p>Vous êtes sur la page sécurisée réservée aux seuls membres dûments identifiés !</p> </body> </html>
J'obtien un message d'erreur :
Warning: session_start() [function.session-start]: open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_70af49a584a9d5201db78dad6e315576, O_RDWR) failed: No such file or directory (2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 10
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:9) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 10
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:9) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 10
Warning: Unknown(): open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_70af49a584a9d5201db78dad6e315576, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/103/sda/0/3/cekciwebmaster/sessions) in Unknown on line 0
voila mon code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Accès securisé pour Site Comité d'entreprise KCI Medical</title>
</head>
<body>
<?php
session_start();
session_unset();
$cfg_hostname="localhost";
$cfg_username="root";
$cfg_password="";
$cfg_database="";
$mysql_link=null;
function mysql_connecter()
{
global $cfg_hostname,$cfg_username,$cfg_password,$mysql_link,$cfg_database;
if (!$mysql_link)
{
$link = mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Impossible de se connecter au serveur MySql : ".$cfg_hostname." !");
mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base de données : ".$cfg_database." !");
$mysql_link = $link;
}
return $mysql_link;
}
function mysql_select_user($nom_user, $password)
{
$result = 0;
if(!empty($nom_user) && !empty($password))
{
$link = mysql_connecter();
$query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'";
$result = @mysql_query($query);
if (!$result)
{
echo "query = ".$query."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}
}
return $result;
}
function controle_access($nom_user, $password,$url_absolue)
{
$result = mysql_select_user($nom_user,$password);
if (mysql_num_rows($result)==0)
{
return false;
}
else
{
$_SESSION["nom_user"] = $nom_user;
$_SESSION["password"] = $password;
header("Location: ".$url_absolue);
exit;
}
}
?>
<?php
$nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null;
$password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null;
if(!empty($nom_user) && !empty($password))
{
// L'url fournit doit être absolue
$url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/acceuil.php";
//$url = "https://www.google.fr/?gws_rd=ssl";
$result = controle_access($nom_user,$password,$url_absolue);
if (!$result)
{
echo "Vous n'avez pas été reconnu ! Vérifiez vos identifiants ...";
}
}
?>
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['nom_user']) || isset($_POST['password']))
{
echo "Vous devez renseigner votre nom d'utilisateur et votre mot de passe pour vous connectez !";
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
Username <input type="text" id="nom_user" name="nom_user" value=""></br>
Password <input type="text" id="password" name="password" value="">
<input type="submit" value"Valider" >
</form>
</body>
</html>
</body>
</html>
Warning: session_start() [function.session-start]: open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_70af49a584a9d5201db78dad6e315576, O_RDWR) failed: No such file or directory (2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 10
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:9) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 10
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:9) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 10
Warning: Unknown(): open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_70af49a584a9d5201db78dad6e315576, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/103/sda/0/3/cekciwebmaster/sessions) in Unknown on line 0
voila mon code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Accès securisé pour Site Comité d'entreprise KCI Medical</title>
</head>
<body>
<?php
session_start();
session_unset();
$cfg_hostname="localhost";
$cfg_username="root";
$cfg_password="";
$cfg_database="";
$mysql_link=null;
function mysql_connecter()
{
global $cfg_hostname,$cfg_username,$cfg_password,$mysql_link,$cfg_database;
if (!$mysql_link)
{
$link = mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Impossible de se connecter au serveur MySql : ".$cfg_hostname." !");
mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base de données : ".$cfg_database." !");
$mysql_link = $link;
}
return $mysql_link;
}
function mysql_select_user($nom_user, $password)
{
$result = 0;
if(!empty($nom_user) && !empty($password))
{
$link = mysql_connecter();
$query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'";
$result = @mysql_query($query);
if (!$result)
{
echo "query = ".$query."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}
}
return $result;
}
function controle_access($nom_user, $password,$url_absolue)
{
$result = mysql_select_user($nom_user,$password);
if (mysql_num_rows($result)==0)
{
return false;
}
else
{
$_SESSION["nom_user"] = $nom_user;
$_SESSION["password"] = $password;
header("Location: ".$url_absolue);
exit;
}
}
?>
<?php
$nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null;
$password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null;
if(!empty($nom_user) && !empty($password))
{
// L'url fournit doit être absolue
$url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/acceuil.php";
//$url = "https://www.google.fr/?gws_rd=ssl";
$result = controle_access($nom_user,$password,$url_absolue);
if (!$result)
{
echo "Vous n'avez pas été reconnu ! Vérifiez vos identifiants ...";
}
}
?>
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['nom_user']) || isset($_POST['password']))
{
echo "Vous devez renseigner votre nom d'utilisateur et votre mot de passe pour vous connectez !";
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
Username <input type="text" id="nom_user" name="nom_user" value=""></br>
Password <input type="text" id="password" name="password" value="">
<input type="submit" value"Valider" >
</form>
</body>
</html>
</body>
</html>
Oui c'est normal !
Déplace cette partie du code php depuis
<?php
session_start();
session_unset();
jusqu'à
$_SESSION["nom_user"] = $nom_user;
$_SESSION["password"] = $password;
header("Location: ".$url_absolue);
exit;
}
}
?>
Et place le au tout début du ficher avant
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Déplace cette partie du code php depuis
<?php
session_start();
session_unset();
jusqu'à
$_SESSION["nom_user"] = $nom_user;
$_SESSION["password"] = $password;
header("Location: ".$url_absolue);
exit;
}
}
?>
Et place le au tout début du ficher avant
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
J'ai effectuer le changement mais j'obtien toujours les mêmes messages:
Warning: session_start() [function.session-start]: open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_fd8e977563b0cce16c952e185a9ec24b, O_RDWR) failed: No such file or directory (2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 2
Warning: Unknown(): open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_fd8e977563b0cce16c952e185a9ec24b, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/103/sda/0/3/cekciwebmaster/sessions) in Unknown on line 0
voila les codes:
<?php
session_start();
session_unset();
$cfg_hostname="localhost";
$cfg_username="root";
$cfg_password="";
$cfg_database="";
$mysql_link=null;
function mysql_connecter()
{
global $cfg_hostname,$cfg_username,$cfg_password,$mysql_link,$cfg_database;
if (!$mysql_link)
{
$link = mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Impossible de se connecter au serveur MySql : ".$cfg_hostname." !");
mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base de données : ".$cfg_database." !");
$mysql_link = $link;
}
return $mysql_link;
}
function mysql_select_user($nom_user, $password)
{
$result = 0;
if(!empty($nom_user) && !empty($password))
{
$link = mysql_connecter();
$query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'";
$result = @mysql_query($query);
if (!$result)
{
echo "query = ".$query."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}
}
return $result;
}
function controle_access($nom_user, $password,$url_absolue)
{
$result = mysql_select_user($nom_user,$password);
if (mysql_num_rows($result)==0)
{
return false;
}
else
{
$_SESSION["nom_user"] = $nom_user;
$_SESSION["password"] = $password;
header("Location: ".$url_absolue);
exit;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Accès securisé pour Site Comité d'entreprise KCI Medical</title>
</head>
<body>
<?php
$nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null;
$password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null;
if(!empty($nom_user) && !empty($password))
{
// L'url fournit doit être absolue
$url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/espace_membre/acceuil.php";
//$url = "https://www.google.fr/?gws_rd=ssl";
$result = controle_access($nom_user,$password,$url_absolue);
if (!$result)
{
echo "Vous n'avez pas été reconnu ! Vérifiez vos identifiants ...";
}
}
?>
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['nom_user']) || isset($_POST['password']))
{
echo "Vous devez renseigner votre nom d'utilisateur et votre mot de passe pour vous connectez !";
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
Username <input type="text" id="nom_user" name="nom_user" value=""></br>
Password <input type="text" id="password" name="password" value="">
<input type="submit" value"Valider" >
</form>
</body>
</html>
</body>
</html>
Warning: session_start() [function.session-start]: open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_fd8e977563b0cce16c952e185a9ec24b, O_RDWR) failed: No such file or directory (2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/103/sda/0/3/cekciwebmaster/index_final.php:2) in /mnt/103/sda/0/3/cekciwebmaster/index_final.php on line 2
Warning: Unknown(): open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_fd8e977563b0cce16c952e185a9ec24b, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/103/sda/0/3/cekciwebmaster/sessions) in Unknown on line 0
voila les codes:
<?php
session_start();
session_unset();
$cfg_hostname="localhost";
$cfg_username="root";
$cfg_password="";
$cfg_database="";
$mysql_link=null;
function mysql_connecter()
{
global $cfg_hostname,$cfg_username,$cfg_password,$mysql_link,$cfg_database;
if (!$mysql_link)
{
$link = mysql_connect($cfg_hostname, $cfg_username, $cfg_password) or die("Impossible de se connecter au serveur MySql : ".$cfg_hostname." !");
mysql_select_db($cfg_database,$link) or die("Impossible de sélectionner la base de données : ".$cfg_database." !");
$mysql_link = $link;
}
return $mysql_link;
}
function mysql_select_user($nom_user, $password)
{
$result = 0;
if(!empty($nom_user) && !empty($password))
{
$link = mysql_connecter();
$query="SELECT * FROM `user` WHERE `nom_user` = '".$nom_user."' and `password` = '".$password."'";
$result = @mysql_query($query);
if (!$result)
{
echo "query = ".$query."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}
}
return $result;
}
function controle_access($nom_user, $password,$url_absolue)
{
$result = mysql_select_user($nom_user,$password);
if (mysql_num_rows($result)==0)
{
return false;
}
else
{
$_SESSION["nom_user"] = $nom_user;
$_SESSION["password"] = $password;
header("Location: ".$url_absolue);
exit;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Accès securisé pour Site Comité d'entreprise KCI Medical</title>
</head>
<body>
<?php
$nom_user = isset($_POST['nom_user']) ? addslashes(htmlspecialchars($_POST['nom_user'])) : null;
$password = isset($_POST['password']) ? addslashes(htmlspecialchars($_POST['password'])) : null;
if(!empty($nom_user) && !empty($password))
{
// L'url fournit doit être absolue
$url_absolue = "[http://]".$_SERVER['HTTP_HOST']."/espace_membre/acceuil.php";
//$url = "https://www.google.fr/?gws_rd=ssl";
$result = controle_access($nom_user,$password,$url_absolue);
if (!$result)
{
echo "Vous n'avez pas été reconnu ! Vérifiez vos identifiants ...";
}
}
?>
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['nom_user']) || isset($_POST['password']))
{
echo "Vous devez renseigner votre nom d'utilisateur et votre mot de passe pour vous connectez !";
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
Username <input type="text" id="nom_user" name="nom_user" value=""></br>
Password <input type="text" id="password" name="password" value="">
<input type="submit" value"Valider" >
</form>
</body>
</html>
</body>
</html>
Tu testes où exactement ?
Sur un PC local ? Sur Internet ?
Tu utilises Windows ou Linux ?
Ferme ton navigateur relance le puis
teste juste ceci
<?php
session_start();
?>
Sur un PC local ? Sur Internet ?
Tu utilises Windows ou Linux ?
Ferme ton navigateur relance le puis
teste juste ceci
<?php
session_start();
?>
Je test sur internet directement sur le serveur les pages st heberger chez free et je sui sous windows XP pro Pack SP2.
et voila le résultat du test:
Warning: session_start() [function.session-start]: open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_b81f36192efc63b9d491ba0a61e6ec2d, O_RDWR) failed: No such file or directory (2) in /mnt/103/sda/0/3/cekciwebmaster/test.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/103/sda/0/3/cekciwebmaster/test.php:2) in /mnt/103/sda/0/3/cekciwebmaster/test.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/103/sda/0/3/cekciwebmaster/test.php:2) in /mnt/103/sda/0/3/cekciwebmaster/test.php on line 2
Warning: Unknown(): open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_b81f36192efc63b9d491ba0a61e6ec2d, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/103/sda/0/3/cekciwebmaster/sessions) in Unknown on line 0
voila le code:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
</body>
</html>
et voila le résultat du test:
Warning: session_start() [function.session-start]: open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_b81f36192efc63b9d491ba0a61e6ec2d, O_RDWR) failed: No such file or directory (2) in /mnt/103/sda/0/3/cekciwebmaster/test.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/103/sda/0/3/cekciwebmaster/test.php:2) in /mnt/103/sda/0/3/cekciwebmaster/test.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/103/sda/0/3/cekciwebmaster/test.php:2) in /mnt/103/sda/0/3/cekciwebmaster/test.php on line 2
Warning: Unknown(): open(/mnt/103/sda/0/3/cekciwebmaster/sessions/sess_b81f36192efc63b9d491ba0a61e6ec2d, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/103/sda/0/3/cekciwebmaster/sessions) in Unknown on line 0
voila le code:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
</body>
</html>
Alors ca viendt de chez Free
Essai le code suivant
<?php
phpinfo();
?>
Et lance le sur le serveur Free ca va te donner la config de php
Regarde si les sessions sont activées
Essai le code suivant
<?php
phpinfo();
?>
Et lance le sur le serveur Free ca va te donner la config de php
Regarde si les sessions sont activées
voila la config de free:
Session Support enabled
Registered save handlers files user
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /mnt/103/sda/0/3/root/sessions /cache/sessions
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
Session Support enabled
Registered save handlers files user
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /mnt/103/sda/0/3/root/sessions /cache/sessions
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off