[RESOLU] Chevron en trop, mais où ?

Petit nouveau ! | 8 Messages

23 oct. 2014, 19:56

Bonsoir à tous,

Je suis en train (d'essayer) de développer un test qui, suivant le score obtenu, donne accès ou non à une fonctionnalité de l'appli.
Voici mon code :
<?php

session_start();

//~ if(isset($_POST["submit"])){
	//~ for($i=0;$i>2;$i++){
		//~ if(($_POST["q4"])="r3"){
		//~ $_SESSION["score"]=$_SESSION["score"]+1;
		//~ }
	//~ }
//~ }
//~ 
//~ $l=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
//~ $c=array("0","1","2","3","4","5","6","7","8","9");
//~ 
//~ $cptl=count($l);
//~ $cptc=count($c);
//~ 
//~ $nbl=mt_rand(0,$cptl-1);
//~ $nbc=mt_rand(0,$cptc-1);
//~ 
//~ $randl=$l[$nbl];
//~ $randc=$c[$nbc];
//~ 
//~ $code=$randl.$randc.$randl.$randc.$randl.$randc.$randl.$randc.$randl.$randc;

?>
J'ai commenté cette partie ci-dessus pour pouvoir tester le reste.

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

	<head>
		<meta http-equiv="Content-Type" content="text-html;charset=UTF-8"/>
		<link href="style.css" rel="stylesheet" type="text/css" media="screen"/>
		<title>Replongez dans l'univers de TEST 2.0</title>
	</head>
	
	<body>
		<div id="banniere">TEST 2.0</div>
		
		<div id="conteneur">
			<div id="conttext">
<?php 
					echo "lalala";
					if((isset($_SESSION['score']))&&(($_SESSION['score'])>2)){
						echo "Félicitations ! Vous avez suffisamment de bonnes réponses !";
					} else {
					         echo "Désolé, vous n'avez pas suffisamment de bonnes réponses.";
					}
					echo "lololo";
				?>
C'est cette partie en php ci-dessus qui me pose problème.
<a href="choix.html">Retour à l'accueil</a>
			</div>
		</div>
	</body>
</html>
En effet, j'ai testé de la mettre seule sur une page à part, et elle fonctionne sans problème.
Seulement, quand je teste la page entière, cela m'affiche :


2)){ echo "Félicitations ! Vous avez suffisamment de bonnes réponses !"; } else { echo "Désolé, vous n'avez pas suffisamment de bonnes réponses ."; } echo "lololo"; ?> Retour à l'accueil


Je suppose donc que le problème provient du chevron fermant de cette ligne :
if((isset($_SESSION['score']))&&(($_SESSION['score'])>2)){
J'imagine que cela veut donc dire qu'un chevron quelque part est ouvert et n'a pas été fermé, mais je n'arrive pas à le voir...
Ou le problème vient-il d'ailleurs ?

Merci de votre aide !

Anaïs

ViPHP
xTG
ViPHP | 7331 Messages

23 oct. 2014, 20:43

Non cela signifie que le code PHP n'est pas interprété.
Soit c'est parce que le fichier ne porte pas une extension interprétée par le serveur (utiliser du .php est le plus sûr).
Soit parce que tu n'exécutes pas le script sur un serveur : en local il faut utiliser l'url du serveur local - généralement http://localhost - pour exécuter les scripts et non le chemin vers le fichier en partant du disque dur.

Petit nouveau ! | 8 Messages

23 oct. 2014, 21:07

En effet ça fonctionne, j'avais mis .html comme extension à mon fichier (je pensais que ça marcherait :? ), merci beaucoup et bonne soirée !

ViPHP
xTG
ViPHP | 7331 Messages

23 oct. 2014, 21:57

Cela peut fonctionner si le serveur est configuré pour traiter cette extension comme pouvant contenir du code à interpréter.