IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Édition de profil


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut Édition de profil
    Voilà mon problème j'ai réussi à mettre en place une zone d'identification pour l'utilisateur dont voici les codes:
    Ici le premier code pour s'identifier avec envoie des données à un page php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <form method="POST" action="verif.php" >
    <div id="identification">
    <div>
    <label for="pseudo">Pseudo:</label>
    <input type="text"  name="pseudo" /><BR/>
    </div>
    <div>
    <label for="passe">Mot de Passe:</label>
    <input type="password"  name="passe" /><BR/>
    </div>
    <p>
    <input type="submit" value="Envoyer" />
    </p>
    </div>
    Ici le code où l'on vérifie les données et on affiche le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <?php    
    session_start();
    if (isset($_POST['pseudo'])&& isset($_POST['passe']))
    {
    $pseudo=$_POST['pseudo'];
    $passe=$_POST['passe'];
    require("secu.php");
    if(verification($pseudo,$passe))
    {
    session_regenerate_id();
    $_SESSION['pseudo']=$pseudo;
    $message='Vous êtes correctement identifié';
    }
    else
    {
    $message='Mauvais mot de passe ou login <a href="identification.php">retour</a>';
    }
    }
    else
    {
    $message='Le login ou le mot de passe est vide';
    $message .='<a href="identification.php">retour</a><br />';
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Site de L'IUT d'Informatique</title>
    <meta http-equiv="Content-Type" content="application/xhtml+xml;charset=UTF-8" />
    <link rel="stylesheet" media="screen" type="text/css" title="Fond" href="design.css" />
    </head>
    <body>
    <p>
    <?php 
    include("logo.php");
    include("menu.php");
    ?>
    <?php
    echo "<span id=\"message\">$message Sinon inscrivez vous <a href=\"inscription.xhtml\">ici</a></span>";
    ?>
    </p>
    </body>
    </html>
    Enfin ici le code où l'on se connecte à la base de données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    function verification($pseudo,$passe)
    {
    mysql_connect("localhost", "", "");
    mysql_select_db("site");
    $sql="SELECT COUNT(*)as nbres FROM inscritption WHERE pseudo=$pseudo AND passe=$passe";
    $result=mysql_query($sql);
    $result=null;
    if($result['nbres']==1)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    ?>
    Première question est-ce qu'on peut envoyer les données saisies dans mon premier script à plusieurs pages(ce qui m'arrangerai)?
    Deuxième question dans mon profil que j'ai commencé ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?php
    mysql_connect("localhost", "", "");
    mysql_select_db("site");
    $nom="SELECT nom FROM inscription WHERE nom='$_REQUEST['nom']'
            IN (SELECT pseudo FROM inscription WHERE pseudo='$_REQUEST['pseudo']')";
    echo "$nom";
     
    $prenom="SELECT prenom FROM inscription WHERE prenom='$_REQUEST['prenom']'
            IN (SELECT pseudo FROM inscription WHERE pseudo='$_REQUEST['pseudo']')";
    echo "$prenom";
     
    $pseudo="SELECT pseudo FROM inscription WHERE pseudo='$_REQUEST['pseudo']'";
    echo "$pseudo";
     
    $email="SELECT email FROM inscription WHERE email='$_REQUEST['email']'";
    echo "$email";
     
    $age="SELECT age FROM inscription WHERE age='$_REQUEST['age']'
            IN (SELECT pseudo FROM inscription WHERE pseudo='$_REQUEST['pseudo']')";
    echo "$age";
     
    mysqlclose();
    ?>
    Est-ce qu'à chaque fois je suis obligé de faire une requête imbriquée pour nom,prénom,age,commentaire(que je n'est pas encore mis)
    Dernière questionest-ce qu'il ne serait pas plus pratique d'ouvrir une session comme j'ai fais dans mon deuxième script et donc de récupérer les données à partir de la session ouverte?

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Bonjour,

    Etant pressée, je n'ai pas tout lu cependant...

    Je te conseille chaleureusement l'usage des sessions PHP au vu de ce que tu cherches à faire.

    Tu pourras ainsi partager différentes valeurs entre les pages de ton site tant que la session sera viable et il te suffira de tester si la personne est loguée ou non à chaque début de page pour le laisser voir cette page ou le rediriger vers une demande de connexion.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  3. #3
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    C'est bien ce que je pensais il suffit que mette un script au niveau de toutes les pages où j'en ai besoin par exemple dans le forum ou mon profil où je vérifie si l'utilisateur est logué ou non. Si ce n'est pas le cas je le redirige vers la page d'identification. Je pense qu'un truc dans ce genre devrais fonctionner.
    Effectivement j'utilise déjà les sessions. Donc la solution proposée est la bonne.

  4. #4
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    Je crois que j'ai trouvé le script idéale. Le voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    session_start();
    if( !isset($_SESSION['pseudo'])
    header('Location: identification.php');
    exit();
    ?>
    Voilà j'intègre sa dans ma page profil vu que je sais à qui j'ai à faire(pseudo)
    je peut donc faire mes requêtes sur la base de données sans faire de requêtes imbriquées. Ainsi mes requêtes seront comme celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "SELECT nom FROM inscription WHERE pseudo='$_SESSION['pseudo']'"
    et je peut afficher le nom de l'utilisateur de la session sans me tracasser la tête OUF.
    Le truc c'est que sa me fais une erreur snif

  5. #5
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    En fait il faut créer une page spéciale pour que l'on appelle à l'occasion (exemple on l'appelle connec.php)et dans la page où l'on veut l'appeler on fait include("connec.php")).
    Maintenant mon problème quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom="SELECT nom FROM inscription WHERE pseudo='$_SESSION['pseudo']'";
    Il me dit ceci:
    expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
    et je ne vois pourtant pas d'erreur ou alors je suis bigleux

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom="SELECT nom FROM inscription WHERE pseudo='".$_SESSION["pseudo"]."'";
    et aussi un petite truc ton premier message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $result=mysql_query($sql);
    $result=null;
    if($result['nbres']==1)
    {
    ......
    si tu met à null le résultat une fois ta requête faite ça risque aps de marcher des masses.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  7. #7
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    Merci pour cette réponse qui m'enlève une épine dans le pied mais en plus c'est que normalement je n'oublie pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '".$_SESSION['pseudo']."'
    Bref un oublie malencontreux.
    Pour la remarque j'avoue j'y avais pas pensée.
    Mais le truc maintenant quand je fais ceci avec ma session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    session_start();
    if( !isset( $_SESSION['pseudo'] )
    header('Location: identification.php');
    exit();
    et que je l'appelle dans une autre page en faisant ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include("connec.php");
    Il me dit qu'il y a une erreur pour la redirection, avec mon header.
    J'ai mis des accolades dans tous les coins possibles et imaginables,
    j'ai même mis des guillemets à la places des quotes.
    Y veut rien savoir bizzare ou je divague????

  8. #8
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    J'ai tenté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("location: http://localhost/identification.php");
    qui ne fonctionne pas non plus.

  9. #9
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    puisque tu fais le test en entrant sur ta page...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	if(@$_SESSION['authentification'] <> "oui") /*Test si l'utilisateur c'est identifié*/
    	{
    		require("V_Login.php") /*Appel de la page V_Login.php*/
    		;
    		exit('	
    				<script type="text/javascript">
    					<!--
    						alert("Vous devez vous identifier pour accéder à cette page !");
    					//-->
    				</script>') /*Assure que le code situé en dessous ne sera pas effectué*/
    		;
    	}
    	;
    // code de ta page
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  10. #10
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    C'est peut être bien mais sa m'a fait planter wamp. Je pense qu'il a pas aimé le javascript.
    Mais en plus j'ai regardé ceci pour la redirection et sa ne fonctionne pas non plus(en plus c'est la syntaxe que j'avais indiqué plus haut)

  11. #11
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    Je crois que j'ai réussi tout seul à résoudre le problème.
    Premièrement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    require("verif.php");
    header('HTTP/1.1 404 Not Found');
    header('Location: identification.php');
    exit;
    Ce code ci-dessus doit être mis non pas dans les entêtes (tout en haut mais dans le code de la page elle-même).
    Deuxièmement les header ne supportent pas les if donc sa ne sert à rien de s'acharner.
    Autre chose je ne sais pas si sa va fonctionner quand il y aura vraiment un utilisateur qui va s'inscrire.
    Je met tout de même résolu et merci à tous malgré des petites choses qui me tracassent mais bon...

  12. #12
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Citation Envoyé par lodacom Voir le message
    C'est peut être bien mais sa m'a fait planter wamp. Je pense qu'il a pas aimé le javascript.
    Mais en plus j'ai regardé ceci pour la redirection et sa ne fonctionne pas non plus(en plus c'est la syntaxe que j'avais indiqué plus haut)
    S'il n'aime pas le JavaScript, fais le simplement avec du PHP
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  13. #13
    Membre confirmé
    Homme Profil pro
    PHP + JAVA
    Inscrit en
    Mars 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : PHP + JAVA

    Informations forums :
    Inscription : Mars 2009
    Messages : 65
    Par défaut
    C'est ce que j'ai fais sa à l'air de bien fonctionner (ce que j'ai indiqué dans mon dernier message). Donc sa roule.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/05/2014, 09h10
  2. Réponses: 0
    Dernier message: 06/04/2013, 21h51
  3. [2.x] [FosUserBundle] Édition d'un profil
    Par dyron dans le forum Symfony
    Réponses: 1
    Dernier message: 02/04/2013, 21h29
  4. [2.x] FOSUserBundle édition de profil
    Par Frank_Rook dans le forum Symfony
    Réponses: 1
    Dernier message: 11/01/2012, 11h41
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo