Un débutant bloqué en php/mysql / formulaire.
Résolu
Ahara
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
ou bonsoir vu l'heure..
Je débute en création de sites web, et je suis dace un n-ième probleme .. mais celui ci me pose de gros problèmes, puisqu'en 3h de recherche..je n'ai toujours pas avancé..
Voila ce que je souhaite:
Que lorsqu'un utilisateur remplis les deux champs : nom / mot de passe de mon formulaire,
la base de donnée renvoie, si correspondance de ces deux contraintes avec une ligne de ma table, les données personnelles de la personne.
Voici mon essai de code ( j'ai pompé un peu partout des idées.. ca peut vous paraitre des mal codé :s)
Pour aider un peu vu le manque de commentaire.
ma bdd = site
ma table : client_compte
la j'ai essaye de commencer par au moins afficher 1 truc..soit l'attribut : id_compte
Mais lorsque je fais "envoyer" sur ma page, rien ne change, elle reagit simplement comme si elle s'actualiser..
Je suis vraiment a mes débuts.. 1semaine de code pour le moment..
J'espere que vous pourrez m'aider :)
Merci
ou bonsoir vu l'heure..
Je débute en création de sites web, et je suis dace un n-ième probleme .. mais celui ci me pose de gros problèmes, puisqu'en 3h de recherche..je n'ai toujours pas avancé..
Voila ce que je souhaite:
Que lorsqu'un utilisateur remplis les deux champs : nom / mot de passe de mon formulaire,
la base de donnée renvoie, si correspondance de ces deux contraintes avec une ligne de ma table, les données personnelles de la personne.
Voici mon essai de code ( j'ai pompé un peu partout des idées.. ca peut vous paraitre des mal codé :s)
<article> <center> <form method="post" action ="page7.php"> <FONT size="7"> Connexion </FONT> <p></br></br></br></br></br> <label for="Nom"> Votre nom:</label> <input type="text" name="nom_compte" id="Nom" placeholder="Ex: Durand"/><br/> </br></br> <label for="Mot_de_passe"> Votre mot de passe:</label> <input type="text" name="mdp_compte" id="Mot_de_passe" placeholder="Ex: ******"/><br/> </br></br> <input type="submit" name="Envoyer" value="Envoyer"/> </p> </form> <?php $base = mysql_connect('localhost','root',''); mysql_select_db("site",$base); $login = $_POST['nom_compte']; $pass = $_POST['mdp_compte']; if (isset($_POST['Valider'])) { $sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$_POST['nom_compte'].'" AND mdp_compte = "'.$_POST['mdp_compte'].'")'; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result ($req); mysql_close (); echo .$data['id_compte']; } </center> </article>
Pour aider un peu vu le manque de commentaire.
ma bdd = site
ma table : client_compte
la j'ai essaye de commencer par au moins afficher 1 truc..soit l'attribut : id_compte
Mais lorsque je fais "envoyer" sur ma page, rien ne change, elle reagit simplement comme si elle s'actualiser..
Je suis vraiment a mes débuts.. 1semaine de code pour le moment..
J'espere que vous pourrez m'aider :)
Merci
A voir également:
- Un débutant bloqué en php/mysql / formulaire.
- Whatsapp formulaire opposition - Guide
- Code puk bloqué - Guide
- Formulaire de réclamation facebook - Guide
- Téléphone bloqué code verrouillage - Guide
- Pavé tactile bloqué - Guide
7 réponses
Bonjour,
l'élément <article> c'est du HTML5. Et en HTML5 on n'utilise plus <CENTER>. Correction:
<article style='width: 100%; text-align-center;'>
Ensuite, pour vous simplifier la vie, faites deux scripts distincts:
- un pour la page d'identification
- un pour la page de test d'identification
Eviter d'appeler vos scripts page7 ou n'importe quoi d'autre peu parlant.
Un script porte un nom explicite: testIdentification.php c'est mieux que page7.php
l'élément <article> c'est du HTML5. Et en HTML5 on n'utilise plus <CENTER>. Correction:
<article style='width: 100%; text-align-center;'>
Ensuite, pour vous simplifier la vie, faites deux scripts distincts:
- un pour la page d'identification
- un pour la page de test d'identification
Eviter d'appeler vos scripts page7 ou n'importe quoi d'autre peu parlant.
Un script porte un nom explicite: testIdentification.php c'est mieux que page7.php
echo .$data['id_compte'];
=> Que fait ce "." ici ?
=> $data contient-il les infos attendues ? ( var_dump( $data ); )
-------------------
$login = $_POST['nom_compte'];
$pass = $_POST['mdp_compte'];
if (isset($_POST['Valider']))
{
$sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$_POST['nom_compte'].'" AND mdp_compte = "'.$_POST['mdp_compte'].'")';
=> Suggestion : les variables $login et $pass ont été créées, autant les utiliser
=> $sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$login.'" AND mdp_compte = "'.$pass.'")';
=> Que fait ce "." ici ?
=> $data contient-il les infos attendues ? ( var_dump( $data ); )
-------------------
$login = $_POST['nom_compte'];
$pass = $_POST['mdp_compte'];
if (isset($_POST['Valider']))
{
$sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$_POST['nom_compte'].'" AND mdp_compte = "'.$_POST['mdp_compte'].'")';
=> Suggestion : les variables $login et $pass ont été créées, autant les utiliser
=> $sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$login.'" AND mdp_compte = "'.$pass.'")';
le "." vient du fait que nous sommes deux a travailler la dessus et que mon partenaire de projet est sous coda.
Vous avez raison, la fonction data est bel est bien vide.
Maintenant, j'ai mis :
la j'ai en retour : "S" .. je dois donc avoir un probleme de variable .. malgré que j'ai un retour, enfin !! +10 pour votre réponse :)
Vous avez raison, la fonction data est bel est bien vide.
Maintenant, j'ai mis :
<?php $base = mysql_connect('localhost','root',''); mysql_select_db("site",$base); $login = $_POST['nom_compte']; $pass = $_POST['mdp_compte']; if (isset($_POST['Envoyer'])) { $sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$_POST['nom_compte'].'" AND mdp_compte = "'.$_POST['mdp_compte'].'")'; echo $sql['id_compte']; } else { echo 'probleme'; } ?>
la j'ai en retour : "S" .. je dois donc avoir un probleme de variable .. malgré que j'ai un retour, enfin !! +10 pour votre réponse :)
je pense avoir trouvé :)
bien sur entre balise php.
J'ai l'affichage souhaité !!
Merci A.Nonymous !
$base = mysql_connect('localhost','root',''); mysql_select_db("site",$base); $login = $_POST['nom_compte']; $pass = $_POST['mdp_compte']; if (isset($_POST['Envoyer'])) { $sql = 'SELECT * FROM compte_client WHERE (nom_compte = "'.$_POST['nom_compte'].'" AND mdp_compte = "'.$_POST['mdp_compte'].'")'; $requete = mysql_query($sql); $result = mysql_fetch_array( $requete ); echo $result['nom_compte']; }
bien sur entre balise php.
J'ai l'affichage souhaité !!
Merci A.Nonymous !
Le test suivant ne peut réussir :
if (isset($_POST['Valider']))
Pour s'en convaincre :
if(!empty($_POST))
{
var_dump( $_POST );
}
Ne serait-ce pas
if (isset($_POST['Envoyer']))
?
if (isset($_POST['Valider']))
Pour s'en convaincre :
if(!empty($_POST))
{
var_dump( $_POST );
}
Ne serait-ce pas
if (isset($_POST['Envoyer']))
?
Hum.. En effet c'est bien possible.
Si seulement je savais exactement quoi mettre dans ces '..'
Je vais essayer des que possible, car j'ai besoin d'un peu de sommeil.
Merci A.Nonymous ( sympa le pseudo :))
J'ai déjà modifié le fait que dans form, ça envoyait sur la page7.php..
Qui est en fait cette même page.
J'ai créé une page formulaire.php et j'envoie vers celle ci lors du click que valider(ou envoyer).
Seulement je suis toujours en quête du code php me liant à ma base en fonction des valeurs des variables :(
Si seulement je savais exactement quoi mettre dans ces '..'
Je vais essayer des que possible, car j'ai besoin d'un peu de sommeil.
Merci A.Nonymous ( sympa le pseudo :))
J'ai déjà modifié le fait que dans form, ça envoyait sur la page7.php..
Qui est en fait cette même page.
J'ai créé une page formulaire.php et j'envoie vers celle ci lors du click que valider(ou envoyer).
Seulement je suis toujours en quête du code php me liant à ma base en fonction des valeurs des variables :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord, merci des conseils :)
Mais , center fonctionne quand meme, alors pourquoi faire plus long?
le probleme est justement , quel code dois je mettre dans ma page de test d'identification, pour que les variables saisies par l'utilisateur, soit comparée a celles de la db ..
Mais , center fonctionne quand meme, alors pourquoi faire plus long?
le probleme est justement , quel code dois je mettre dans ma page de test d'identification, pour que les variables saisies par l'utilisateur, soit comparée a celles de la db ..
bonjour,
CENTER est obsolète, de même que FONT
Les règles en matière de HTML5 c'est de ne plus utiliser des éléments qui agissent directement sur la mise en forme du contenu. Vous devez privilégier la présentation en css.
Par exemple, si votre site évolue et que vous deviez y intégrer jQuery, il est préférable de récupérer des éléments via le CSS associé aux éléments. Utiliser CENTER par exemple, c'est contraindre votre code HTML à conserver cette mise en forme qui ne pourra pas être modifiée par jQUERY.
A+
CENTER est obsolète, de même que FONT
Les règles en matière de HTML5 c'est de ne plus utiliser des éléments qui agissent directement sur la mise en forme du contenu. Vous devez privilégier la présentation en css.
Par exemple, si votre site évolue et que vous deviez y intégrer jQuery, il est préférable de récupérer des éléments via le CSS associé aux éléments. Utiliser CENTER par exemple, c'est contraindre votre code HTML à conserver cette mise en forme qui ne pourra pas être modifiée par jQUERY.
A+