Aller au contenu

joboy84

Webmaster Régulier
  • Compteur de contenus

    91
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par joboy84

  1. Bonjour, J'ai acheté un jeu d'une boite aux usa, par contre ils ne fournissent pas de code php pour récupérer les données dans la base. (scores et username). Après avoir longuement insisté au support ils m'ont donné le code à ajouter pour récupérer des stats dudit jeu afin que ce soit compatible avec le reste. Voici ledit code : function getscores() { var result_lv = new LoadVars(); result_lv.onLoad = function (success) { if (success) { i = 1; for (; { if (i > 20) { return; } _root["hname" + i] = result_lv["name" + i]; _root["hscore" + i] = result_lv["score" + i]; ++i; } } } ; var __reg2 = new LoadVars(); __reg2.action = "get"; __reg2.sendAndLoad(_root.scl, result_lv, "POST"); } Le problème c'est que je ne sais pas comment récupérer ces données? Le sendAndLoad envoir vers une page php de mon site qui contient aussi un code pour enregistrer les scores. J'ai donc pensé qu'il fallait faire : <?php if(isset($_POST['result_lv'])) { $req = mysql_query('SELECT pseudo, score FROM scoreJeux') or die('erreur'.mysql_error()); while($data = mysql_fetch_assoc($req)) { $name = $data['pseudo']; $score = $data['score']; return $name; return $score; } } ?> Mais ca ne marche pas, le code flash ne me retourne rien.. Comment faire svp ? (le support est très long à répondre) Je ne sais pas à quoi correspond le for (; qu'ils ont mis dans le code .. est ce un délimiteur ? merci
  2. Oui c'est bien ca ! Merci encore pour la rapidité !!!!! Bonne continuation
  3. Oula, non du tout, cela me renvoie : Catchable fatal error: Object of class PDOStatement could not be converted to string
  4. J'ai essayé, et cela ne change rien, le problème persiste
  5. Bonjour, Je ne suis aps encore très familié avec la PDO.. J'ai le code suivant : <?php $nomconcours = trim(ucfirst(strtolower($_POST['nomjeuconcours']))); $statement = $connexion->prepare('SELECT id FROM jeuxconcours WHERE nom = :nomConcours'); $statement->bindParam('nomConcours', $nomconcours, PDO::PARAM_STR); $statement->execute(); if ($statement != FALSE) { echo'<p><font color="red"><strong>Statut :</strong> Le jeu concours '.$nomconcours.' est déjà présent dans la base !</p></font><br />'; } ?> Il fonctionne pour la requête, mais il m'affiche toujours que le jeu concours est déjà présent, même si ce n'est pas le cas... D'où vient l'erreur et comment y remédier ? merci
  6. Bonjour, J'ai eu l'occasion de tester sous firefox et le problème semble résolu... un retour pour IE 6? merci
  7. Merci pour vos retours Je vais voir ce qui cloche pour firefox et IE 6
  8. Bonjour, J'ai un script d'apercu d'images que je viens de terminer. Il fonctionne bien sous les navigateurs chrome et IE8. Si vous pouviez me donner un retour sur d'autres navigateurs ce serait sympa Lien : http://voilou.fr/beta/thumb.html Merci
  9. Bonjour, Je souhaiterai savoir si pour lancer un site tel king.com sur le marché francais, un dépôt de règlement suffit ? Le principe de ce site est le suivant, pour ceux qui ne connaissent pas : Le site propose divers jeux en ligne (skill games). Les joueurs s'affrontent soit en mode gratuit pour le fun, soit en misant de l'argent réel. (ex: Le joueur A mise 1 euros qu'il va faire le meilleur score. Le joueur B fait de même. Le joueur qui aura le meilleur score percevra 1.50 euros.) Merci pour vos éclaircissement. Je tiens à préciser que je ne souhaite pas lancer un tel site car je n'ai pas les connaissances nécessaires, mais c'est pour soumettre l'infos à une société aux usa qui souhaite s'ouvrir à d'autres pays. Ils se renseigneront auprès des avocats ensuite..mais histoire d'avoir une piste..
  10. En fait, j'ai une page qui contient une vidéo. Cette vidéo peut avoir une durée différent. Il faut que le lien "Suivant" apparaisse qu'à la fin de la vidéo... Donc, Si la vidéo fait par ex 3 minutes 10, je demande au script d'afficher le lien apres 3 minutes 10.. Plutôt que de refaire 10 fois le même script en indiquant la durée d'attente souhaitée avant l'apparition du lien, j'aurai voulu le faire "dynamiquement". merci
  11. Bonjour, J'ai le code suivant qui me permet d'afficher un lien après un certain temps... setTimeout(function () { var lien=document.createElement('a'); lien.setAttribute('href','page.html'); // page.html est à changer par le lien de la page "Suivant" lien.appendChild(document.createTextNode('Suivant')); // Suivant est le texte du lien document.getElementById('lien').appendChild(lien); }, 3*60000); // 3 est à remplacer par le nombre de minutes qu'on souhaite attendre avant apparition du lien //Dans le code HTML j'ai : <div id="lien"></div> <script type="text/javascript" src="script.js"></script> Ce que je voudrais, c'est que je puisse indiquer "dynamiquement" le temps que le script doit attendre avant de faire apparaitre le lien. Donc, il faut remplacer "3" par une variable, mais comment transférer la donnée au script ? Merci
  12. joboy84

    probleme de regex

    Bonjour Alors j'ai testé en prenant en considération les remarques... J'ai fait : <?php $data2 = 'Code source d une page html'; // extraction de la partie souhaité $pattern = preg_match_all('#id=[0-9]{9}" onmouseover="Tip\(\'<strong>[^\']+#i',$data2,$match2); if ($pattern) { //On liste les résultats foreach($match2[0] as $resultat) { echo "Extraction : ", $resultat, "\n <br>"; } } ?> Cela m'extrait bien : id=100000028" onmouseover="Tip('<strong>Ciane Bau<br>Member GV: 205<br>Home Phone:+33200000009280<br>Email: trd974_AT_gail.com<br>Enroller: Dier Herez<br>Enroller GV: 1160<br>Enroller Email: <a href=mailto:djxxm27_AT_yoo.fr>djxxm27_AT_yoo.fr</a><br>Enroller Phone: +3300000528br><br>Click to view more details</strong> Super cool ca marche Sinon, je suis ok pour utiliser le simple quote en tant que délimiteur de chaîne, mais comment faire pour que dans mon texte (code source $data2) cela les échappe automatiquement ? Ensuite, je souhaite récupérer les données correspondant à : id=100000028 (juste les chiffres) Ciane Bau Home Phone:+33200000009280 (juste le numéro) Member GV: 205 (juste les chiffres) Email: trd974_AT_gail.com (juste le mail) Enroller Email: <a href=mailto:djxxm27_AT_yoo.fr (juste le mail) Enroller GV: 1160 (juste le nombre Comment puis je faire cela? Merci
  13. joboy84

    probleme de regex

    Bonjour, Je souhaite, lors de la soumission d'un formulaire, récupérer uniquement les données du type : onmouseover="Tip('<strong>Ciane Bau<br>Member GV: 205<br>Home Phone:+33200000009280<br>Email: trd974_AT_gail.com<br>Enroller: Dier Herez<br>Enroller GV: 1160<br>Enroller Email: <a href=mailto:djxxm27_AT_yoo.fr>djxxm27_AT_yoo.fr</a><br>Enroller Phone: +3300000528br><br>Click to view more details</strong>', BALLOON, true, ABOVE, true);return false" onmouseout="UnTip()"> J'ai donc pensé aux regex...en disant que les données doivent commencer par : onmouseover="Tip('<strong> et se termine par onmouseout="UnTip()"> <?php while($ok = preg_match("#^onmouseover=\"Tip\(\'\<strong\>([a-zA-Z0-9_-.<>]{1,})onmouseout=\"UnTip\(\)\"\>$#", $data2)) { echo "$ok <br>";; } ?> Mais cela renvoie Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 44 svp aidez moi !
  14. Bonsoir, Je rencontre un problème avec internet explorer lorsque j'utilise des frames. J'aimerai donc qu'un lien différent s'affiche en fonction du navigateur. J'ai voulu faire : <!--[if IE]><a href="http://www.rice.com/Signup.php?sponsorId=10">Lien IE</a><![endif]--> <![if !IE]><a href="inscriptionDistrib.php">Lien autres navigateurs</a><![endif]> Le problème est que sur tous les navigateurs hormis IE, le contenu figurant après ces balises ne s'affiche pas. J'ai donc pensé que c'est possible de faire ce que je souhaite avec javascript, mais comment ? Merci
  15. Bonjour, Je rencontre un problème avec internet explorer. En effet, j'ai créé une frame pour afficher une zone d'aide. Sous Firefox et les autres navigateur tout fonctionne, mais sous internet explorer cela bloque quand je passe à la seconde étape...Ça me fait une erreur HTTP500. Page de test: [lien]http://www.mandura-france.fr/inscriptionDistrib.php[/lien] Vous sélectionnez une quantité, vous cochez la case du bas de la page et cliquez sur "next step". Il y aura une erreur http500. Comment y remédier? Mon code : <?php session_start(); $connectionBase = ''.$_SERVER["DOCUMENT_ROOT"].'/includes/connectionBase.php'; if (file_exists($connectionBase)) include($connectionBase); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Devenir distributeur Mandura</title> </head> <frameset rows="*" cols="219,*" framespacing="0" frameborder="yes" border="1"> <frame src="aideSignupDistrib.php" name="leftFrame" scrolling="auto" noresize="noresize" id="leftFrame" title="leftFrame" /> <frame src="http://www.mandurabackoffice.com/distributorSignup.php?sponsorId=<?php echo''.trim($_SESSION['idmandura']).''; ?>" name="mainFrame" id="mainFrame" title="mainFrame" /> </frameset> <noframes><body> </body></noframes> </html> Merci
  16. En fait oui... Mais bon je viens de tout modifier en UTF8: Lorsque je soumet mon formulaire, les données entrées dans la table avec accent, comme le "é", devient par ex é. Je ne comprends pas... Si je fais SELECT CHARSET(pays), COLLATION(pays), CHARSET('Corée du sud'), COLLATION('Corée du sud') FROM Annonceurs LIMIT 1 ; Cela renvoie: CHARSET(pays) => utf8 COLLATION(pays) => utf8_general_ci CHARSET('Corée du sud') => utf8 COLLATION('Corée du sud') => utf8_general_ci La balise méta est: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Voici la structure des bases : phpinfo() : http://voilou.fr/test.php Dans le .htaccess j'ai ajouté : AddDefaultCharset UTF-8 Svp aidez moi je désespère.. Merci
  17. Bonjour, J'ai pour la première fois un problème d'encodage. Je suis en train de développer un site qui sera hébergé chez infomaniak sur une base mysql. Page incriminée : http://www.voilou.fr/annonceurs/ouverture-compte-annonceur.php Comme vous verrez j'ai : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> Dans mysql j'ai choisin latin_general_ci en interclassement. Mon code php (en partie): On suppose que je sélectionne "Bosnie Herzégovine" dans la liste de pays. <?php $pays = ucfirst(strtolower(trim(mysql_real_escape_string($_POST['pays'])))); //Puis je fais une insertion normale dans la base... ?> Le problème est que dans la base de donnée cela donne : Bosnie herzégovine Je comprend pas le problème... j'ai testé le script sur un autre serveur et il n'y a pas ce problème d'encodage Pourquoi et comment y remédier? Merci
  18. Disons que je n'ai jamais travaillé avec les logs, en regardant ceux disponible il y a que l'ip qui permet d'identifier. Je suppose qu'on peut personnaliser comme tu le dis, mais pour le moment je n'ai pas trouver comment...en fait je ne pense pas que ce soit possible sur un mutualisé? Pour parser les log et faire le nécessaire, ca je sais comment faire
  19. Merci pour vos nombreuses réponses... En fait il ne s'agit pas que de récupérer le temps de connection... Il faut : - Récupérer la durée de connexion du membre mais : => vérifier qu'il a bien navigué pour lire le contenu et non par intérêt pur et simple => que s'il reste plus de x minutes sur une page, on ne comptabilise pas le temps en entier, mais max 1 min. => qu'il n'y a pas d'utilisation de robot du type autosurf (qui naviguerait sur le site à la place du membre pour créer du temps de connexion) C'est pour une fidélisation des membres selon leur durée de connexion. En utilisant que les logs je ne pourrais pas faire tout cela simplement...Je pense donc utiliser les sessions pour stocker la durée et ajouter un onclose. Pour la détection des robots, faire un système de détection : Si le temps entre chaque page est identique, si la meme page a été visité 10 fois, si la souris n'a pas bougé...on considère que c'est un robot. C'est la solution la plus simple à réaliser à mes yeux.
  20. Bonjour, Je souhaiterai calculer le temps durant lequel un membre était présent sur mon site. Pour cela j'ai imaginé cette solution, qui est en fait la seule qui m'est venu à l'esprit Je prend l'heure à laquelle la 1ere page s'affiche, puis à chaque fois que le membre navigue, on soustrait l'heure de l'ancienne page... Le problème est de savoir comment faire au mieux...: 1) En utilisant uniquement des sessions : On insère le temps total de connexion dans la base de donnée lorsque le membre se déconnecte du site. Le problème est lorsque la personne quitte le site sans se déconnecter "proprement", il faudrait pouvoir détecter à quel moment elle ferme son navigateur. J'ai vu des codes javascript qui permettaient cela mais je ne suis pas certain que cela fonctionne à 100% et il faudrait obliger le membre à activer JS..? 2) En php : je mets à jour la durée de connexion en faisant un update dans la bdd à chaque rechargement de page. 3) En ajax avec la aussi une maj constante de la bdd. J'ai vu sur le site sportingbet.com, une fois qu'on est identifié en tant que membre, on a un compteur qui s'affiche, qui indique le temps de connexion en temps réel...c'est avec javascript et peut etre ajax. Si on désactive javascript, la durée ne s'affiche plus, mais continue à être comptabiliser ! En effet si je réactive javascript, lorsque j'actualise, la durée indiquée prend en compte le temps ou JS était désactivé ! Le problème en mettant la bdd à jour à chaque rechargement est que je suppose que cela va être lourd pour le serveur au bout d'un moment non? (100 connectés qui envoient une requête update toutes les 10 sec ca peu aller, mais 5000...voir 10000 c'est autre chose) Comment faire pour bien faire? Merci pour votre aide et vos suggestions Bonne journée
  21. Ok c'est bon ca marche Merci
  22. Bonjour, Je souhaite enregistrer dans un tableau des erreurs qui auraient pu survenir suite à la soumission d'un formulaire, afin de récapituler ensuite toutes les erreurs survenues. J'ai donc fait un premier script basique pour apprendre à me servir des array. J'ai essayé ceci: <?php //La fonction de la page foncton.php function VerifTaille($corres, $mot, $taillemax, $erreurs) { if(strlen($mot) > $taillemax) { //ligne 6 ci dessous $erreurs[] = 'Votre '.$corres.' ne doit pas contenir plus de '.$taillemax.' caractères.'; return $erreurs; } } $erreurs=array(); include_once('fonctions.php'); $nom = 'Jonathan'; $second = 'un mot trop long'; VerifTaille("Nom", "$nom", 5, "$erreurs"); VerifTaille("Second nom", 'popopopopo', '9', "$erreurs"); VerifTaille("trois nom", 'popopopopopo', 8, ''.$erreurs.''); if(!empty($erreurs)) { echo'il y a des erreurs<br/>'; var_dump($erreurs); } else { echo'Aucune erreur détectée !'; //var_dump($erreurs); contien array(0) } ?> Mais cela renvoie : Fatal error: [] operator not supported for strings in /home/www/4da4cf67e878e408afce79d539288d42/web/TEST/fonctions.php on line 6 Comment puis je faire? MErci
  23. joboy84

    Optimisation de code

    Bonjour Je suis en train de faire un script d'envoi de newsletter. Je souhaite envoyer les newsletter suivant les centres d'intérêts des membres. Voici la structure de ma base actuelle pour les tests : -- -- Structure de la table `CentresInterets` -- CREATE TABLE IF NOT EXISTS `CentresInterets` ( `id` int(4) NOT NULL auto_increment, `type` varchar(20) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ; -- -------------------------------------------------------- -- -- Structure de la table `membres` -- CREATE TABLE IF NOT EXISTS `membres` ( `id` int(8) NOT NULL auto_increment, `email` varchar(40) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ; -- -------------------------------------------------------- -- -- Structure de la table `MembresInterets` -- CREATE TABLE IF NOT EXISTS `MembresInterets` ( `idmembre` int(8) NOT NULL, `idinteret` int(4) NOT NULL, KEY `idmembre` (`idmembre`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; -- -------------------------------------------------------- -- -- Structure de la table `TempEnvoiMail` -- CREATE TABLE IF NOT EXISTS `TempEnvoiMail` ( `email` varchar(40) collate latin1_general_ci NOT NULL, UNIQUE KEY `Mail` (`email`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; Voici le code qui permet de traiter cette demande (j'ai pas ajouté la fonction mail ici pour ne pas alourdir le code) <?php include('connectionBase.php'); if (isset($_POST['mon_choix'])) { $n = 0; // $i vaut 0, on compte le nombre de fois que mon_choix apparait, tant que $i est inferieur... for($i = 0, $c = count($_POST['mon_choix']); $i < $c; $i++) { //On selectionne l id des membres ayant choisi le centre d interet coché $test = mysql_query('SELECT idmembre FROM MembresInterets WHERE idinteret = "'.$_POST['mon_choix'][$i].'"') or die('Erreur'.mysql_error()); while($do = mysql_fetch_assoc($test)) { //On récupère l'email des membres ayant selectionné le centre d'intérêt $mail = mysql_query('SELECT email FROM membres WHERE id = "'.$do['idmembre'].'"'); $recmail = mysql_fetch_assoc($mail); //On insère les email dans une base temporaire afin d'etre sûr de ne pas envoyer les mails en doublon et // pour reprendre l'envoi si plantage ou restrictions il y a (nbre envoi mail limité par heure..) $BaseTemp = mysql_query('INSERT IGNORE INTO TempEnvoiMail (email) VALUES ("'.$recmail['email'].'")') or die ('Erreur : '.mysql_error()); $n++; } } echo'Il y a '.$n.' personnes qui correspondent aux critères'; } ############################# # On affiche le formulaire # ############################# //On récupère les centres d'intérêts dans la base de données $centre = mysql_query('SELECT id, type FROM CentresInterets') or die('erreur:'.mysql_error()); echo'<form method="POST" action="pagetest.php">'; while($data = mysql_fetch_assoc($centre)) { echo'<input type="checkbox" name="mon_choix[]" value="'.$data['id'].'"/>'.$data['type'].'<br>'; } echo'<input type="submit" value="OK"> </form>'; ?> Tout fonctionne, les mails sont récupérés et insérés dans la table. Je souhaite savoir s'il est possible d'optimiser mon code et si mon approche est la bonne (structure base..) Merci
  24. Ben si elle fonctionne, en haut à gauche tu as les étoiles, en passant le curseur dessus elles s'animent...et en cliquant ca execute le script Oui j'ai pensé à Jquery mais je voulais apprendre par moi meme
  25. Hello J'ai un problème avec mon script de notation étoilé que j'essaye de faire. Au lieu de parler en long et en large, je pense que les codes seront plus parlant : javascript: <script type="text/javascript"> <!-- function request(callback) { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { callback(xhr.responseText); document.getElementById("test").style.display = "none"; } else if (xhr.readyState < 4) { document.getElementById("test").style.display = "inline"; } }; //ICI si y a un guillemet ou autre, un slash s ajoute. var id = encodeURIComponent(document.getElementById("id").value); var note = encodeURIComponent(document.getElementById("note").value); xhr.open("GET", "script_vote.php?id=" + id + "&note= " + note, true); xhr.send(null); } function readData(sData) { //alert(sData); document.getElementById('reponseAjax').innerHTML = (sData); } request(readData); </script> Partie de code php: <?php if(isset($_GET['id']) and isset($_GET['note'])) { //$id est le nom du site de jeux/nom unique identifiant le vote $id = ucfirst(trim(htmlspecialchars(addslashes(mysql_real_escape_string($_GET['id']))))); $note = trim(intval($_GET['note'])); if($note <= 5 && $note >= 1) { //On verifie si le membre a deja vote $verifVote = mysql_query('SELECT id FROM Votes WHERE Pseudo = "'.$_SESSION['pseudo'].'" AND id_du_vote = "'.$id.'"'); if(mysql_num_rows($verifVote) > 0) { //on calcule la moyenne //On revoie a ajax que le membre a deja vote echo '<ul class="vote2" id="ul_notation"> <li class="note-actu" style="width:'.$pourcent.';" id="note"></li> <li><a onclick="return false;" href="#" title="1 sur 5" class="un" ></a></li> <li><a onclick="return false;" href="#" title="2 sur 5" class="deux" ></a></li> <li><a onclick="return false;" href="#" title="3 sur 5" class="trois" ></a></li> <li><a onclick="return false;" href="#" title="4 sur 5" class="quatre" ></a></li> <li><a onclick="return false;" href="#" title="5 sur 5" class="cinq" ></a></li> </ul>'; } } } ?> le code html <body> <div id="test" class="test" style="display: none;"><p style="margin-top:10px; margin-bottom:5px;">Chargement en cours...</p><img src="/ajax-loader.gif" alt="Chargement en cours..." /></div> <?php echo' <ul class="vote" id="ul_notation"> <li class="note-actu" style="width:0%;" id="note"></li> <li><a onclick="request(readData); return false;" href="script_vote.php?id=mince&note=1" title="1 sur 5" class="un" ></a></li> <li><a onclick="request(readData); return false;" href="script_vote.php?id=mince&note=2" title="2 sur 5" class="deux" ></a></li> <li><a onclick="request(readData); return false;" href="script_vote.php?id=mince&note=3" title="3 sur 5" class="trois" ></a></li> <li><a onclick="request(readData); return false;" href="script_vote.php?id=mince&note=4" title="4 sur 5" class="quatre" ></a></li> <li><a onclick="request(readData); return false;" href="script_vote.php?id=mince&note=5" title="5 sur 5" class="cinq" ></a></li> </ul>'; ?> <div id="reponseAjax"></div> </body> </html> Lien test: http://www.voilou.fr/test2.php Ainsi cela fonctionne, le vote est soumis, les données mis à jour dans la base... Le probleme c'est que cela retourne uniquement les données du code php et le reste de la page est supprimé.. En gros, au lieu de retourner la page html ci dessus, cela retourne juste <ul class="vote2" id="ul_notation"> <li class="note-actu" style="width:'.$pourcent.';" id="note"></li> <li><a onclick="return false;" href="#" title="1 sur 5" class="un" ></a></li> <li><a onclick="return false;" href="#" title="2 sur 5" class="deux" ></a></li> <li><a onclick="return false;" href="#" title="3 sur 5" class="trois" ></a></li> <li><a onclick="return false;" href="#" title="4 sur 5" class="quatre" ></a></li> <li><a onclick="return false;" href="#" title="5 sur 5" class="cinq" ></a></li> </ul> Comment cela se fait il? Car normalement il devrait que inserer ces donnees dans le div reponseAjax non? MErci
×
×
  • Créer...