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

Langage PHP Discussion :

[Tableaux] pas de include avec WAMP5


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut [Tableaux] pas de include avec WAMP5
    Bonjour,

    Voila mon probleme :

    Je viens de finir mon site intranet que j'hébergeais en local avec XAMP.
    Donc je vm'en vais l'implanter sur le serveur (qui lui est issue de WAMP5 1.6.1) de l'entreprise et là : surprise.

    Mes script PHP ne fonctionnent pas, enfin en partie.

    Lorsque je lance la page php qui vérifie le mot de passe, celle-ci s'execute parfaitement bien si le mot de passe n'est pas le bon mais sèil est bon, alors je me retrouve avec une page blnche au lieu d'etre redirigé vers la bonne page.
    De meme pour le script qui modifie le mot de passe.

    Voila le script :

    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
    45
    46
    47
    48
    49
    50
    <?php
     
    session_start();
    $mdp = $_POST['edt_password'];
    $log = $_POST['edt_log'];
    $_SESSION['mdp']=$mdp;
    $_SESSION['log']=$log;
     
     
     
    // connection à la base de donnée MySQL et test de la connection avec arrêt si impossibilité de se connecter
    $conn=mysql_connect("**.**.**.**","****","****")
    or die("impossible de se connecter à mysql");
     
    // ou mysqlp_connect(...) qui ouvre une connection persistante
    // mais l'inconvénient est que celle-ci se déconnecte au bout d'un temps d'inactivité
     
    // sélection de la base de donnée que l'on va utiliser
    $database="*****";
    mysql_select_db($database,$conn)
    // Arrêt si la base n'existe pas avec message d'erreur système
    or die("impossible d'ouvrir \"$database\" ".mysql_error());
     
    // requête donnant le niveau d'accès de la personne qui vient de se logguée
    $query="SELECT Niveau_access FROM accessibilite WHERE AES_DECRYPT(mdp,'******')='$mdp' AND Code_alliance='$log'";
    $resultat=mysql_query($query,$conn);
     
    // donne le nombre de ligne de la requête
    $nb_row=mysql_num_rows($resultat);
     
    // Stocke les resultat de la requête dans un tableau
    $a_res=mysql_fetch_row($resultat);
     
    // test s'il y a un résultat dans la requête sinon renvoie vers la page de login avec message d'erreur
    if ($nb_row==1)
     
    // test le niveau d'accès et renvoi vers la page concernant la personne loguée
    {if ($a_res[0]==0 AND isset($edt_password) AND isset($edt_log))
    { mysql_close($conn); //fermeture de la connection à MySQL
    include("*****.php");}
    elseif ($a_res[0]==1 AND isset($edt_password) AND isset($edt_log))
    { mysql_close($conn);
    include("****.php");}}
     
    else
    { mysql_close($conn);
    include("****.html");
    print "<p>MAUVAISE SAISIE</p>";}
     
    ?>
    Et donc j'aimerai etre redirigé vers la bonne page.

  2. #2
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    deja on ne voit pas ou sont définit edt_password et edt_log ...

    ensuite quand tu fais des tests ou tu connais le type de retour faire un test STRICT ... ex :
    $nb_row === 1
    $a_res[0] === 0
    $a_res[0] === 1


    pour finir; pour trouver ton erreur, vire les include et fait un var_dump() de ces valeurs :
    $nb_row
    $a_res[0]
    $edt_password
    $edt_log



    autre chose, puisque dans tous les cas tu coupes la connexion a la BD, pas la peine de reperter 3 fois mysql_close($conn);, fais le directement apres le mysql_fetch_row

    autre chose, si tu n'utilises pas les données de la BD, pas la peine de les sortir de la table, un COUNT aurait suffit ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM accessibilite WHERE AES_DECRYPT(mdp,'******')='$mdp' AND Code_alliance='$log'
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Merci pour les conseils,

    Bon voila ce qui marche :

    le mysql_close ( c'est vrai que j'ai pas beaucoup réfléchi sur ce coup )
    les var_dump, qui me renvoient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int(1) string(1) "0" string(y) "identifiant" string(x) "mot de passe"
    où x et y représente des nombres.

    Et ce qui marche pas :

    le === ne fonctionne pas, il ne me renvoie rien.

    Sinon pour ce qui est de la requête, bien sur que j'ai besoin du niveau_access pour pouvoir etre rediriger vers la bonne page.

    Ah oui et $edt_password et $edt_log son le mot de passe et le nom de logibn envoyé par une page HTML via un formulaire par la methode POST.

    Et donc le probleme persiste toujours.

  4. #4
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Salut ...

    $mdp = $_POST['edt_password'];
    $log = $_POST['edt_log'];
    $_SESSION['mdp']=$mdp;
    $_SESSION['log']=$log;
    Tu stockes $_POST['edt_passw'] et $_POST['edt_log'] dans $mdp et $log ... mais tu utilises ensuite $edt_passw et $edt_log comme des variables globales

    // test le niveau d'accès et renvoi vers la page concernant la personne loguée
    {if ($a_res[0]==0 AND isset($edt_password) AND isset($edt_log))
    { mysql_close($conn); //fermeture de la connection à MySQL
    include("*****.php");}
    elseif ($a_res[0]==1 AND isset($edt_password) AND isset($edt_log))
    D'ou la remarque de Lorenzo77 :
    deja on ne voit pas ou sont définit edt_password et edt_log ...
    Commence par changer ca ...
    Take it HiSy

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Effectivement

    Je suis vraiment se qu'on appelle un boulet.

    Bon voici la nouvelle version

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['mdp']=$_POST['edt_password'];
    $_SESSION['log']=$_POST['edt_log'];
    et ensuite je ne vérifie que $mdp et $log si il existe.

    Merci.

    Mais a part ca pourquoi ca ne marche toujours pas le include des autres pages.

  6. #6
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Ben plutot que de faire un include d'une page ou d'une autre je te conseille de faire une redirection avec un header("Location: ");
    Take it HiSy

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    T'a essayé d'afficher quelque chose avant chaque include histoire de voir s'il rentre bien quelque part ?

    Il me semble que tes accolades sont mal placés

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Bon en fait j'ai trouvé ou était le probleme, mais je ne sais pas pourquoi ca me fait ca.

    Le serveur de la boite n'execute pas la requete.

    Lorsque je fais un echo $a_res[0] cela ne me renvoi rien alors qu'il le devrait.
    D'où le fait que je me retrouve toujours sur la meme page car il va directement au elese etant donné qu'il n'y a pas de ligne de résultat.

    Sinon j'ai vérifié les accolades et tout est bon.

    Aidez moi s'il vous plait.

  9. #9
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Est ce que tu n'aurais pas un probleme avec la majuscule sur le nom de ta table .. ?

    Vue que tu n'entres dans aucune die() je verrais bien un truc comme ca ...

    Sinon fait un print de ta requete et execute la directement dans ton phpMyAdmin ...
    Take it HiSy

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    j'ai vérifier et il n'y a aucune majuscule en trop ou en moins sur le nom de la table.

    De plus j'ai tester la requête dans phpmyadmin et elle marche tres bien.

    Vraiment la je seche.

    Quand une base est en local il faut bien mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $conn=mysql_connect("localhost","****","****")
    or die("impossible de se connecter à mysql");
    ou 127.0.0.1, je ne suis pas fou, ca, ca doit marcher normalement.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Bon en fait ce qu'il ne vas pas c'est que la page precedente ne renvoie pas le mot de passe et le login.

    Donc forcement la requete ne renvoi rien.

    voila le formulaire de la page html.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form name="Form_envoi" action="verif_pers_log.php" method="post">
    <div class='log'>
     
    		<div class='bordbot'><center><font size="5"><b><big>IDENTIFICATION</big></b></font></center></div><br>
    		<font size="4"><b>Identifiant :</b></font><br>
    		<input type="text" name="edt_log" size="20" maxlength="50"><br>
    		<font size="4"><b>Mot de passe :</b></font><br>
    		<input type="password" name="edt_password" size="20" maxlength="50"><br><br><br>
                    <input type="submit" value="VALIDER"></div><br>
    <!-- Lien envoyant vers la page de modification du mot de passe -->
    <a href='modif_mdp.htm'><font size=3>Modifier votre mot de passe ici</font></a>
     
    </form>
    Comment cela se fait-il qu'il ne me renvoie pas le edt_log et edt_password vers la page verif_pers_log.php

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par Alexlesilex
    Sinon j'ai vérifié les accolades et tout est bon.
    Eh bien un else tout seul ne veut rien dire

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Il est pas tout seul le else.

    Il va avec le if ($nb_row==1) {}
    else {}

    enfin voila, sinon pas d'idee de pourquoi ca marche pas l'envoi par methode post.

  14. #14
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par Lorenzo77
    ensuite quand tu fais des tests ou tu connais le type de retour faire un test STRICT ...
    Ca serait pas plutot...

    Citation Envoyé par Lorenzo77
    ensuite quand tu fais des tests ou tu ne connais pas le type de retour faire un test STRICT ...


    Sinon avant tout met error_reporting à E_ALL dans ton php.ini le temps du debugage ou alors met error_reporting(E_ALL); au début de ta page... .. .

    @ tchaOo°

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Euh ...

    J'ai pas tout compris, c'est sensé faire quoi un

    error_reporting(E_ALL); dans ma page php

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    Au fait merci pour le header("location: ")

    Le pire c'est que je l'utilise pour d'autre page

    Mais bon mon probleme n'est toujours pas resolu

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 111
    Points : 62
    Points
    62
    Par défaut
    ca y est j'ai trouver.

    Le serveur WAMP a été forcé pour fonctionner avec PHP4

    D'où les problemes que j'ai rencontré.

    Il me faut retoucher une partie de mon code .

    Enfin bon.

    Et pour le deplacement, j'ai bien regardé tous les forums et il me semblait que celui-ci était le bon.

    Enfin c'est vous les patrons ^^

  18. #18
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Il me semble que tu as un addon pour mettre Wamp sous php5... .. .

    Quand à error_reporting(E_ALL)... bah il suffit de lire la doc... .. .




    @ tchaOo°

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

Discussions similaires

  1. Pas d'affichage avec l'appel des pages par include
    Par jlb59 dans le forum Langage
    Réponses: 4
    Dernier message: 22/05/2011, 13h33
  2. [Tableaux] Problème de syntaxe avec les tableaux et include
    Par L'aigle de Carthage dans le forum Langage
    Réponses: 3
    Dernier message: 12/03/2008, 10h41
  3. [W3C] Un pas en arrière vers les tableaux = plus de compatibilité avec les browsers?
    Par Darwick dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/02/2007, 04h09
  4. Réponses: 10
    Dernier message: 01/10/2006, 19h19
  5. [Tableaux] include avec parametre?
    Par FraktaL dans le forum Langage
    Réponses: 19
    Dernier message: 25/01/2006, 10h15

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