Si valeur existe (2)
Fermé
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
28 mars 2014 à 15:42
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 29 mars 2014 à 12:15
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 29 mars 2014 à 12:15
A voir également:
- Si valeur existe (2)
- 2 ecran pc - Guide
- Gto saison 2 - Forum Cinéma / Télé
- Word numéro de page 1/2 - Guide
- Piece 2€ bonhomme valeur ✓ - Forum Loisirs / Divertissements
- Si valeur comprise entre x et y alors excel ✓ - Forum Excel
9 réponses
le_joker_fou
Messages postés
765
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
28 mars 2014 à 15:48
28 mars 2014 à 15:48
Bonjour,
Peux-tu nous fournir plus de détails : qu'elle erreur as-tu? A Qu'elle ligne, etc...
Peux-tu nous fournir plus de détails : qu'elle erreur as-tu? A Qu'elle ligne, etc...
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
28 mars 2014 à 15:53
28 mars 2014 à 15:53
En fait, je voudrais que si jamais par exemple, un utilisateur met le lien de validation :
Malheureusement je ne maitrise pas PHP, je bidule :s
http://monsite.com/jeux/vote.php?NumId=7pour tricher un vote, la page n'enregistre pas et le renvois à l'index. Si l'IP de l'utilisateur n'existe pas dans ma table (voir sujet https://forums.commentcamarche.net/forum/affich-29958238-si-valeur-existe#p29958681) alors il enregistre.
Malheureusement je ne maitrise pas PHP, je bidule :s
le_joker_fou
Messages postés
765
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
28 mars 2014 à 16:09
28 mars 2014 à 16:09
Dans ce cas, plutôt que :
utilise
Ensuite, pourquoi tu ouvre deux fois ta connexion SQL (une au début et de ton script et une dans ton
La deuxième connexion est inutile, et vue que je suis de bon humeur aujourd'hui, voilà une idée de code que tu pourrais utiliser.
Attention, je n'ai pas testé le code, il se peut que tu es à l'adapté en fonction de tes besoins.
echo "<script>location.href = 'index.php';</script>";
utilise
header("location:index.php");
Ensuite, pourquoi tu ouvre deux fois ta connexion SQL (une au début et de ton script et une dans ton
if($res['dejaexistant'] != 0)
La deuxième connexion est inutile, et vue que je suis de bon humeur aujourd'hui, voilà une idée de code que tu pourrais utiliser.
<?php $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS); mysql_select_db(MYSQL_BASE,$db); //LIKE %....% te permet de rechercher une sous-chaine dans une chaine de caractère, peut importe sa position $req = mysql_query("SELECT COUNT(IPs) AS dejaexistant FROM tb_jeux_pakinou WHERE IPs LIKE %".$_SERVER['REMOTE_ADDR']."%;"); $res = mysql_fetch_array($req); if($res['dejaexistant'] == 0) { header("location:index.php"); } else { $NumId = mysql_real_escape_string($_GET["NumId"]); if(isset($_POST['Vote'])) $Vote = mysql_real_escape_string($_POST["Vote"]); else $Vote =""; $ip = $_SERVER['REMOTE_ADDR']; $sql = "UPDATE tb_jeux_pakinou SET IPs=CONCAT(IPs, ', ".$ip."'), Vote = Vote + 1 WHERE NumId='".$NumId."' LIMI 1;"; mysql_query($sql) or die('Erreur SQL !'.$sql."<br />".mysql_error()); header("location:index.php"); } ?>
Attention, je n'ai pas testé le code, il se peut que tu es à l'adapté en fonction de tes besoins.
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
28 mars 2014 à 16:20
28 mars 2014 à 16:20
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /homez.724/xyz/www/jeux/pakinou2014/vote.php on line 60
Warning: Cannot modify header information - headers already sent by (output started at /homez.724/xyz/www/inclusion/header.php:15) in /homez.724/xyz/www/jeux/pakinou2014/vote.php on line 62
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le_joker_fou
Messages postés
765
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
28 mars 2014 à 16:31
28 mars 2014 à 16:31
Rajoute
à la fin de ta ligne 6, et vois l'erreur.
or die(mysql_error());
à la fin de ta ligne 6, et vois l'erreur.
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 28/03/2014 à 16:46
Modifié par Sinistrus le 28/03/2014 à 16:46
Voilà ce qu'il me donne :s
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /homez.724/xyz/www/jeux/pakinou2014/vote.php on line 80
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%00.00.00.01%' at line 1
$res = mysql_fetch_array($req) or die(mysql_error());
le_joker_fou
Messages postés
765
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
239
28 mars 2014 à 16:49
28 mars 2014 à 16:49
Corrige le WHERE avec ce code.
LIKE '%".$_SERVER['REMOTE_ADDR']."%'
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
28 mars 2014 à 16:55
28 mars 2014 à 16:55
Merci joker, il me renvois encore une erreur sur la limite :
Erreur SQL !UPDATE tb_jeux_pakinou SET IPs=CONCAT(IPs, ', 00.00.00.01'), Vote = Vote + 1 WHERE NumId='6' LIMI 1;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMI 1' at line 1
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 29/03/2014 à 12:15
Modifié par Sinistrus le 29/03/2014 à 12:15
J'ai un peux fouillé, mais je me retrouve avec toujours un ajout dans ma table même si l'IP existe :
Il saute la condition du LIKE je penses :s
<?php $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Erreur de connexion '.mysql_error()); mysql_select_db(MYSQL_BASE,$db) or die('Erreur de selection '.mysql_error()); $req = mysql_query("SELECT COUNT(IPs) AS ExisteDeja FROM tb_jeux_pakinou WHERE IPs LIKE '%".$_SERVER['REMOTE_ADDR']."%' ;"); $res = mysql_fetch_array($req) or die(mysql_error()); if($res['ExisteDeja'] == 0) { echo "Existant";} else {$NumId = $_GET["NumId"]; if(isset($_POST['Vote'])) $Vote = mysql_real_escape_string($_POST["Vote"]); else $Vote =""; $ip = $_SERVER['REMOTE_ADDR']; $sql = "UPDATE tb_jeux_pakinou SET IPs=CONCAT(IPs, ', ".$ip."'), Vote = Vote + 1 WHERE NumId='".$NumId."' LIMIT 1"; mysql_query($sql) or die('Erreur SQL !'.$sql."<br />".mysql_error()); echo "Validé";} ?>
Il saute la condition du LIKE je penses :s