Problème dans mon code php ou javascript

Résolu/Fermé
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 - Modifié par Mickael86480 le 5/01/2012 à 22:18
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 - 7 janv. 2012 à 14:17
Bonjour, j'ai un petit problème de code mais je ne sais où, lorsque je teste en locale sur ma machine, pas de problème tous fonctionne mais lorsque je teste en ligne là ça ne fonctionne plus. Je m'explique, j'ai mis en place un quizz sur les drapeau des pays du monde, pour cela j'affiche un drapeau choisit au hasard et j'ai plusieurs radio bouton pour les réponses. Lorsque l'utilisateur choisit une réponse, il perd des points ou non selon sa réponse puis il passe à un autre drapeau. Pour détecter la qualité de la réponse j'ai "créé" une fonction en JavaScript. Donc comme je l'ai dis avant, le quizz fonctionne en locale, c'est à dire qu'il détecte la bonne ou mauvaise réponse mais une fois sur internet il ne fonctionne pas.

merci de m'aider.

voici mon code :

<!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">
<head>
<title>Rechercher</title>
<link href="plan.css" rel="stylesheet" type="text/css">
</head> <STYLE type="text/css"> </STYLE>
<body bgcolor="#ffffaa" class=cor>
<div class="cor3 largeur">
<?php
include ("connection.php");

$toutoune = $_POST['question'];
$point = $_POST['point'];

$id = $_SESSION['identifiant'];
$mdp = $_SESSION['mdp'];

$choix = rand(1,2);

if($choix == 1){
echo'<table><center><font size="2" face="verdana"><b>A quel pays correspond ce drapeau ?</b><br><br></center></table>';
if($toutoune < 5){
$Fichier = fopen('drapeau/facile/passage1/quizzfacile.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/facile/passage1/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
if($toutoune >= 5 && $toutoune < 10){
$Fichier = fopen('drapeau/moyen/passage1/quizzmoyen.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/moyen/passage1/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
if($toutoune >= 10 && $toutoune < 15){
$Fichier = fopen('drapeau/dur/passage1/quizzdur.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/dur/passage1/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
if($toutoune >= 15 && $toutoune < 20){
$Fichier = fopen('drapeau/expert/passage1/quizzexp.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/expert/passage1/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
echo'<div id="Reponse">
<center><b>Total des points : ';

if(!empty($_POST['point'])) { echo $_POST['point']; }
if(($_POST['point'] == 0) && ($toutoune != 0)) { echo '0'; }
else if($toutoune == 0){ echo '100'; }

echo '</b></center></div>
<div id="Question" align="center">
<table>
';

echo '</b></center></table></div>
<div id="Choix" align="center">
<table><center>
';

echo'<div id="Faux">
<center><b>
</b></center></div><br>';

for ($i = 0; $i < count($Tableau); $i ++) {
echo '<input type="radio" name="Liste" id="'.$Tableau[$i].'" onClick="Radio();">'.$Tableau[$i].'<br><br>';
}
}
if($choix == 2){
echo'<table><center><font size="2" face="verdana"><b>A quel pays correspond ce drapeau ?</b><br><br></center></table>';
if($toutoune < 5){
$Fichier = fopen('drapeau/facile/passage2/quizzfacile.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/facile/passage2/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
if($toutoune >= 5 && $toutoune < 10){
$Fichier = fopen('drapeau/moyen/passage2/quizzmoyen.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/moyen/passage2/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
if($toutoune >= 10 && $toutoune < 15){
$Fichier = fopen('drapeau/dur/passage2/quizzdur.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/dur/passage2/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
if($toutoune >= 15 && $toutoune < 20){
$Fichier = fopen('drapeau/expert/passage2/quizzexp.txt', 'r');
$Tableau = array();

while (!feof($Fichier)) {
$Tableau[] = fgets($Fichier);
}
fclose($Fichier);

$Aleatoire = rand(0, 9);
$Tableau[$Aleatoire] = str_replace("\r\n","",$Tableau[$Aleatoire]);

echo'<table><center><img src="drapeau/expert/passage2/'.$Tableau[$Aleatoire].'.png" border="2"><br><br></center>
</table>';
}
echo'<div id="Reponse">
<center><b>Total des points : ';

if(!empty($_POST['point'])) { echo $_POST['point']; }
if(($_POST['point'] == 0) && ($toutoune != 0)) { echo '0'; }
else if($toutoune == 0){ echo '100'; }

echo '</b></center></div>
<div id="Question" align="center">
<table>
';

echo '</b></center></table></div>
<div id="Choix" align="center">
<table><center>
</div><br>réponse:'.$Tableau[$Aleatoire].'
';

for ($i = 0; $i < count($Tableau); $i ++) {
echo '<input type="radio" name="Liste" id="'.$Tableau[$i].'" onClick="Radio();">'.$Tableau[$i].'<br><br>';
}
}
$passage = $_POST['passage'] + 1;
if($passage == 3) $passage = 0;

if($toutoune == 0){
?>
<script language="JavaScript">
alert("Niveau 'facile' du quizz");
</script>
<?php
}
if($toutoune == 1){
$time = mktime(date(G), date(i), date(s));
$requetedebut = "UPDATE quizz SET debut=".$time." WHERE identifiant=\"".$id."\"";
mysql_query($requetedebut);
}

if($toutoune == 5){
?>
<script language="JavaScript">
alert("Niveau 'moyen' du quizz");
</script>
<?php
}

if($toutoune == 10){
?>
<script language="JavaScript">
alert("Niveau 'dur' du quizz");
</script>
<?php
}

if($toutoune == 15){
?>
<script language="JavaScript">
alert("Niveau 'expert' du quizz");
</script>
<?php
}

if($toutoune >= 0 && $toutoune <= 20){
?>
<!-- Ici le javascript --->
<script type="text/javascript">
var question = 0;
<?php
if(!empty($_POST['point'])) {
echo 'point = '.$_POST['point'].';';
}
else if(question == 0){ echo 'point = 100;'; }
if(($_POST['point'] == 0) && ($toutoune != 0)){ echo 'point = 0;';}
if(!empty($_POST['question'])) {
echo 'question = '.$_POST['question'].';';
}
?>

function Radio() {

if (document.getElementById('<?php echo $Tableau[$Aleatoire]; ?>').checked == true) {
question = question + 1
document.getElementById('Reponse').innerHTML = '<center><b>Total des points : ' + point +'</b></center>';
document.getElementById('Question').innerHTML = '<br><center><b>Question n° : ' + question +'</b></center>';
document.getElementById('Choix').innerHTML = '<br><b>Bonne réponse</b><br><br><form action="drapeau.php" method="POST"><input type="hidden" value="' + point + '" name="point"><input type="hidden" value="' + question + '" name="question"><input type="submit" value="Drapeau suivant" name="boutonquestion"></form>';
}
else {
point = point - 10
document.getElementById('Reponse').innerHTML = '<center><b>Total des points : ' + point +'</b></center>';
}
}
</script>
<?php
}
if($toutoune == 20){
$time = mktime(date(G), date(i), date(s));
$requetefin = "UPDATE quizz SET fin=".$time." WHERE identifiant=\"".$id."\"";
mysql_query($requetefin);

$requetefinale = "SELECT * FROM 'quizz' WHERE identifiant like ('".$id."')";
$show = mysql_query($requetefinale)or die(mysql_error());

while ($data = mysql_fetch_array($show)){

$essai = $data['essaisdrap'] + 1;
$requeteessai = "UPDATE 'quizz' SET essaisdrap=\"".$essai."\" WHERE identifiant = \"".$id."\"";
mysql_query($requeteessai)or die(mysql_error()) ;
if($point > $data['drapeau']){
echo'<center><b>Vous avez battu votre meilleur score, félicitation, il passe de '.$data['drapeau'].' à '.$point.'</b></center>';
$requete = "UPDATE 'quizz' SET drapeau=\"".$point."\" WHERE identifiant = \"".$id."\"";
mysql_query($requete)or die(mysql_error()) ;
$requetemeilleur = "UPDATE 'quizz' SET meilleurdrap=\"".$essai."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur)or die(mysql_error()) ;
$tempsdebut = $data['debut'];
$tempsfin = $data['fin'];
$tps = $tempsfin - $tempsdebut;
if($data['meilleurtpsdrap'] == 0){
$requetemeilleur = "UPDATE 'quizz' SET meilleurtpsdrap=\"".$tps."\" WHERE identifiant = \"".$id."\"";
}
if($data['meilleurtpsdrap'] > $tps){
$requetemeilleur = "UPDATE 'quizz' SET meilleurtpsdrap=\"".$tps."\" WHERE identifiant = \"".$id."\"";
}
}
if($point < $data['drapeau']){
echo'<center><b>Vous n\'avez pas battu votre meilleur score, dommage, il est de '.$data['drapeau'].' et vous avez réalisé '.$point.'</b></center>';
if($essai == 1){
$requete = "UPDATE 'quizz' SET drapeau=\"".$point."\" WHERE identifiant = \"".$id."\"";
mysql_query($requete)or die(mysql_error()) ;
$requetemeilleur = "UPDATE 'quizz' SET meilleurdrap=\"".$essai."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur)or die(mysql_error()) ;
$requetemeilleur = "UPDATE 'quizz' SET meilleurtpsdrap=\"".$tps."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur);
}
}
if($point == $data['drapeau']){
echo'<center><b>Vous avez égalé votre meilleur score, bravo, il est toujours de '.$data['drapeau'].'</b></center>';
if($essai == 1){
$requete = "UPDATE 'quizz' SET drapeau=\"".$point."\" WHERE identifiant = \"".$id."\"";
mysql_query($requete)or die(mysql_error()) ;
$requetemeilleur = "UPDATE 'quizz' SET meilleurdrap=\"".$essai."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur)or die(mysql_error()) ;
$requetemeilleur = "UPDATE 'quizz' SET meilleurtpsdrap=\"".$tps."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur);
}
$tempsdebut = $data['debut'];
$tempsfin = $data['fin'];
$tps = $tempsfin - $tempsdebut;
if($data['meilleurtpsdrap'] == 0){
$requetemeilleur = "UPDATE 'quizz' SET meilleurtpsdrap=\"".$tps."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur);
}
if($data['meilleurtpsdrap'] > $tps){
$requetemeilleur = "UPDATE 'quizz' SET meilleurtpsdrap=\"".$tps."\" WHERE identifiant = \"".$id."\"";
mysql_query($requetemeilleur);
}
}
echo'<center><br><form action="drapeau.php" method="post"> <input type="submit" name="recommencer" value="Recommencer"></form></center>';
}
}
?>
</div>
</body>
</html>



A voir également:

4 réponses

Nymphomaniaque Messages postés 55 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 14 octobre 2012 4
6 janv. 2012 à 10:23
Salut,

include ("connection.php"); 


Là tu dois vérifier ce fichier et modifier les paramètres de connexion à la base de données fournis par votre hébergeur.

Sinon, je vois que vous utilisez la fonction fopen, la plupart des hébergeurs gratuits la désactivent.
0
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 35
6 janv. 2012 à 12:13
Voici ce qu'il y a dans le fichier connection.php :

<?php

echo '<span class=hide><small class=id><b>Status : </b>';

// on se connecte au server
$srv = mysql_connect('sql.free.fr', '********', '*********');

//on vérifie si on est bien connecté
if ( ! $srv )
die ("connection impossible au serveur");
else echo 'connexion au serveur OK';

// on sélectionne la base
$db =mysql_select_db('mickael_bernaudeau',$srv);
if ( ! $db )
die (", connection impossible à la base");
else echo ', connexion à la base mysql OK.<br>';
echo '</small><br></span>';

?>
0
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 35
6 janv. 2012 à 21:05
Je pense que c'est l'hébergeur qui bloque la fonction fopen, mais comment puis-je faire? Y a-t-il on fonction similaire qui est autorisé?
0
Mickael86480 Messages postés 660 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 35
7 janv. 2012 à 14:17
Je poste ce petit mot au cas où vous rencontrez le même problème que moi, pour résoudre mon problème j'ai repris le code que j'ai créé et j'ai décidé de ne pas me servir d'un fichier txt comme base de données, mais tout simplement d'en créer une.
0