11492 sujets

JavaScript, DOM et API Web HTML5

Hello !
J'ai récupérer un script permettant de voter comme sur VDM. Je l'ai dupliqué pour ainsi obtenir "Suicide toi" ou "Tu as l'air con. (de l'humour)

Le problème c'est que quand l'un marche, l'autre ne fonctionne pas. Ils marchent séparément.
De plus, celui qui marche comptabilise deux fois le vote...

Voici le code pour mon test.php :
<style type="text/css">

	body { font-family: Georgia, serif; }
	
	a.jaime { display: inline-block; color: #EF627E; text-decoration: none; }
	a.jaime:hover { text-decoration: underline; }
	a.jaime-a-voter { font-style: italic; cursor: default; background: url(coeur.gif) 0% 50% no-repeat; padding-left: 20px; }
	a.jaime-a-voter:hover { text-decoration: none; }
	
	a.suicide { display: inline-block; color: #EF627E; text-decoration: none; }
	a.suicide:hover { text-decoration: underline; }
	a.suicide-a-voter { font-style: italic; cursor: default; background: url(coeur.gif) 0% 50% no-repeat; padding-left: 20px; }
	a.suicide-a-voter:hover { text-decoration: none; }

	</style>
	<script type="text/javascript" src="suicide.js"></script>
    	<script type="text/javascript" src="jquery-1.4.4.js"></script>
	<script type="text/javascript" src="jaime.js"></script>


Et celui dans test.php dans le body :

      <p><a href="#" title="Les rayures" class="jaime">J&rsquo;aime</a></p>
      <p><a href="#" title="Test" class="suicide">J&rsquo;aime</a></p>


Ensuite les js et php pages sont similaires sauf que j'ai fais quelques modifications mais je pense que je conflit viens plutôt du "test.php"

Merci de votre aide.

PS : Je ne connais rien au jquery Smiley decu

Edit : voici l'url de la page test : http://www.t9fails.fr/test.php#
Modifié par Shukka (22 May 2011 - 16:05)
Je n'arrive pas à lire le code PHP. Peut tu le mettre en txt ? je pense que ça viens peut-être d'une requête.
Le problème pour le compte double est résolu, mais ils ne fonctionnent toujours pas ensemble.

Vue que les deux fonctionnent séparément en enlevant
<script type="text/javascript" src="suicide.js"></script>

ou
<script type="text/javascript" src="jaime.js"></script>


Voici ici les deux démos :
http://www.t9fails.fr/test2.php
http://www.t9fails.fr/test.php#

Je ne pense pas cela vient des codes PHP, mais les voici (le jaime.php et suicide.php sont identiques, j'ai supprimé volontairement mon login, mon mdp... Mais ils le sont sur le site Smiley cligne )
<?php


// Traitement des POST
if(!isset($_POST['cle'])) {
	header('Location: ./');
	die('-1');
}
$cle = get_magic_quotes_gpc() ? $_POST['cle'] : addslashes($_POST['cle']);
$vote = isset($_POST['vote']);
$derniere_ip = isset($_SERVER['REMOTE_ADDR']) ? (int)ip2long($_SERVER['REMOTE_ADDR']) : -1;


// Connexion a la DB
$mysqli = new mysqli('localhost', 'LOGIN', 'MDP', 'BASE');
if($mysqli->connect_error) {
	die('Erreur de connexion (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}


// Traitement en DB
$jaime_votes = 0;
if($result = $mysqli->query("SELECT * FROM jaimes WHERE cle = '{$cle}' LIMIT 1 ")) {
	if($result->num_rows) {
		// Mise a jour
		$obj = $result->fetch_object();
		$jaime_votes = (int)$obj->votes;
     	if($vote) {
//		if($vote && $obj->derniere_ip != $derniere_ip) {
			$jaime_votes++;
			$mysqli->query(
				"UPDATE jaimes SET
					votes = votes + 1 ,
					dernier_vote = NOW() , 
					derniere_ip = {$derniere_ip}
				WHERE cle = '{$cle}' "
				);
		}
	} else {
		// Inserer
		if($vote) {
			$jaime_votes++;
			$mysqli->query(
				"INSERT INTO jaimes SET
					cle = '{$cle}' ,
					votes = 1 ,
					dernier_vote = NOW() ,
					derniere_ip = {$derniere_ip} "
				);
		}
	}
}


// Afficher de retour
echo $jaime_votes;


?>



Edit : Le code qui suit est normal, c'est juste pour désactiver temporairement la prise en compte de l'adresse IP.
   if($vote) { 
//        if($vote && $obj->derniere_ip != $derniere_ip) { 

Modifié par Shukka (22 May 2011 - 18:30)