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 :

Code PHP non exécuté : Problème sur la fonction isset ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut Code PHP non exécuté : Problème sur la fonction isset ?
    Bonsoir,

    je vous explique mon problème: je suis en train de commencer à mettre un site en ligne étape par étape.

    Voici l'index : http://wayofshogun.olympe.in/index.html

    Ici, je suis censé pouvoir m'inscrire. Ce qui marche correctement. Je m'inscris et si le pseudo est libre je suis redirigé sur mon indexMembre (symboliquement vide à l'heure actuelle).

    Si le pseudo est pris, je suis censé retourner sur l'index pour m'inscrire et afficher un message. Je retourne bien sur la page, mais je n'affiche aucun message.


    De plus, à l'inscription, je place un cookie qui devrait me rediriger sur l'indexMembre lorsque je vais sur l'index et que le cookie est présent. Hors, là aussi, rien ne semble se passer.


    Du coup, je me demande si le problème ne vient pas de la fonction isset. Mais tout de même, je trouve cela étrange...


    Bref, voici le code des deux principales pages.


    index.html

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    		<title>index</title>
    		<link rel="stylesheet" type="text/css" href="./style/index.css">
    		<script type="text/javascript">   
     
      			array_personnages = new Array();
      			array_personnages[1] = "Shin";
    			array_personnages[2] = "duke";
    			array_personnages[3] = "Ouki";
    			array_personnages[4] = "Heki";
    			array_personnages[5] = "Kyoukai";
    			array_personnages[6] = "Kanki";
     
    function change_personnage() {
     
     
        id = document.formuInscri.avatar.options[document.formuInscri.avatar.selectedIndex].value;
         if(id=="Shin"){
        	var img = document.getElementById('image');
        	img.setAttribute('src', './images/avatar/shin.jpg');
        }
        if(id=="duke"){
        	var img = document.getElementById('image');
        	img.setAttribute('src', './images/avatar/duke.png');
        }
         if(id=="Ouki"){
        	var img = document.getElementById('image');
        	img.setAttribute('src', './images/avatar/ouki.jpg');
        }
         if(id=="Heki"){
        	var img = document.getElementById('image');
        	img.setAttribute('src', './images/avatar/heki.png');
        }
         if(id=="Kyoukai"){
        	var img = document.getElementById('image');
        	img.setAttribute('src', './images/avatar/kyoukai.png');
        }
         if(id=="Kanki"){
        	var img = document.getElementById('image');
        	img.setAttribute('src', './images/avatar/kanki.jpg');
        }
     
      }
      </script>
    	</head>
     
    	<body>
    		<?php 
        		if(isset($_COOKIE['inscris']))
        		{
        			header('Location: ./traitement/indexMembre.html');
        		}
     
        	?>
    	<div id="all">
    	<div id="head">
    		<a href="./index.html"><img id="banhead" src="./images/baniere/header.PNG"></a>
    		<h1>Way of Shogun</h1>
    	</div>
    		<div id="bodyHeart">
    			<div id="infoIndex">
    				<p>Bienvenue à tous sur Way Of Shogun, autrement dit, la voie pour devenir général ! Si vous aussi vous avez vibré en lisant le manga Kingdom, alors ce rpg saura probablement vous faire vibrer tout autant !<br/><br/>
    					Qu'attendez vous ? Venez créer votre personnage, choisissez un nom et un avatar célèbre du manga qui vous suivra tout au long de votre progression vers le titre de général. Vous commencerez au grade de simple soldat, arriverez vous à être assez fort durant vos campagnes militaires pour gravir les échellons au sein de votre armée ? Cela ne dépend que de vous et des cieux.<br/><br/>
    					Seulement une poignée d'entre vous obtiendront le titre de grand général sous les cieux ! Ferez-vous partie des rares élus ?
    				</p>
    			</div>
    			<div id="inscrip">
    				<h2>Fiche du soldat !</h2>
    				<?php 
    				if(isset($_SESSION['wrongUser']))
        			{
        				echo "Le pseudo ".$_SESSION['wrongUser']." est déjà pris !";
        			}
        			?>
    				<br/><br/>
    					<form name="formuInscri" method="post" action="traitement.php">
    							<label for="pseudo">Votre pseudo</label> : <input type="text" name="pseudo" id="pseudo" required/>
    							<br/><br/>
    							<label for="mail">Votre mail</label> : <input type="text" name="mail" id="mail" required/>
    							<br/><br/>
    							<label for="pass">Votre mot de passe :</label> <input type="password" name="pass" id="pass" required/>
    							<br/><br/>
    							<label for="pays">Pour qui vous battrez-vous ?</label>
          						<select name="pays" id="pays" required>
              						<option value="Qin">Etat de Qin</option>
               						<option value="Zhao">Etat de Zhao</option>
               						<option value="Wei">Etat de Wei</option>
               						<option value="Chu">Etat de Chu</option>
               						<option value="Han">Etat de Han</option>
              						<option value="Yan">Etat de Yan</option>
              						<option value="Qi">Etat de Qi</option>
         						</select>
    							<br/><br/>
    							<label for="avatar">Choisissez votre avatar ?</label>
          						<select name="avatar" onchange="change_personnage()" id="avatar" required>
              						<option value="Shin">Shin</option>
              						<option value="duke">Duke Hyou</option>
              						<option value="Ouki">Ouki</option>
              						<option value="Heki">Heki</option>
              						<option value="Kyoukai">Kyoukai</option>
              						<option value="Kanki">Kanki</option>
    							</select>
    							<br/><br/>
           						<input type="submit" value="S'inscrire" >
    					</form>
     
    					<img id="image" src="./images/avatar/shin.jpg">
     
     
    			</div>
    		</div>
    		<p><span id="kingAuth">Kingdom @2006 Yasuhisa Hara --- </span>
    			<span id="sitAuth">Way Of Shogun @2016 </span>
    		</p>
    	</div>
    	</body>
    </html>

    traitement.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
    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
    51
    52
    53
    54
     
    <?php 
    session_start();
        $log=$_POST['pseudo'];
        $mdp=$_POST['pass'];
        $mail=$_POST['mail'];
        $pays=$_POST['pays'];
        $avat=$_POST['avatar'];
        //connection base
        require_once("./BDD/connect.php"); //inclusion du fichier connect.php     
        $connexion = mysqli_connect(SERVEUR,NOM,PASSE,BASE);
        if(!$connexion) //si erreur
        {
                echo "Désolé, connexion à ".SERVEUR." temporairement impossible !";
                echo "Essayez plus tard !"; 
        }
        //CONNEXION OK
        $requete="select pseudo from Utilisateur "; 
        $resultat=mysqli_query($connexion,$requete);
        while($emp=mysqli_fetch_assoc($resultat))
        {
            if($emp['pseudo']==$log){
                $_SESSION['wrongUser']=$log;
                header('Location: ./../index.html');
                exit(0);
                //si pseudo déjà pris on repart à l'inscription
            }
        }
        if($avat=="Shin"){
           $avat2='http://wayofshogun.olympe.in/images/avatar/shin.jpg';
        }
        if($avat=="duke"){
           $avat2='http://wayofshogun.olympe.in/images/avatar/duke.png';
        }
         if($avat=="Ouki"){
            $avat2='http://wayofshogun.olympe.in/images/avatar/ouki.jpg';
        }
         if($avat=="Heki"){
           $avat2='http://wayofshogun.olympe.in/images/avatar/heki.png';
        }
         if($avat=="Kyoukai"){
            $avat2='http://wayofshogun.olympe.in/images/avatar/kyoukai.png';
        }
         if($avat=="Kanki"){
            $avat2='http://wayofshogun.olympe.in/images/avatar/kanki.jpg';
        }
     
        //on s'inscrit si pseudo libre
        $inscription="insert into Utilisateur(pseudo,mdp,mail,avatar,pays) values 
        ('$log','$mdp','$mail','$avat2','$pays')";
        $resultat=mysqli_query($connexion,$inscription) or die ('Erreur SQL ! <br />'.mysqli_error());
        setcookie('inscris',$log, time() + 365*24*3600, null, null, false, true); 
        header('Location: ./../traitement/indexMembre.html');
    ?>



    Pour résumer le problème, c'est comme si mes deux morceaux de php dans index.html étaient complètement ignorés....quelque chose m'échappe de toute évidence, mais je ne vois pas quoi...

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut Redirection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header('Location: ./../index.html');
    header('Location: ./../traitement/indexMembre.html');
    a moins d'avoir une configuration particulière, si tu utilise une page .html, il s'agit clairement de n'afficher que du contenu html, le php ne peu pas être pris en compte.


    il faudrait donc que tes pages utilisant du php, soit renommées, à savoir index.php et indexMembre.php et toutes tes pages finalement...

    ce qu'il y a après le . ce nomme extensions.

    .html => fichier html
    .php => fichier php
    .doc => fichier word

    etc etc etc


    tu ne peu pas exécuter n'importe quoi, cela dépend de l'extension qui informe le serveur pour lui dire, si c'est en php ou pas.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    Salut,

    merci de ta réponse, je pensais que cela ne posait pas de problème, apparemment j'avais tord =)

    Enfin bref, j'ai renommé mon index.html en index.php.

    A partir de maintenant, lorsque le cookie est présent je suis bien redirigé sur indexMembre; donc ça c'est ok.

    Maintenant, j'ai testé de refaire l'inscription avec un pseudo utilisé, et je n'ai aucune changement par rapport à tout à l'heure, je reste sur l'index ce qui est normal et je n'affiche pas ce que je devrais afficher...à savoir la même page qui rajoute un echo pour signaler que le pseudo est utilisé.

    EDIT: Problème résolu, j'avais simplement oublié que le session_start devait se placer avant le code html !

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

Discussions similaires

  1. [AJAX] Code php non exécuté
    Par supcomingenieur dans le forum jQuery
    Réponses: 6
    Dernier message: 01/07/2014, 15h03
  2. Réponses: 12
    Dernier message: 24/06/2011, 12h39
  3. Réponses: 12
    Dernier message: 09/06/2009, 10h26
  4. [MySQL] exécuter un script php en commande linux : problème sur les fonctions mysql
    Par dr_octopus74 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2007, 16h34
  5. PHP non exécuté sur phppgadmin
    Par symbolyk dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 12/10/2006, 14h32

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