J ai du mal a retrouve mes donnees dans mon db

Résolu/Fermé
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017 - 6 juil. 2017 à 09:58
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017 - 8 juil. 2017 à 23:05
bonjour!
mon probleme est que j au du mal a retrouve mes donnees dans la base de donnees cree alors que j ai deja cree la table aussi et meme du cote code ou formulaire j ai deja connect sa a la base de donne mais lorsque je rempli le formulaire ou lieu qu on puis m affiche les donnees dans mon db on me renvoi sur une autre page avec mes code php qui s affiche brute

4 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 juil. 2017 à 14:49
Bonjour,
Et quelle est l'url qui apparait dans ton navigateur ??
passes tu bien par un serveur ( ou un logiciel comme wamp/xampp/easyphp si tu es en "local" sur ton ordi ??? )

0
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017
Modifié le 6 juil. 2017 à 22:23
1) file:///Applications/MAMP/htdocs/Newproject/tuto.html(ca pour ma page html)
et avec comme code:
<!DOCTYPE HTML>
<html>
<head>
<title>savepage</title>
</head>
<body>
<div id="frm">
<form action="process.php" method="POST">
<P>
<label>name:</label>
<input type="text" id="name" name="name"/>
</P>
<P>
<label>surname:</label>
<input type="text" id="surname" name="surname"/>
</P>
<P>
<input type="submit" id="btn" name="login"/>
</P>
</form>
</div>
</body>
</html>
la page est enregistre avec le syntaxe .html

http://localhost:8888/phpMyAdmin/tbl_structure.php?server=1&db=save&table=details&pos=0&token=bdcf68e540f42689a6af1f89068cab97(ca pour mon DDB)
et voila mes code php
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];

$name = stripcslashes($name);
$surname = stripcslashes($surname);
$name = mysql_real_escape_string($name);
$surname = mysql_real_escape_string($surname);

mysql_connect("localhost","root","");
mysql_select_db("save");

$result = mysql_query("select* from details name='$name' and surname='$surname'")
or die("failed to query database" .msql_error());
$row = mysql_fetch_array($result);
if($row['name'] ==$name) && $row['surname'] == $surname{
echo "login success!! welcome" .$row['name'];
}else{
echo "failed to login";
}
?>
la page est enregistre avec comme syntaxe .php
2) oui j utilise MAMP et oui suis en local
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 juil. 2017 à 22:25
Regarde bien ton url
 file:///Applications/MAMP/htdocs/Newproject/tuto.html(ca pour ma page html

Cela veut dire que tu ouvres ta page directement depuis l'explorateur de fichiers...et non en passant par ton MAMP
Ton URL devrait-être de la forme

http://localhost:8888/Newproject/tuto.html

0
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017
Modifié le 7 juil. 2017 à 23:29
salut oft merci puis que maintenant je peux me connecte en passant par MAMP
mais il ya encore un petit souci puisque le donnes sont toujour pas sauvegarde dans la BDD voila un peut mes code:
la page tuto.html

<!DOCTYPE HTML> 
<html> 
<head> 
<title>savepage</title> 
</head> 
<body> 
<div id="frm"> 
<form action="process.php" method="POST"> 
<P> 
<label>pseudo:</label> 
<input type="text" name="pseudo"/> 
</P> 
<P> 
<label>password:</label> 
<input type="password" name="password"/> 
</P> 
<P> 
<input type="submit" value="envoyer"/>
</P> 
</form> 
</div> 
</body> 
</html> 

mais de que je submit on m affiche une page vide avec comme url(http://localhost:8888/Newproject/process.php)
et le process.php ca comme code:
<?php 
$pseudo= $_POST['pseudo']; 
$password = $_POST['password']; 

$pseudo = stripcslashes($pseudo); 
$password = stripcslashes($password); 
$pseudo = mysql_real_escape_string($pseudo); 
$password = mysql_real_escape_string($password); 

mysql_connect("localhost","root",""); 
mysql_select_db("tuto"); 

$result = mysql_query("select* from tuto pseudo='$pseudo' and password='$password'") 
or die("failed to query database" .msql_error()); 
$row = mysql_fetch_array($result); 
if($row['pseudo'] ==$pseudo) && $row['password'] == $password{ 
echo "login success!! welcome" .$row['pseudo']; 
}else{ 
echo "failed to login"; 
} 
?>


EDIT : Ajout des balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45

votre aide me sera tjr le bienvenu
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
7 juil. 2017 à 23:32
Pour commencer...Attention, l'extension mysql était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

À la place, tu peux (<gras DOIS </gras> ) utiliser l'extension MySQLi ou l'extension PDO_MySQL
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

Si tu choisis PDO, pense à activer la gestion des erreurs : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


Ensuite.... Tu fais, dans ta requête, la recherche du user dont le password et le login sont envoyés dans tes variables POST
"select* from tuto pseudo='$pseudo' and password='$password'"

Il n'est donc pas utile de faire ensuite :
if($row['pseudo'] ==$pseudo) && $row['password'] == $password{ 

Ligne contenant une erreur de toutes façons... puisqu'il te manque une parenthèse fermante....


Pour voir ces erreurs... il faut qu'au début de tes pages PHP tu ajoutes les instructions
<?php //donc juste après la balise d'ouverture de php :
//Affichage des de code  erreurs PHP :
error_reporting(E_ALL);
ini_set('display-errors','on');
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
7 juil. 2017 à 23:35
Autre chose encore.... tu sembles avoir utilisé un password... sans le crypter ... aie....
Penches toi sur la fonction password_verify() : https://www.php.net/manual/fr/function.password-verify.php

Un exemple complet est disponible ici (utilisant le PDO ) : https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
0
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017
Modifié le 8 juil. 2017 à 01:16
la je viens d essaie avec msqli le donnees ne vient tjr pas dans la base de donnees et la page vide continue a s affiche apret avoir subtmit et voila le code en bas


<?php
error_reporting(E_ALL);
ini_set('display-errors','on');
$pseudo= $_POST['pseudo'];
$password = $_POST['password'];

$hote = 'localhost';
$pseudo = 'pseudo';
$password = 'password';
$tuto = 'tuto';
$tuto = new mysqli($hote, $pseudo, $password, $tuto);
if ($tuto->connect_error) {
echo 'Erreur de connexion (' . $tuto->connect_errno . ') ' . $tuto->connect_error;
}

$pseudo = stripcslashes($pseudo);
$password = stripcslashes($password);
$pseudo = mysql_real_escape_string($pseudo);
$password = mysql_real_escape_string($password);

$result = mysql_query("select* from tuto pseudo='$pseudo' and password='$password'")
or die("failed to query database" .msql_error());
$row = mysql_fetch_array($result);
"select* from tuto pseudo='$pseudo' and password='$password'"{
echo "login success!! welcome" .$row['pseudo'];
}else{
echo "failed to login";
}
?>
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié le 9 juil. 2017 à 00:43
91 - NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


2 - Tu avais une erreur dans ta requête

3 - Tu as mélangé du mysqli avec du mysql

4 - Teste ça :

<?php
//-----------------------------------------------------------------//
//Affichage des erreurs PHP
//-----------------------------------------------------------------//
error_reporting(E_ALL);
ini_set('display-errors','on');

//-----------------------------------------------------------------//
//connexion à la bdd
//-----------------------------------------------------------------//
$hote = 'localhost';
$pseudo = 'pseudo';
$password = 'password';
$bdd = 'tuto';
$db = new mysqli($hote, $pseudo, $password, $bdd);
if ($db->connect_error) {
echo 'Erreur de connexion (' . $db->connect_errno . ') ' . $db->connect_error;
}


//-----------------------------------------------------------------//
//récupération PROPRE des variables AVANT de les utiliser
// Pour ça, j'utilise l'écriture TERNAIRE et la fonction !EMPTY
//-----------------------------------------------------------------//
$pseudo= !empty($_POST['pseudo']) ? stripcslashes($_POST['pseudo']) : NULL;
$password = !empty($_POST['password']) ? stripcslashes($_POST['password']) : NULL;


//-----------------------------------------------------------------//
//Traitement
//-----------------------------------------------------------------//
if($pseudo && $password){
  $sql = "SELECT * 
          FROM tuto 
          WHERE pseudo='$pseudo' 
          AND password='$password'";
  
  if (!$result = $db->query($sql)) {
     printf("Erreur : %s\n", $db->error);
  }else{
    $row = $result->fetch_array(MYSQLI_ASSOC);
    echo "login success!! welcome" .$row['pseudo'];
    /* Libération des résultats */
     $result->free();
  }
}else{
  echo "Erreur ! Aucun Pseudo ou Password envoyé !";
  print_r($_POST);
}

/* Fermeture de la connexion */
$db->close();

?>



Cordialement, 
Jordane                                                                 
0
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017
Modifié le 8 juil. 2017 à 23:05
Vraiment grand merci pour votre aide puis que je viens de passe cet etape et ma base de donnees est connect maintenant....merci bcpp
jordane45
0
Miraj-123 Messages postés 8 Date d'inscription jeudi 6 juillet 2017 Statut Membre Dernière intervention 9 juillet 2017
8 juil. 2017 à 23:05
et donc rendez vous au prochain defi lol
0