Script en php ne fonctionne plus
Résolu
MisterGreen
-
mars77 -
mars77 -
Bonjour,
J'utilise depuis plusieurs année un scripts de quizz en php (My_quiz_php, créé par Stéphane Kupecky).
je l'ai très légérement adapté à l'époque où je touchait un peu à la programmation php (un peu je précise et mes obligation depuis deux ans font que je deviens de moins en moins performants si tant est que je l'ai été).
Depuis quelques semaines, il ne fonctionne plus alors que je n'ai à priori rien touché dans son code.
Je cherche depuis quelques semaines mais sans résultats.
Quelqu'un aurait-il une idée ? Y-a-t-il eu des modifications ces dernières semaines qui pourrait expliquer ce brusque bug ?
Sur mon script de quizz que l'on retrouve à l'adresse suivante : http://www.riposteverte.com/quizz/ on ne peut plus s'inscrire.
Dès que l'on essaie de se loger, il est répondu, vous avez déjà participer aujourd'hui et cela quelque soit le login que l'on utilise !!!
Voici le début du code
<form name="formaffiche" action="quizz_verif.php" method="POST">
<?php
include("../configbdd.php");
include("../configquizz.php");
// Vérifier si le visiteur a déjà participé au quizz le même jour.
$datej=date("Y-m-j");
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like'$Nom_visiteur' AND date='$datej' ";
$res=mysql_db_query($bdd, $sql);
$row = mysql_fetch_array($res);
if ($nbparticip=='faux'){
$row[0]='tototatatriti';
}
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
merci d'avance
V Hergott
J'utilise depuis plusieurs année un scripts de quizz en php (My_quiz_php, créé par Stéphane Kupecky).
je l'ai très légérement adapté à l'époque où je touchait un peu à la programmation php (un peu je précise et mes obligation depuis deux ans font que je deviens de moins en moins performants si tant est que je l'ai été).
Depuis quelques semaines, il ne fonctionne plus alors que je n'ai à priori rien touché dans son code.
Je cherche depuis quelques semaines mais sans résultats.
Quelqu'un aurait-il une idée ? Y-a-t-il eu des modifications ces dernières semaines qui pourrait expliquer ce brusque bug ?
Sur mon script de quizz que l'on retrouve à l'adresse suivante : http://www.riposteverte.com/quizz/ on ne peut plus s'inscrire.
Dès que l'on essaie de se loger, il est répondu, vous avez déjà participer aujourd'hui et cela quelque soit le login que l'on utilise !!!
Voici le début du code
<form name="formaffiche" action="quizz_verif.php" method="POST">
<?php
include("../configbdd.php");
include("../configquizz.php");
// Vérifier si le visiteur a déjà participé au quizz le même jour.
$datej=date("Y-m-j");
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like'$Nom_visiteur' AND date='$datej' ";
$res=mysql_db_query($bdd, $sql);
$row = mysql_fetch_array($res);
if ($nbparticip=='faux'){
$row[0]='tototatatriti';
}
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
merci d'avance
V Hergott
A voir également:
- Script en php ne fonctionne plus
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
20 réponses
bonjour,
regarde cette ligne
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like'$Nom_visiteur' AND
ou bien il ya autre chose?
regarde cette ligne
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like'$Nom_visiteur' AND
ou bien il ya autre chose?
Bonjour Roussos,
Non il n'y a rien d'autre que les lignes de scripts que j'ai posté dans mon message
Non il n'y a rien d'autre que les lignes de scripts que j'ai posté dans mon message
ok donc l'erreur est à cette ligne like'$Nom_visiteur' AND
elle devrait plutot etre like='$Nom_visiteur' AND
elle devrait plutot etre like='$Nom_visiteur' AND
en rajoutant le = entre like et '$Nom_visiteur', cela me crée une erreur (ci dessous) et cela me dit toujours que j'ai déjà joué
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /quizz/quizz.php on line 133
Désolé , vous avez déjà participé aujourd'hui, retentez votre chance demain
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /quizz/quizz.php on line 133
Désolé , vous avez déjà participé aujourd'hui, retentez votre chance demain
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Il te manque un espace :)
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like '$Nom_visiteur' AND date='$datej' ";
Il te manque un espace :)
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like '$Nom_visiteur' AND date='$datej' ";
On le tape dans ce formulaire qui est envoyer à quizz.php
dans quizz.php tu le récupères comment ?
par $Nom_visiteur=$_POST['Nom_visiteur'];
ou tu as une ligne du genre extract($_POST);
dans quizz.php tu le récupères comment ?
par $Nom_visiteur=$_POST['Nom_visiteur'];
ou tu as une ligne du genre extract($_POST);
Sur la page quizz, cela commence par ca :
<form name="formaffiche" action="quizz_verif.php" method="POST">
<?php
include("../configbdd.php");
include("../configquizz.php");
// Vérifier si le visiteur a déjà participé au quizz le même jour.
$datej=date("Y-m-j");
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like '$Nom_visiteur' AND date='$datej' ";
$res=mysql_db_query($bdd, $sql);
$row = mysql_fetch_array($res);
if ($nbparticip=='faux'){
$row[0]='tototatatriti';
}
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
else{
// Selectionner les questions
Donc il n'y a pas de $_post
Par contre dans la page quizz-verif.php, cela commence par :
<?php
include("../configbdd.php");
include("../configquizz.php");
// Afficher les coordonnées du participant
print "<b>";
print $HTTP_POST_VARS["Nom_visiteur"];
print "</b><br>";
<form name="formaffiche" action="quizz_verif.php" method="POST">
<?php
include("../configbdd.php");
include("../configquizz.php");
// Vérifier si le visiteur a déjà participé au quizz le même jour.
$datej=date("Y-m-j");
$sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like '$Nom_visiteur' AND date='$datej' ";
$res=mysql_db_query($bdd, $sql);
$row = mysql_fetch_array($res);
if ($nbparticip=='faux'){
$row[0]='tototatatriti';
}
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
else{
// Selectionner les questions
Donc il n'y a pas de $_post
Par contre dans la page quizz-verif.php, cela commence par :
<?php
include("../configbdd.php");
include("../configquizz.php");
// Afficher les coordonnées du participant
print "<b>";
print $HTTP_POST_VARS["Nom_visiteur"];
print "</b><br>";
C'est bien ce que je pensait les valeurs ne sont pas récupérées ton hebergeur a du modifier le fichier de config de php, et REGISTER_GLOBAL est mis à OFF (pour des raisons de sécurité)
conséquence:
avant quand un formulaire t'envoyait un <input name="Nom_visiteur"
tu avait sa valeur directement dans la variable $Nom_visiteur
maintenant il faut la "récupérer" dans la globale $_POST
$Nom_visiteur=$_POST['Nom_visiteur'];
sécurité: tu maintrises les variables que tu souhaites recevoir alors qu'avant un filou pouvait envoyer n'importe quoi.
donc modifes:
conséquence:
avant quand un formulaire t'envoyait un <input name="Nom_visiteur"
tu avait sa valeur directement dans la variable $Nom_visiteur
maintenant il faut la "récupérer" dans la globale $_POST
$Nom_visiteur=$_POST['Nom_visiteur'];
sécurité: tu maintrises les variables que tu souhaites recevoir alors qu'avant un filou pouvait envoyer n'importe quoi.
donc modifes:
Sur la page quizz, cela commence par ca : <form name="formaffiche" action="quizz_verif.php" method="POST"> <?php include("../configbdd.php"); include("../configquizz.php"); // Vérifier si le visiteur a déjà participé au quizz le même jour. $datej=date("Y-m-j"); $Nom_visiteur=mysql_escape_string($_POST['Nom_visiteur']); // + une petite sécurisation en passant $sql="Select nomvisiteur, date FROM quizz_visiteur WHERE nomvisiteur like '$Nom_visiteur' AND date='$datej' "; etc.....
Alain tta remarque me parait logique et effectivement on avance
Il ne me dit plus que j'ai déjà joué mais par contre il ne m'envoie plus les question du script
voir : http://www.riposteverte.com/quizz/quizz.php
Désolé je dois m'absenter quelques temps pour m'occuper de mes enfants. je reviens plus tard dans la soirée
Il ne me dit plus que j'ai déjà joué mais par contre il ne m'envoie plus les question du script
voir : http://www.riposteverte.com/quizz/quizz.php
Désolé je dois m'absenter quelques temps pour m'occuper de mes enfants. je reviens plus tard dans la soirée
if ($nbparticip=='faux'){
$row[0]='tototatatriti';
}
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
else{
d'où vient cette variable $nbparticip ?
$row[0]='tototatatriti';
}
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
else{
d'où vient cette variable $nbparticip ?
Me revoilà pour écouter vos conseils avisés.
la variable $nbparticip, je la retrouve uniquement dans un fichier configquizz dont voici le contenu
?
//include("configbdd.php");
$sql="SELECT * FROM quizz_config";
$res=mysql_db_query($bdd, $sql);
// Définir les variables de configuration
$row = @mysql_fetch_Array($res);
$titre=$row[titre];
$nbquestion=$row[nbquestion];
$mode=$row[mode];
$image=$row[image];
$reponse_aff=$row[reponse];
$nbparticip=$row[nbparticip];
$nbtop=$row[nbtop];
$mailadmin=$row[mailadmin];
$mailparticip=$row[mailparticip];
$adresseadmin=$row[adresseadmin];
$sujetmail=$row[sujetmail];
$entetemail=$row[entetemail];
$hebergeur=$row[hebergeur];
$categorie=$row[categorie];
$score=$row[score];
$cumul=$row[cumul];
$mono=$row[mono];
$multi=$row[multi];
?>
la variable $nbparticip, je la retrouve uniquement dans un fichier configquizz dont voici le contenu
?
//include("configbdd.php");
$sql="SELECT * FROM quizz_config";
$res=mysql_db_query($bdd, $sql);
// Définir les variables de configuration
$row = @mysql_fetch_Array($res);
$titre=$row[titre];
$nbquestion=$row[nbquestion];
$mode=$row[mode];
$image=$row[image];
$reponse_aff=$row[reponse];
$nbparticip=$row[nbparticip];
$nbtop=$row[nbtop];
$mailadmin=$row[mailadmin];
$mailparticip=$row[mailparticip];
$adresseadmin=$row[adresseadmin];
$sujetmail=$row[sujetmail];
$entetemail=$row[entetemail];
$hebergeur=$row[hebergeur];
$categorie=$row[categorie];
$score=$row[score];
$cumul=$row[cumul];
$mono=$row[mono];
$multi=$row[multi];
?>
et le config_quizz.php ?
le fichier se nomme configquizz.php
A l'intérieur, on retrouve
?
//include("configbdd.php");
$sql="SELECT * FROM quizz_config";
$res=mysql_db_query($bdd, $sql);
// Définir les variables de configuration
$row = @mysql_fetch_Array($res);
$titre=$row[titre];
$nbquestion=$row[nbquestion];
$mode=$row[mode];
$image=$row[image];
$reponse_aff=$row[reponse];
$nbparticip=$row[nbparticip];
$nbtop=$row[nbtop];
$mailadmin=$row[mailadmin];
$mailparticip=$row[mailparticip];
$adresseadmin=$row[adresseadmin];
$sujetmail=$row[sujetmail];
$entetemail=$row[entetemail];
$hebergeur=$row[hebergeur];
$categorie=$row[categorie];
$score=$row[score];
$cumul=$row[cumul];
$mono=$row[mono];
$multi=$row[multi];
?>
A l'intérieur, on retrouve
?
//include("configbdd.php");
$sql="SELECT * FROM quizz_config";
$res=mysql_db_query($bdd, $sql);
// Définir les variables de configuration
$row = @mysql_fetch_Array($res);
$titre=$row[titre];
$nbquestion=$row[nbquestion];
$mode=$row[mode];
$image=$row[image];
$reponse_aff=$row[reponse];
$nbparticip=$row[nbparticip];
$nbtop=$row[nbtop];
$mailadmin=$row[mailadmin];
$mailparticip=$row[mailparticip];
$adresseadmin=$row[adresseadmin];
$sujetmail=$row[sujetmail];
$entetemail=$row[entetemail];
$hebergeur=$row[hebergeur];
$categorie=$row[categorie];
$score=$row[score];
$cumul=$row[cumul];
$mono=$row[mono];
$multi=$row[multi];
?>
Ok c'est le fichier qui permet de recuperer les parm de config qui sont stockés dans une table de la BDD
par contre
qu'y a-t-il après le else de
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
else{
si tu veux tu m'envoie en MP
concernant Online.net j'ai jeté un oeil sur leur site
en php4 Register_global est à on
en php5 elle est a off, donc tu dois passer surement sur php5
par contre
qu'y a-t-il après le else de
if ($row[0]==$Nom_visiteur){
print ("Désolé $Nom_visiteur, vous avez déjà participé aujourd'hui, retentez votre chance demain");
}
else{
si tu veux tu m'envoie en MP
concernant Online.net j'ai jeté un oeil sur leur site
en php4 Register_global est à on
en php5 elle est a off, donc tu dois passer surement sur php5
MP, c'est quoi, message privé ??
Quelle est la marche à suivre pour MP.
Comment fait on pour passer en php5.
J'ai un peu perdu la main c'est dernier temps.
Je comprends mieux pourquoi tout déconne sur mes script depuis quelques temps.
Là je regarde de mon côté et la page admin ne fonctionne plus, les données d'administration ne s'enregistrent pas dans la base et donc c'est pour cela que je n'avais pas mes questions affichées après le pseudo
Mais comme la page admin ne fonctionne plus, je suis en train de le faire directement sur phpmyadmin ce qui contourne le pb mais ne le résous pas
Quelle est la marche à suivre pour MP.
Comment fait on pour passer en php5.
J'ai un peu perdu la main c'est dernier temps.
Je comprends mieux pourquoi tout déconne sur mes script depuis quelques temps.
Là je regarde de mon côté et la page admin ne fonctionne plus, les données d'administration ne s'enregistrent pas dans la base et donc c'est pour cela que je n'avais pas mes questions affichées après le pseudo
Mais comme la page admin ne fonctionne plus, je suis en train de le faire directement sur phpmyadmin ce qui contourne le pb mais ne le résous pas
oui MP c'est message privé
tu cliques sur mon pseudo et la tu as lui ecrire un message
ça évite de laisser trainer sur le forum des codes un peu "confidentiels"
dans ton cas il faudrait essayer de forcer ton site à utiliser php4 sur le serveur de online.net
je vais essayer de voir ça
tu cliques sur mon pseudo et la tu as lui ecrire un message
ça évite de laisser trainer sur le forum des codes un peu "confidentiels"
dans ton cas il faudrait essayer de forcer ton site à utiliser php4 sur le serveur de online.net
je vais essayer de voir ça
sur leur site j'ai trouvé ça:
Online vous propose deux versions de PHP:
*
la version 4 qui est utilisée par défaut pour les fichiers nommés .php3 et .php
*
la version 5 qui est utilisée par défaut pour les fichiers nommés .php5
Pour personnaliser la version de php de votre site, il faut placer en racine /www un fichier texte nommé .htaccess comprenant la ligne de commande suivante :
# Pour faire parser les fichiers ".php" par PHP5
AddType application/x-httpd-php5 .php
donc a la lecture de ça tu devrait être en php4 ou alors tu as un fichier .htaccess qui fait la modif vers php5 ?
pour voir quelle version rajoutes cette ligne
echo "version de php :".phpversion();
après
<?php
include("../configbdd.php");
include("../configquizz.php");
Online vous propose deux versions de PHP:
*
la version 4 qui est utilisée par défaut pour les fichiers nommés .php3 et .php
*
la version 5 qui est utilisée par défaut pour les fichiers nommés .php5
Pour personnaliser la version de php de votre site, il faut placer en racine /www un fichier texte nommé .htaccess comprenant la ligne de commande suivante :
# Pour faire parser les fichiers ".php" par PHP5
AddType application/x-httpd-php5 .php
donc a la lecture de ça tu devrait être en php4 ou alors tu as un fichier .htaccess qui fait la modif vers php5 ?
pour voir quelle version rajoutes cette ligne
echo "version de php :".phpversion();
après
<?php
include("../configbdd.php");
include("../configquizz.php");
En .htacces, voilà ce que j'ai
ErrorDocument 404 http://www.riposteverte.com/erreur/index.php
# Pour faire parser les fichiers ".php" par PHP5
AddType application/x-httpd-php5 .php
ErrorDocument 404 http://www.riposteverte.com/erreur/index.php
# Pour faire parser les fichiers ".php" par PHP5
AddType application/x-httpd-php5 .php
Je me rappelle maintenant à quel moment j'ai rajouté
# Pour faire parser les fichiers ".php" par PHP5
AddType application/x-httpd-php5 .php
J'ai un script wanewsletter (pour envoyer en nombre des infos) qui ne marchait plus. Et qui marche avec ce rajout
Donc si je passe en php5, wanewsletter marche mais le quizz, un formulaire de contact et un un script pour afficher des images en nombre ne marchen plus
Si je reste en php5, c'est l'inverse, tout fonctionne sauf wanewsletter
mais j'ai besoin de tous mes scripts
Aurais tu une idée Alain ?
# Pour faire parser les fichiers ".php" par PHP5
AddType application/x-httpd-php5 .php
J'ai un script wanewsletter (pour envoyer en nombre des infos) qui ne marchait plus. Et qui marche avec ce rajout
Donc si je passe en php5, wanewsletter marche mais le quizz, un formulaire de contact et un un script pour afficher des images en nombre ne marchen plus
Si je reste en php5, c'est l'inverse, tout fonctionne sauf wanewsletter
mais j'ai besoin de tous mes scripts
Aurais tu une idée Alain ?
ha ok je suppose que ce script utilise une fonction qui n'existe pas en php4
si tu retses en php5 pour eviter de rechercher toutes les variables qui coincent tu peux mettre tout au début de chaque page php
juste après <?php
extract($_POST,EXTR_OVERWRITE);
ça fera le boulot automatiquement pour toutes
si tu retses en php5 pour eviter de rechercher toutes les variables qui coincent tu peux mettre tout au début de chaque page php
juste après <?php
extract($_POST,EXTR_OVERWRITE);
ça fera le boulot automatiquement pour toutes
n'oublies pas de le mettre sur toutes les pages .php