Champs lien de retour Categorizator et YourphpAnnuaire

Pour toutes les questions relatives à notre annuaire commentaires, suggestions... Également pour les questions relatives aux modifications sur les scripts Arfooo, Categorizator, YourPHPAnnuaire, ...

Champs lien de retour Categorizator et YourphpAnnuaire

Messagede astya » Mercredi, 29 Août 2007, 10:40

Est-ce qu'il serait facile de creer un champs "lien de retour" pour la soumission des sites ?
merci ;-)
Avatar de l’utilisateur
astya
Utilisateur
Utilisateur
 
Messages: 38
Inscription: Dimanche, 15 Juillet 2007, 22:51

Messagede keroin » Mercredi, 29 Août 2007, 12:40

Salut astya,
Tout dépend de ce que tu veux faire avec ce champ ?

Tu veux que ce champ apparaissent dans le formulaire de soumission des sites ?
C'est pour tester automatiquement la présence du lien de retour avant la validation ?

Ou le plus facile, c'est juste pour que l'url de la page où est situé ce lien de retour apparaisse dans la description de chaque site ?

Essaye de détailler exactement ce que tu veux faire que l'on recherche une solution ;-)
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Messagede astya » Lundi, 10 Septembre 2007, 18:09

C'est pour avoir l'url ( et ne pas devoir chercher 3 heures ) dans la description des sites mais seulement dans l'admin et si pas trop difficile, tester serait encore mieux ^^
Avatar de l’utilisateur
astya
Utilisateur
Utilisateur
 
Messages: 38
Inscription: Dimanche, 15 Juillet 2007, 22:51

Messagede keroin » Mercredi, 12 Septembre 2007, 16:15

Il y a apparement dans ce post de Webrankinfo deux scripts proposés qui pourraient convenir à ta demande avec quelques modifications (surtout le deuxième) ;-)
=> http://www.webrankinfo.com/forums/viewtopic_19940.htm
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Messagede astya » Mercredi, 12 Septembre 2007, 16:24

Merci je regarderais ça a tete reposée ^^
Avatar de l’utilisateur
astya
Utilisateur
Utilisateur
 
Messages: 38
Inscription: Dimanche, 15 Juillet 2007, 22:51

Messagede astya » Jeudi, 20 Septembre 2007, 16:05

ha oui mais non ^^ le deuxième c'est de l'échange liens moi je parle d'une fonctionne sur mon annuaire en faite.

Ajouter un champs sur le formulaire d'inscription

lien de retour : -------
et dans l'admin, pour pas chercher 3 heure la page partenaire ou autre page

et ce serait un plus ça vérifiait l'url du lien de retour pendant l'inscription. Il doit bien y avoir ça quelque part, j'ai vu cette fonction sur des categorizator. Le problème c'est de le trouver, et moi suis trop noob en php pour le faire ;-)
Avatar de l’utilisateur
astya
Utilisateur
Utilisateur
 
Messages: 38
Inscription: Dimanche, 15 Juillet 2007, 22:51

Messagede keroin » Jeudi, 20 Septembre 2007, 21:10

J'ai pas trop le temps de bosser là dessus ce soir mais j'y reviendrais.

Si tu veux commencer je vais te donner des pistes de travail ;-)

Les fichiers à modifier sont submit_site.php (ajout d'un champ lors de l'inscription d'un site) et validate_site.php.
=> tu peux t'inspirer du champ pour l'image dans submit_site.php qui est également optionel.

Envoi de l'info dans la BDD =>créer un nouveau champ dans la BDD où seront stockés les liens dans la table sites_annuaire.
=> ce champ peut être appelé "lien_retour" par exemple.

La 3ème étape est de récupérer ce lien dans la page de validation des sites (fichier validate_site.php dans le dossier admin).
=> Ajout de la récupération de l'info du nouveau champ lien_retour dans le "select" de la requète.
=> un "echo" de cette info au niveau de l'affichage de chaque site (entre les lignes 213 et 350 du fichier validate_site.php)

Voilà ça devrait te permettre de commencer ;-)
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Messagede astya » Vendredi, 21 Septembre 2007, 08:47

oulaaa mdr ça va etre dur, pas beaucoup dormit + bon rhume ça va etre dur la mdr

je vais attendre d'avoir un peu plus toute ma tete, mais je vais essayer, comme je veux apprendre, ça sera deja un debut ^^

merci
Avatar de l’utilisateur
astya
Utilisateur
Utilisateur
 
Messages: 38
Inscription: Dimanche, 15 Juillet 2007, 22:51

Reponse à : keroin

Messagede lison2476 » Mercredi, 28 Novembre 2007, 01:43

Bien en fait, j'ai essayé car vu le nombre d'annuaires que j'ai, c'Est un investissement d'y consacrer du temps... Pour moi le PHP est presque du chinois. je me suis surpassée car je me suis rendu à 80% d'achevé. J'ai créé les champs requis dans la base de données, j'ai mis le champs dans le formulaire de soumission, j'ai modifié les pages validate_site et modify_site.
Résultat: dans la validation des sites, c'Est l'url du lien retour qui est affiché au lieu de l'url principale. (à cette étape, le lien retour n'est toujours pas enregistré dans la bdd). Si j'insère le lien retour dans le bon champ, et l'url principale dans le champ url et valide les modifications, bien je suis incapable de retourner modifier le site, ne me reste alors qu'à l'accepter ou le refuser. Site accepté. Pour enregistrer le lien retour dans la base de donnée, il faut que je clique sur modifier le site, dans la catégorie du site, et là, que je l'insère l'url de retour dans le champ prévu à cette fin (mais dans le champ du bas, pas celui du haut) et que je valide les modif. Alors là, l'url retour est bel et bien enregistré dans la bdd. Voici la capture d'écran de la page modify_site. la flèche rouge indique l'endroit où il faut que j'insère l'url de retour si je veux qu'elle s'enregistre dans la base de données.
Image

Comment puis-je faire pour que
1-l'url de retour s'enregistre au bon endroit, et non dans le champ url du site après la soumission du site?
Comment puis-je faire pour que
2-l'url de retour s'enregistre immédiatement dans la base de données en validant le site?

j'ai pourtant les mêmes informations d'inscrites dans la page modyfie_site que ce soit pour le champ url de retour du haut et du bas.

Merci d'avance :)
Avatar de l’utilisateur
lison2476
Participant occasionnel
Participant occasionnel
 
Messages: 11
Inscription: Mercredi, 28 Novembre 2007, 01:16
Localisation: quebec

Messagede keroin » Mercredi, 28 Novembre 2007, 19:11

Bonjour et bienvenue lison2476 :welcome:

Bon je ne suis pas certain d'avoir bien tout suivis mais apparemment il semblerait qu'il y ait une erreur dans ton code quand tu affiches les données du site proposé.
Il faut vérifier si les "appels" des données du site sont correctes, on dirait que tu as donné le même nom aux champs "url du site" et "url du lien de retour".

Sans le code c'est vraiment pas évident de chercher l'erreur mais il semblerait que cela provienne de l'enregistrement en base de données ou de l'appel de cette données enregistrée.
Néanmoins, cette erreur se situe soit dans le fichier modify_site (dans la requête sql qui "appel" les données qui seront affichées dans le formulaire) ou alors dans le fichier validate_site (même erreur).

Il faut faire l'enregistrement en BDD dès que le site est proposé, si il n'y a aucun enregistrement à afficher ça bug (enfin logiquement le champ devrait rester vierge).

Vérifie si, après proposition d'un site, le nouveau champ sql créé contient bien l'information (l'url du lien de retour) via phpmyadmin par exemple.

L'erreur peut également provenir du champ pour afficher l'url du lien de retour. Un mauvais copier-coller du code de ton nouveau champ de formulaire (un oubli de le modifier peut être).

En gros, vraiment pas évident à déterminer l'origine de cette erreur :saipas:

Essaye de reprendre toutes les étapes que tu as suivis pour ta modif du début en vérifiant les requêtes sql et les commandes dans les champs d'affichages, il y en a certainement une qui appelle 2 fois l'url du lien de retour et qui provoque ce bug ;-)
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Messagede lison2476 » Mercredi, 28 Novembre 2007, 19:30

Merci de ta réponse :)
En fait, je ne connais pas bcp les termes du PHP, donc je ne sais pas ce qu'est un champ d'affichage... J'ai modifié les fichiers "logiquement" et partout où je voyais les requetes pour la base de données, $url,$description,$url_image... bien j'ajoutais $url_reciprocal, et j'ai scruté les pages de font en comble :rolleyes: après avoir ajouté les deux champs dans la base de données pour finalement en arriver jusque là. Les champs de la base de données, j'ai pris le champ de l'url comme exemple, ce qui me paraissait le plus près de ce que je voulais. Je vais essayer de voir tout ça, en suivant ce que tu dis... mais c'est quoi le champ d'affichage?? :sm7:
Je vais voir s'il y a un doublon à quelque part... Parce que le champ url est bien distinct d'url de retour, et ce partout, sur les pages php et sur la bdd. Heureusement que j'ai un ami qui connait le php bcp plus que moi... mais lui non plus ne voit pas du tout où j'ai loupé...
:gun:
On va s'armer de patience, relever nos manches et continuer de travailler car je suis certaine qu'on est très près du but, même à un cheveu! :sm6:

Je reviens bientot avec je l'espère des conclusions positives :)

Merci de ton temps :hi: :hi:
Avatar de l’utilisateur
lison2476
Participant occasionnel
Participant occasionnel
 
Messages: 11
Inscription: Mercredi, 28 Novembre 2007, 01:16
Localisation: quebec

Messagede keroin » Mercredi, 28 Novembre 2007, 19:53

mais c'est quoi le champ d'affichage??


C'est la ligne de code qui demande l'affichage de l'information, ici c'est la "case" où apparaît l'url du champs de retour.

j'ai pris le champ de l'url comme exemple

Oui justement et c'est pour cela que je me demandais si en faisant un copier-coller de cet exemple il n'y avait pas eu un oubli de modification sur une des lignes (l'appel de l'url classique doit être remplacé par l'url du champ de retour).

En tout cas bon courage car je sais ce que c'est que de s'acharner pendant des heures sur une page de code sans trouver ce qui cloche et qu'on se rend compte qu'on vient de passer une nuit complète à chercher pour un simple point virgule qui manquait dans une fonction :frown: :sm15:
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Messagede lison2476 » Jeudi, 29 Novembre 2007, 02:22

Bon, là, j'ai fait un petit pas en avant: les urls sont aux bons endroits lorsqu'on soumet un site. Parcontre, la base de données n'enregistre pas l'url de retour. Je dois passer par la même manipulation que cité dasn le message précédent.

Alors, voici quelques codes changés... peut etre vas tu y voir quelque chose?
Voici la première partie, la page submit_site: Il y a 3 gros blocs où j'ai modifié les codes. Je vais voir si tu détecteras quelque chose... avant d'envoyer les autres pages car ca fait bcp de codes... :) :hi: En espérant que tu y verra quelque chose ... ;)

Code: Tout sélectionner
<?php
//un visiteur vient de soumettre son site
//il faut qu'il soit valider par l'administrateur et
//il faut aussi lui envoyer un email pour le prevenir que son site est en attente
//donc le nom du webmaster et son email sont importantes et doivent etre remplis
$action = isset($_POST['action']) ? $_POST['action'] : '';
if ($action == "submit")
{
   // recuperation des donnees
   $nom_proprio = isset($_POST['nom_proprio']) ? $_POST['nom_proprio'] : '';
   $email_proprio = isset($_POST['email_proprio']) ? $_POST['email_proprio'] : '';
   $titre = isset($_POST['titre']) ? $_POST['titre'] : '';
   $url = isset($_POST['url']) ? $_POST['url'] : '';
    $url_reciprocal = isset($_POST['url_reciprocal']) ? $_POST['url_reciprocal'] : '';
   $url_image = isset($_POST['url_image']) ? $_POST['url_image'] : '';
   $url_image = $url_image=='http://' ? '' : $url_image;
   $description = isset($_POST['description']) ? $_POST['description'] : '';
   $add2newsletter = isset($_POST['add2newsletter']) ? (int)$_POST['add2newsletter'] : 0;
   $code = isset($_POST['code']) ? $_POST['code'] : '';
   //verification de tous les champs (on ne quitte pas sechement l'execution en cas d'erreur...)
   est_vide($nom_proprio,"Vous n'avez pas rempli votre nom !",true);
   email_valide($email_proprio,true);
   est_vide($titre,"Vous n'avez pas rempli le titre du site !",true);
   url_valide($url,true);
    url_image_valide($url_image,true);
   est_vide($description,"Vous n'avez pas rempli la description du site !",true);
   est_trop_long($description,$rv_nb_caractere_descr,"Votre description",true);
   if(preg_match('`http://www\.oorangeref\.com/result_referencement\.php`', $_SERVER['HTTP_REFERER']) || preg_match('`http://oorangeref\.com/result_referencement\.php`', $_SERVER['HTTP_REFERER']))
      echo '<p style="text-align:center;">Référencement réussi grâce à OORangeRef.Com</p>';
   elseif($PMA_infos['code_verif'])
   {
      faux_code($code,"Le code de vérification que vous avez entré est incorrect !",true);
   }

   //connexion a la BD (va etre utile pour verifier la presence de l'url et avant ca aller chercher les infos de l'admin)
   //on est deja connecte
   //creation de la requete d'administration
   $sql_admin = "SELECT max_presence, auto_validate, email_master, titre_site, url_rep FROM $T_infos ";
   //envoi de la requete
   $res_admin = send_sql($sql_admin,"trouver les infos pour l'ajout du site");

   $result_admin = mysql_fetch_array($res_admin);
   $auto_validate = $result_admin["auto_validate"];
   $email_master = $result_admin["email_master"];
   $titre_site = $result_admin["titre_site"];
   $url_rep = $result_admin["url_rep"];
   $max_presence = $result_admin["max_presence"];

   //on cherche si l'url n'est pas deja presente dans les tables (la fonction exit si probleme)
   if (cherche_presence_url($url,$id_cat,$max_presence))
   {
      ?>
      <br /><br />
      <a style="text-align:center;" href="javascript:history.go(-1);">Retour au formulaire</a>
      <?php
      include("after.php");
      exit;
   }

   if (!get_magic_quotes_gpc())
   //on rajoute des slash pour les magic_quote en OFF
   {
      $nom_proprio = addslashes($nom_proprio);
      $titre = addslashes($titre);
      $description = addslashes($description);
        $url_reciprocal = addslashes($url_reciprocal);
   }
   //on enleve les caracteres speciaux et les balises html
   $nom_proprio = $nom_proprio;
   $titre = $titre;
   $description = $description;
    $url_reciprocal = $url_reciprocal;

   //si tous les champs sont biens remplis
   //on peut ajouter le site dans la table des sites en attente de validation

   //creation des requetes
   if ($auto_validate)
   //directement accepte et donc dans la table des sites
   { $sql = "INSERT INTO $T_sites (id_cat,titre,description,url,url_reciprocal,url_image,nom_proprio,email_proprio,date_validation) VALUES ('$id_cat','$titre','$description','$url','$url_reciprocal','$url_image','$nom_proprio','$email_proprio',CURRENT_DATE) "; }
   else //dans la table des sites en attente
   { $sql = "INSERT INTO $T_sites_in_wait (id_cat,titre,description,url,url_reciprocal,url_image,nom_proprio,email_proprio,date_soumission) VALUES ('$id_cat','$titre','$description','$url','$url_reciprocal','$url_image','$nom_proprio','$email_proprio',CURRENT_DATE) "; }
   $sql_cat_name = "SELECT cat_name FROM $T_categories WHERE id = '$id_cat' ";
   //envoi des requetes
   $ins = send_sql($sql,"soumettre un site !");
   $res_cat_name = send_sql($sql_cat_name,"trouver le nom de la catégorie");
   //fin de la connexion
   mysql_close($lk);

   $resultat_cat_name = mysql_fetch_array($res_cat_name,MYSQL_ASSOC);
-----------------------------------
if (!get_magic_quotes_gpc())
   //on rajoute des slash pour les magic_quote en OFF
   {
      $nom_proprio = addslashes($nom_proprio);
      $titre = addslashes($titre);
      $description = addslashes($description);
        $url_reciprocal = addslashes($url_reciprocal);
   }
   //on enleve les caracteres speciaux et les balises html
   $nom_proprio = $nom_proprio;
   $titre = $titre;
   $description = $description;
    $url_reciprocal = $url_reciprocal;
   
   //si tous les champs sont biens remplis
   //on peut ajouter le site dans la table des sites en attente de validation
   
   //creation des requetes
   if ($auto_validate)
   //directement accepte et donc dans la table des sites
   { $sql = "INSERT INTO $T_sites (id_cat,titre,description,url,url_reciprocal,url_image,nom_proprio,email_proprio,date_validation) VALUES ('$id_cat','$titre','$description','$url','$url_reciprocal','$url_image','$nom_proprio','$email_proprio',CURRENT_DATE) "; }
   else //dans la table des sites en attente
   { $sql = "INSERT INTO $T_sites_in_wait (id_cat,titre,description,url,url_reciprocal,url_image,nom_proprio,email_proprio,date_soumission) VALUES ('$id_cat','$titre','$description','$url','$url_reciprocal','$url_image','$nom_proprio','$email_proprio',CURRENT_DATE) "; }
   $sql_cat_name = "SELECT cat_name FROM $T_categories WHERE id = '$id_cat' ";
   //envoi des requetes
   $ins = send_sql($sql,"soumettre un site !");
   $res_cat_name = send_sql($sql_cat_name,"trouver le nom de la catégorie");
   //fin de la connexion
   mysql_close($lk);

   $resultat_cat_name = mysql_fetch_array($res_cat_name,MYSQL_ASSOC);

---------------------------
      <?php
      }
      else
      {
         $id_cat = isset($_GET['id_cat']) ? $_GET['id_cat'] : '';
         
         if ( $_GET['action']=='meta_send' )
         {
            $url = isset($_GET['url']) ? $_GET['url'] : '';

                $url_reciprocal = isset($_GET['url_reciprocal']) ? $_GET['url_reciprocal'] : '';

            url_valide ( $url, true );

            list($url,$url_reciprocal,$url_image,$nom_proprio,$email_proprio,$titre,$description) = preremplir_formulaire($url,true);
         }
         elseif ( $_GET['action']=='meta_pass' )
         {
            list($url,$url_reciprocal,$url_image,$nom_proprio,$email_proprio,$titre,$description) = preremplir_formulaire($url,false);
         };
      ?>
      <center><span class="all_field_required_annuaire">Tous les champs sont obligatoires !</span></center>
      <br /><br />

Edit Keroin : ajout des balises [code]
Avatar de l’utilisateur
lison2476
Participant occasionnel
Participant occasionnel
 
Messages: 11
Inscription: Mercredi, 28 Novembre 2007, 01:16
Localisation: quebec

Messagede keroin » Jeudi, 29 Novembre 2007, 19:12

Bon j'ai tout relu au moins trois fois et je ne suis pas parvenu à trouver des erreurs dans ces fichiers :saipas:

A quoi ressemble le champ sql que tu as créés dans la base de données ?
Essaye de faire un screenshot des paramètres de ce champ de BDD (varchar,...) voir si ça vient de là... Essaye également de le supprimer puis de le recréer dans la base, ensuite lance une optimisation de la base et refait un essai on ne sait jamais...

Sinon bah je ne vois plus qu'un bug dans la page validate_site ???
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Messagede lison2476 » Jeudi, 29 Novembre 2007, 22:45

Alors voici la page validate_site (en entier) et avant, les images de la base de données: site_in_wait et site annuaire

j'ai lu et relu validate_site.php, mais je n'y voit que dalle! :frown:

Image

Image


Code: Tout sélectionner
<?php
//validation des sites en attentes
include("../data_bd_annuaire.php"); //variables de l'annuaire
include("../functions.php"); //fonctions de l'annuaire
include("secure.php"); //verification de la session + connexion a la BD

// si on a pas quitte dans secure.php, on peut continuer...

//creation de la requete pour aller chercher les infos admin
$sql_admin = "SELECT titre_site, email_master, url_rep, auto_validate, func_mail FROM $T_infos ";
//connexion a la BD
//on est deja connecte
//envoi de la requete
$res_admin = send_sql($sql_admin,"trouver les infos d'administration");
//pas de fin de connexion on en aura encore besoin plus tard

//traitement du resultat
$result_admin = mysql_fetch_array($res_admin,MYSQL_ASSOC);
$auto_validate = $result_admin["auto_validate"];
$func_mail = $result_admin["func_mail"];
$titre_site = $result_admin["titre_site"];
$email_master = $result_admin["email_master"];
$url_rep = trim( $result_admin["url_rep"], '/' );

$action = isset($_POST['action']) ? $_POST['action'] : '';

if ($action == "validate")
//validation des sites en attente
{
   // recuperation des donnees
   $site2validate = isset($_POST['site2validate']) ? $_POST['site2validate'] : array();
   $id_cat_url2validate = isset($_POST['id_cat_url2validate']) ? $_POST['id_cat_url2validate'] : array();
   $url2validate = isset($_POST['url2validate']) ? $_POST['url2validate'] : array();
    $url_reciprocal2validate = isset($_POST['url_reciprocal2validate']) ? $_POST['url_reciprocal2validate'] : array();
   
   foreach ($site2validate as $i => $c)
      $site2validate[$i] = (int)$c;
   foreach ($id_cat_url2validate as $i => $c)
      $id_cat_url2validate[$i] = (int)$c;
   if (!get_magic_quotes_gpc())
   {
      foreach ($url2validate as $i => $u)
         $url2validate[$i] = addslashes($u);
   }
   ?>
   <b>Résultats de la validation des sites :</b>
   <br /><br />
   <?php
   $nb_site2validate = count($site2validate);
   $url_site2add = array();
   $url_site2del = array();
   for ($i=0;$i<$nb_site2validate;$i++)
   {
      //si on a coche la case, on retient l'url (et sa cat) a ajouter dans un tableau
      if ($site2validate[$i] == 1)
      {
         $url_site2add[] = $url2validate[$i];
         $id_cat_site2add[] = $id_cat_url2validate[$i];
      }
      elseif ($site2validate[$i] == -1)
      {
         $url_site2del[] = $url2validate[$i];
         $id_cat_site2del[] = $id_cat_url2validate[$i];         
      }
   }
   $nb_site2add = count($url_site2add);
   $nb_site2del = count($url_site2del);

   if ($nb_site2add + $nb_site2del)
   //si on a valide ou refuse au moins un site
   {
      for($i=0;$i<$nb_site2add;$i++)
      {
         //on est deja connecte
         $sql = "SELECT * FROM $T_sites_in_wait WHERE url = '$url_site2add[$i]' AND id_cat = '$id_cat_site2add[$i]' AND url_reciprocal = '$url_reciprocal_site2add[$i]' ";
         //recherche de l'enregistrement dans la table d'attente      
         $res = send_sql($sql,"selectionner les sites a ajouter dans site_in_wait");
         $resultat = mysql_fetch_array($res,MYSQL_ASSOC);
         
         //comme les donnees ne proviennent pas des GPC, il faut obligatoirement ajouter les \
         $resultat["titre"] = addslashes($resultat["titre"]);
            $resultat["url_reciprocal"] = addslashes($resultat["url_reciprocal"]);
         $resultat["nom_proprio"] = addslashes($resultat["nom_proprio"]);
         $resultat["description"] = addslashes($resultat["description"]);

         if (mysql_num_rows($res))//si on a un resultat
         {
            //on ajoute le site dans la table des sites
            $sql = "INSERT INTO $T_sites (id_cat,titre,description,url,url_reciprocal,url_image,nom_proprio,email_proprio,date_validation) VALUES ('$resultat[id_cat]','$resultat[titre]','$resultat[description]','$resultat[url]','$resultat[url_reciprocal]','$resultat[url_image]','$resultat[nom_proprio]','$resultat[email_proprio]',CURRENT_DATE) ";
            $ins = send_sql($sql,"insérer le site dans la table des sites de l'annuaire");
            //on le supprime dans les tables en attente
            $sql = "DELETE FROM $T_sites_in_wait WHERE url = '$url_site2add[$i]' AND id_cat = '$id_cat_site2add[$i]' AND url_reciprocal = '$url_reciprocal_site2add[$i]' ";
            $del = send_sql($sql,"supprimer le site $url_site2add dans la table des sites en attente");
            echo "Le site \"".htmlspecialchars($url_site2add[$i])."\" vient d'être ajoutée dans votre annuaire\n<br />\n";
            if($func_mail)
            //si on sait envoyer des mails
            {
               //envoi d'un mail au webmaster du site ajoute
               $sqlc = "SELECT cat_name FROM $T_categories WHERE id = '$resultat[id_cat]' ";
               $resc = send_sql($sqlc,"sélectionner le nom de la catégorie du site");
               $resultatc = mysql_fetch_array($resc,MYSQL_ASSOC);
               //preparation du message
               $message = "Votre site $url_site2add[$i] vient d'être accepté et donc ajouté dans l'annuaire de $titre_site\n\n";
               $message .= "Vous pouvez venir le voir dans notre annuaire à l'adresse suivante : $url_rep/".id_to_url($resultat['id_cat'],$resultatc['cat_name'],'1')."\n";
               //envoi du mail
               send_mail($resultat["email_proprio"],"Votre site est accepté",htmlspecialchars($message),$email_master);
            } //fin if func_mail
         }
         else //pas de resultat trouve
         { echo "Erreur lors de la sélection, impossible de retrouver le site à insérer dans la table des sites en attente !\n<br />\n"; }
      } //fin for

      //suppression des sites a refuser      
      echo "<br /><br />\n";
      for ($i=0;$i<$nb_site2del;$i++)
      {
         $sql = "DELETE FROM $T_sites_in_wait WHERE url = '$url_site2del[$i]' AND id_cat = '$id_cat_site2del[$i]' ";
         $del = send_sql($sql,"supprimer le site $url_site2del dans la table des sites en attentes (admin)");
         echo "Le site \"".htmlspecialchars($url_site2del[$i])."\" a été refusé !\n<br />\n";
      }
   }//fin du if (nb_site2add + nb_site2del)
   else
   //aucun site selectionne
   { echo "Aucun site à valider/supprimer !"; }

   //fin de la connexion
   mysql_close($lk);
   ?>
   <br /><br />
   <a href="<?php echo addsess2url("admin.php",$session_id); ?>">Retour à l'administration de l'annuaire</a>
   <?php
   exit;
} //fin du if action==validate

if ($action == "revalidate")
//revalidation des sites mis en attente suite a une verification
{
   // recuperation des donnees
   $site2revalidate = isset($_POST['site2revalidate']) ? $_POST['site2revalidate'] : array();
   $url2revalidate = isset($_POST['url2revalidate']) ? $_POST['url2revalidate'] : array();

   foreach ($site2revalidate as $i => $s)
      $site2revalidate[$i] = (int)$s;
   if(!get_magic_quotes_gpc())
   {
      foreach ($url2revalidate as $i => $u)
         $url2revalidate[$i] = addslashes($u);
   }
   ?>
   <b>Résultats de la revalidation des sites :</b>
   <br /><br />
   <?php
   $nb_site2revalidate = count($site2revalidate);
   $url_site2react = array();
   $url_site2del = array();
   for ($i=0;$i<$nb_site2revalidate;$i++)
   {
      //si on a coche la case, on retient l'url (et sa cat) a ajouter dans un tableau
      if ($site2revalidate[$i] == 1)
      { $url_site2react[] = $url2revalidate[$i]; }
      elseif ($site2revalidate[$i] == -1)
      { $url_site2del[] = $url2revalidate[$i]; }
   }
   $nb_site2react = count($url_site2react);
   $nb_site2del = count($url_site2del);

   if ($nb_site2react + $nb_site2del)
   //si on a valide ou refuse au moins un site
   {
      for($i=0;$i<$nb_site2react;$i++)
      {
         //creation de la requete
         $upd = "UPDATE $T_sites SET activation = 1 WHERE url = '$url_site2react[$i]' ";
         //on est deja connecte
         $res = send_sql($upd,"réactiver le site");
         echo "Le site $url_site2react[$i] vient d'être réactiver\n<br />\n";
      } //fin for

      //suppression des sites a refuser      
      echo "<br /><br />\n";
      for ($i=0;$i<$nb_site2del;$i++)
      {
         //creation de la requete
         $sql = "DELETE FROM $T_sites WHERE url = '$url_site2del[$i]' ";
         $del = send_sql($sql,"supprimer le site $url_site2del dans la table des sites en attentes (admin)");
         echo "Le site $url_site2del[$i] vient d'être supprimé !\n<br />\n";
      }
   }//fin du if (nb_site2react + nb_site2del)
   else
   //aucun site selectionne
   { echo "Aucun site à revalider/supprimer !"; }

   //fin de la connexion
   mysql_close($lk);
   ?>
   <br /><br />
   <a href="<?php echo addsess2url("admin.php",$session_id); ?>">Retour à l'administration de l'annuaire</a>
   <?php
   exit;
} //fin du if action==revalidate

?>
<html>
<head>
<title>Validation des sites en attente dans l'annuaire</title>
</head>
<body style="background-color:#FFFFCC;">
<a href="<?php echo addsess2url("admin.php",$session_id); ?>">Retour à l'accueil de l'administration</a>
<br />
<h2 style="text-align:center">Validation des sites en attente</h2>
<br /><br />
<?php

// On vérifie s'il n'y pas des sites mis en attente pour les annuaires en auto_validate
$sql_verif_auto = "SELECT DISTINCT s.titre, s.url, s.url_reciprocal, s.url_image, s.id, c.id AS id_cat, c.cat_name FROM $T_sites s, $T_categories c WHERE s.id_cat = c.id AND (s.activation = 2 OR s.activation = 0) ORDER BY titre ASC";
$res_verfi_auto = send_sql($sql_verif_auto,"trouver les sites mis en attente suite à une vérification");


if (!$auto_validate || mysql_num_rows($res_verfi_auto)) //si il faut bien valider les sites ou qu'il y a des sites mis en attente
{
   //formulaire destine a l'administrateur avec lequel il pourra valider des sites

   //affichage de tous les sites de la table site_en_attente
   //creation des requetes
   $sql1 = "SELECT s.*, c.cat_name FROM $T_sites_in_wait s, $T_categories c WHERE s.id_cat = c.id ORDER BY date_soumission ASC";
   $sql2 = "SELECT DISTINCT s.titre, s.url, s.url_reciprocal, s.url_image, s.id, c.id AS id_cat, c.cat_name FROM $T_sites s, $T_categories c WHERE s.id_cat = c.id AND (s.activation = 2 OR s.activation = 0) ORDER BY titre ASC";
   //connexion a la BD
   //on est deja connecte
   //envoi des requetes
   $res1 = send_sql($sql1,"trouver les sites en attente de validation");
   $res2 = send_sql($sql2,"trouver les sites mis en attente suite à une vérification");
   //fin de la connexion
   mysql_close($lk);
   ?>
   Vous pouvez visiter les sites en cliquant sur le titre.
   <br />
   Vous pouvez également modifier les infos d'un site en attente avant de le valider dans votre annuaire !
   <?php   
   if (mysql_num_rows($res1))
   //si on a trouve au moins un site en attente
   {
      ?>
      <br />
      <center>
      <form action="<?php echo addsess2url("validate_site.php",$session_id); ?>" method="post">
      <input type="hidden" name="action" value="validate">
      <table border="1" bordercolor="#000000" cellspacing="0" cellpadding="4">
         <tr>
            <td align="center" width=450><strong>Site soumis par les visiteurs</strong></td>
            <td align="center"><strong>Date de soumission</strong></td>
            <td align="center"><strong>Valider</strong></td>
            <td align="center"><strong>Refuser</strong></td>
            <td align="center"><strong>Attendre</strong></td>
         </tr>
      <?php
      $i=0;
      while ($a_site = mysql_fetch_array($res1,MYSQL_ASSOC))
      {
         ?>
         <tr>
            <td align="left" width=450>
               <a href="<?php echo $a_site["url"]; ?>" target="_blank" value=1><?php echo htmlspecialchars($a_site["titre"]); ?></a> :
               [<a href="<?php echo addsess2url("modify_site.php?action=show_site_in_wait_prop&id_cat=$a_site[id_cat]&url=$a_site[url]",$session_id); ?>">Modifier</a>]
               <br />
               Proposé dans <a href="<?php echo addsess2url("admin_annuaire.php?cat_id=$a_site[id_cat]",$session_id); ?>"><?php echo htmlspecialchars($a_site["cat_name"]); ?></a>
               <br /><br />
                    Url de retour <a href="<?php echo $a_site["url_reciprocal"]; ?>" target="_blank"><?php echo htmlspecialchars($a_site["url_reciprocal"]); ?></a> :
               <br /><br />
               <?php echo htmlspecialchars($a_site["description"]); ?><br />
               <?php
                  if ( $a_site["url_image"] )
                     echo "<br /><a href=\"$a_site[url]\" target=\"_blank\"><img src=\"$a_site[url_image]\" width=\"120\" height=\"90\" border=\"0\"></a>";
                  else
                     echo "<br /><a href=\"$a_site[url]\" target=\"_blank\"><img src=\"../img/image_sites.gif\" width=\"120\" height=\"90\" border=\"0\"></a>";
               ?>
            </td>
            <td align="center">
               <?php echo $a_site["date_soumission"]; ?>
            </td>
            <td align="center">
               <input type="hidden" name="url2validate[<?php echo $i; ?>]" value="<?php echo $a_site["url"]; ?>" />
               <input type="hidden" name="id_cat_url2validate[<?php echo $i; ?>]" value="<?php echo $a_site["id_cat"]; ?>" />
               <input type="radio" name="site2validate[<?php echo $i; ?>]" value="1" />
               <br />
            </td>
            <td align="center">
               <input type="radio" name="site2validate[<?php echo $i; ?>]" value="-1" />
               <br />
            </td>
            <td align="center">
               <input type="radio" name="site2validate[<?php echo $i; ?>]" value="0" checked />
               <br />
            </td>
         </tr>
         <?php
         $i++;
      }
      ?>
      </table>
      <br /><br />
      <center><input type="submit" value="Valider les sites sélectionnées" onClick="this.value='Validation en cours...';" /></center>
      </form>
      </center>
      <br /><br />
      <hr>
      <?php
   }
   if (mysql_num_rows($res2))
   //si on a trouve au moins un site mis en attente
   {
      ?>
      <br /><br />
      <center>
      <form action="<?php echo addsess2url("validate_site.php",$session_id); ?>" method="post">
      <input type="hidden" name="action" value="revalidate" />
      <table border=1 bordercolor="#000000" cellspacing="0" cellpadding="4">
         <tr>
            <td align="center" width="450"><strong>Site mis en attente suite à une vérification</strong></td>
            <td align="center"><strong>Réactiver</strong></td>
            <td align="center"><strong>Supprimer</strong></td>
            <td align="center"><strong>Attendre</strong></td>
         </tr>
      <?php
      $i=0;
      while ($a_site = mysql_fetch_array($res2,MYSQL_ASSOC))
      {
         ?>
         <tr>
            <td>
               <a href="<?php echo $a_site["url"]; ?>" target="_blank"><?php echo htmlspecialchars($a_site["titre"]); ?></a> :
               [<a href="<?php echo addsess2url("modify_site.php?action=show_dead_site_prop&id_site2modify=$a_site[id]",$session_id); ?>">Modifier</a>]
               <br />
               Présent dans <a href="<?php echo addsess2url("admin_annuaire.php?id_cat=$a_site[id_cat]",$session_id); ?>"><?php echo htmlspecialchars($a_site["cat_name"]); ?></a>         
               <br />
               <a href="<?php echo $a_site["url"]; ?>" target="_blank"><?php echo $a_site["url"]; ?></a><br />
               <?
                  if ( $a_site["url_image"] )
                     echo "<br /><a href=\"$a_site[url]\" target=\"_blank\"><img src=\"$a_site[url_image]\" width=\"120\" height=\"90\" border=\"0\"></a>";
                  else
                     echo "<br /><a href=\"$a_site[url]\" target=\"_blank\"><img src=\"../img/image_sites.gif\" width=\"120\" height=\"90\" border=\"0\"></a>";
               ?>
            </td>
            <td align="center">
               <input type="hidden" name="url2revalidate[<?php echo $i; ?>]" value="<?php echo $a_site["url"]; ?>" />
               <input type="radio" name="site2revalidate[<?php echo $i; ?>]" value="1" />
               <br />
            </td>
            <td align="center">
               <input type="radio" name="site2revalidate[<?php echo $i; ?>]" value="-1" />
               <br />
            </td>
            <td align="center">
               <input type="radio" name="site2revalidate[<?php echo $i; ?>]" value="0" checked />
               <br />
            </td>
         </tr>
         <?php
         $i++;
      }
      ?>
      </table>
      <br /><br />
      <center><input type="submit" value="Valider les sites sélectionnées" onClick="this.value='Validation en cours...';" /></center>
      </form>
      </center>
      <br /><br /><br />
      <?php
   }
   if(!mysql_num_rows($res1) && !mysql_num_rows($res2))
   {
      ?>
      <br /><br />
      <strong>
      Aucun site en attente de validation
      </strong>
      <br /><br />
      <?php
   }
} //fin du if (!auto_validate)
else //auto_validate = 1 ==> ajout automatique
{
   ?>
   Il n'y a aucun site à valider vu que vous avez parametré l'annuaire pour que les sites soient automatiquement acceptés !
   <br />
   Si vous voulez de nouveau avoir le contrôle sur la validation des sites, il faut aller <a href="<?php echo addsess2url("param_annuaire.php",$session_id); ?>">modifier les paramètres</a> de votre annuaire...
   <?php
}

include('footer_admin.php');
?>
</body>
</html>
Avatar de l’utilisateur
lison2476
Participant occasionnel
Participant occasionnel
 
Messages: 11
Inscription: Mercredi, 28 Novembre 2007, 01:16
Localisation: quebec

Suivante

Les discussions en relation


Retourner vers Les Pages du Keroinsite

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités