RyanWeb Posté 17 Octobre 2004 Posté 17 Octobre 2004 (modifié) Bonjour, Etant a la recherche d'un moteur de recherche de site externes basé sur MySql, je suis tombé sur KlozaSeek, seulement ce script permet a une personne de s'inscrire plusieurs fois dans la BDD ainsi j'ai essayé mais sans succès de lui ajouter cette fonction (Voir code ajouté en gras). Avez-vous une idée du code adéquat ? <html><head><title>Ajout d'un site</title><? include('metatags.php'); ?></head><body><center> <span class="KlozaSeek_titre"><? include('admin/config.php'); echo $KlozaSeek_haut_ban; ?></span><br><br> <form method="POST" action="index.2.php"> <input type="text" name="Seek" size="40" class="KlozaSeek_form_champs"> <input type="submit" value="Rechercher" name="Rechercher" class="KlozaSeek_form_boutons"> </form><hr><span class="KlozaSeek_titre_pages">Ajout d'un site :</span><br><br> <? // © : Script créé par Shinji-49 de http://www.kyloo.com - Tous droits réservés. // Inclusion du fichier de configuration. include("admin/config.php"); // Transformation des données saisis lors du formulaire. $name = AddSlashes (htmlspecialchars($_POST['name'])); $url = AddSlashes (htmlspecialchars($_POST['url'])); $des = AddSlashes (htmlspecialchars($_POST['des'])); $cles = AddSlashes (htmlspecialchars($_POST['cles'])); $mail = AddSlashes (htmlspecialchars($_POST['mail'])); // Vérification des champs si il sont vide ou pas. if($name =='' || $url =='' || $des =='' || $cles =='' || $mail =='') { echo'<span class="KlozaSeek_texte">Le formulaire n\'a pas été totalement remplie.<br><br><a href="java script:window.history.go(-1)" class="KlozaSeek_lien">Retour</a></span>'; } else{ $connexion = _AT_mysql_connect($host,$user,$pass) or die ("Erreur lors de la connexion au serveur Mysql."); mysql_select_db($base,$connexion) or die ("Erreur lors de la sélection de la base de données."); $url2 = mysql_query("SELECT url FROM klozaseek_urls WHERE url = '$url'") or die ("Erreur lors de la selection des sites dans la base de données."); mysql_close($connexion); if($url == $url2) { echo'<span class="KlozaSeek_texte">Site déjà inscrit !<br><br><a href="java script:window.history.go(-1)" class="KlozaSeek_lien">Retour</a></span>'; }else{ // Vérification de l'adresse mail. if(!ereg("\.",$mail) || !ereg("@",$mail)) { echo'<span class="KlozaSeek_texte">L\'adresse mail saisie est érronée.<br><br><a href="java script:window.history.go(-1)" class="KlozaSeek_lien">Retour</a></span>'; } else{ // Enregistrement de la date. $date = date("d/m/y"); // Connexion au serveur mysql et selection de la base de données. $connexion = _AT_mysql_connect($host,$user,$pass) or die ("Erreur lors de la connexion au serveur Mysql."); mysql_select_db($base,$connexion) or die ("Erreur lors de la sélection de la base de données."); // Execution de la clé d'insersion des données dans la requete. mysql_query("INSERT Into klozaseek_urls VALUES('','$date','$name','$url','$des','$mail','$cles')") or die ("Erreur lors de l'ajout du site."); // Fermeture de la connexion. mysql_close($connexion); // Envoie d'un message à l'ajouteur du site. // Le mail de l'ajouteur de l'url. $to = $mail; // Le mail de l'administrateur. $from = $KlozaSeek_mail; // Le sujet du message. $sujet = 'Votre site chez '.$KlozaSeek_name.' !'; // Le message. $message = 'Bonjour, Votre site à bien été ajoutée le '.$date.'. Voici les informations que vous avez saisie : Nom de votre site : '.$name.' Adresse de votre site : '.$url.' Description de votre site : '.$des.' Mots Clés de votre site : '.$cles.' Merci'; // Envoie... mail($to,$sujet,$message,$from); // Info sur l'opération. echo'<span class="KlozaSeek_texte">L\'ajout de votre site dans '.$KlozaSeek_name.' a été réussie avec succès.<br><br><a href="index.php" class="KlozaSeek_lien">Accueil</a></span>'; } } } ?> <hr><br><? include('menu.php'); ?></center></body></html> Pour l'instant la BDD me renvoie: Ressource id #5 dans tout les cas et non l'url trouvée. Merci par avance de votre aide. Modifié 17 Octobre 2004 par RyanWeb
Sarc Posté 17 Octobre 2004 Posté 17 Octobre 2004 (modifié) Bonjour ! $url2 = mysql_query("SELECT url FROM klozaseek_urls WHERE url = '$url'") or die ("Erreur lors de la selection des sites dans la base de données.");mysql_close($connexion); if($url == $url2) $url2 n'est qu'un tableau SQL des résultats de ta requete, donc n'est en aucun cas l'url que tu as selectionné dans ta base... EDIT : oups, je viens d'ouvrire mon cerveau vers l'extérieur, et de réfléchir a ton script... (pfiou, il en faut du temps le dimanche soir)... Je change ce que j'avais dit, au lieu de regarder si la variable extraite est la meme que celle qu'il demande, il faut juste regarder s'il y a des valeurs extraites de la BDD... $req = mysql_query("SELECT url FROM klozaseek_urls WHERE url = '$url'") or die ("Erreur lors de la selection des sites dans la base de données.");$nbligne = mysql_num_rows($req);mysql_close($connexion);if($nbligne>0)... Voila, ca devrait marcher Modifié 17 Octobre 2004 par sarc
RyanWeb Posté 17 Octobre 2004 Auteur Posté 17 Octobre 2004 (modifié) d'abord, MERCI BEAUCOUP !!!!!! et J'ai mis le premier code et ça marche, je le laisse ? EDIT: Le 2eme marche pas alors que le premier il se presente comme ça au final: $connexion = _AT_mysql_connect($host,$user,$pass) or die ("Erreur lors de la connexion au serveur Mysql."); mysql_select_db($base,$connexion) or die ("Erreur lors de la sélection de la base de données."); $req = mysql_query("SELECT url FROM klozaseek_urls WHERE url = '$url'") or die ("Erreur lors de la selection des sites dans la base de données."); $data = mysql_fetch_array($req); $url2 = $data['url']; mysql_close($connexion); if($url == $url2) { echo'<span class="KlozaSeek_texte">Site déjà inscrit !<br><br><a href="java script:window.history.go(-1)" class="KlozaSeek_lien">Retour</a></span>'; } Modifié 17 Octobre 2004 par RyanWeb
Sarc Posté 17 Octobre 2004 Posté 17 Octobre 2004 non surtout pas ! Justement, si j'ai réfléchi, ce n'est pas pour rien héhé La, ca ne marque que parce que OUI, il y a deja l'url dans ta BDD... Mais s'il n'y a pas d'url équivalente, ca ne marchera plus... Prends le code que je viens de mettre, il marchera quel que soit le résultat lol... Et pis de rien, je suis la pour ca
RyanWeb Posté 17 Octobre 2004 Auteur Posté 17 Octobre 2004 Le 2eme ne marche pas, mais le premier marche avec tout, tu peux le tester là: http://5000euros.free.fr/lescorpion/ajout.php
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant