[PHP] Redirection après formulaire

Redirection après formulaire [PHP] - PHP - Programmation

Marsh Posté le 06-03-2007 à 11:15:47    

C'est juste pour information...
Apparement ma redirection par Header("Location" ) ne fonctionne pas je suppose que c'est parce qu'il doir y avoir du code plus haut(notemment pour des test)
donc est ce grave pour le referencement de rediriger par <javascript> pour renvoyer vers une page pour afficher  une validation OK du formulaire ou une page d'erreur

Reply

Marsh Posté le 06-03-2007 à 11:15:47   

Reply

Marsh Posté le 06-03-2007 à 12:01:21    

Et bien, soit tu utilise un buffer, (ob_start()), mais bon ce serait luxueux, le mieux c'est que tu désactive toute tes sorties de test.

Reply

Marsh Posté le 06-03-2007 à 13:27:55    

lilougirl8 a écrit :

C'est juste pour information...
Apparement ma redirection par Header("Location" ) ne fonctionne pas je suppose que c'est parce qu'il doir y avoir du code plus haut(notemment pour des test)
donc est ce grave pour le referencement de rediriger par <javascript> pour renvoyer vers une page pour afficher  une validation OK du formulaire ou une page d'erreur


La où c'est crado, c'est que par exemple dans ton historique tu auras les 2 pages, et tu ne pourra pas faire précédent par ex...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-03-2007 à 14:27:56    

heu je compren pas tro ce que tu veux dire...
 
le mieu c'est que je post mon code
 

Code :
  1. if (isset($_POST['envoyer']))
  2.        {
  3.    $referenceup = strtoupper($_POST['reference']);
  4.    $code_postal_test = strlen($_POST['code_postal']);
  5.      
  6.   if(isset($_POST['prestation_int']))
  7.   {
  8.   $prestation_int = $_POST['prestation_int'];
  9.      $donnee_prest_int = implode (",",$prestation_int);
  10.         } 
  11.        else
  12.      {
  13.      $prestation_int = "";
  14.      }
  15.  
  16.  
  17.       if(isset($_POST['prestation_ext']))
  18.   {
  19.   $prestation_ext = $_POST['prestation_int'];
  20.      $donnee_prest_ext = implode (",",$prestation_ext);
  21.         } 
  22.        else
  23.      {
  24.      $prestation_ext = "";
  25.      }
  26.  
  27.           if($_POST['reference'] =="" )
  28.               {
  29.        $erreur_oubli1 = "Vous n'avez pas entrer de réference";
  30.        }
  31.  
  32.        if($_POST['type_affaire'] =="" )
  33.        {
  34.       $erreur_oubli2 = "Vous n'avez pas entrer le type d'affaire";
  35.      }
  36.       if($code_postal =="" )
  37.         {
  38.         $erreur_oubli3 = "Vous n'avez pas entrer de code Postal";
  39.         }
  40.      if($code_postal_test != 5)
  41.        {
  42.        $erreur_oubli4 = "Le code postal n'est pas valide";
  43.     }
  44.  
  45. if(isset($erreur_oubli1) OR ($erreur_oubli2) OR ($erreur_oubli3) OR ($erreur_oubli4))
  46.   {
  47.   include("erreur_formulaire.php" );
  48.  
  49.   }
  50. else
  51.   {
  52.    mysql_query("INSERT INTO annonces VALUES ('','".$_POST['type_bien']."','".$_POST['type_affaire']."','".$_POST['nombre_pieces']."','".$referenceup."','".$code_postal."','".$_POST['ville']."','".$_POST['surface_habitable']."','".$_POST['surface_terrain']."','".$_POST['nombre_chambres']."','".$_POST['prix']."','".$donnee_prest_int."','".$donnee_prest_ext."','".$_POST['coup_de_coeur']."','".$_POST['exclusivite']."','".$_POST['annonce']."')" )  or die(mysql_error());//on recupere le mot de passe et on le compare au login
  53.  
  54.    foreach($_FILES["miniature"]["name"] as $key => $name)
  55.    {
  56.  if($_FILES["miniature"]["name"][$key] !="" )
  57.  {
  58.   /*======= Définition des variables Miniatures ==============*/
  59.   $name_mini = $_FILES['miniature']['name'][$key];
  60.   $nom_mini_temporaire =  $_FILES['miniature']['tmp_name'][$key];
  61.   $nom_mini_sans_extension = basename($_FILES['miniature']['name'][$key],".jpg" );
  62.   $nom_dossier_mini = substr($nom_mini_sans_extension, 0, -2);
  63.   /*===============================================*/
  64.   /*=========== Varibles restriction ===============*/
  65.    $extensions_mini = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  66.    $extension_test_mini = strrchr($_FILES['miniature']['name'][$key], '.');//on recupère l'extension pour la tester
  67.    $taille_maxi_mini = 1000000;// taille maximum (en octets)
  68.    $taille_mini = filesize($_FILES['miniature']['tmp_name'][$key]);//Taille du fichier  
  69.    /*===============================================*/
  70.  
  71.   /*============ Chemin dossier ===================*/
  72.   $chemin_ftp_miniature = 'html/photos_miniatures/'.$nom_dossier_mini.'';
  73.   $chemin_ftp_miniature2 = 'html/photos_miniatures/'.$nom_dossier_mini.'/';
  74.   $chemin_local_miniatures = './photos_miniatures/'.$nom_dossier_mini.'';
  75.   $chemin_local_miniature2 = './photos_miniatures/'.$nom_dossier_mini.'/';
  76.   $chemin_ftp = 'html/villas/'.$nom_dossier_mini.'';
  77.   $chemin_ftp2 = 'html/villas/'.$nom_dossier_mini.'/';
  78.   $chemin_local = './villas/'.$nom_dossier_mini.'';
  79.   $chemin_local2 = './villas/'.$nom_dossier_mini.'/';
  80.   /*===============================================*/
  81.   $command2 = 'chmod 0777 '.$chemin_ftp_miniature;  
  82.   $command = 'chmod 0777 '.$chemin_ftp;
  83.  
  84.   /*===============  Definition des erreurs ===========================================*/
  85.      $extensions = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  86.     $extension_test = strrchr($_FILES["miniature"]["name"][$key], '.');//on recupère l'extension pour la tester
  87.      $taille_maxi = 1000000;// taille maximum (en octets)
  88.      $taille = filesize($_FILES["miniature"]["tmp_name"][$key]);//Taille du fichier  
  89.   /*==================================================================================*/
  90.    
  91.      /*===============  Definition des erreurs ===========================================*/
  92.      if(!in_array($extension_test, $extensions)) //Si l'extension n'est pas dans le tableau
  93.          {
  94.               $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';//on créer une variable erreur
  95.          }
  96.      if($taille > $taille_maxi)//Si La taille est trop grande   
  97.             {
  98.                    $erreur = 'Le fichier est trop gros...';// on définit un erreur pour la taille
  99.                    }
  100.        /*==================================================================================*/
  101.    if(!isset($erreur))//Si il n'y a pas d'erreur
  102.     {        
  103.            
  104.      /* =========================== Creation du repertoire et de la miniature =======================*/
  105.      if (is_dir($chemin_local_miniatures))
  106.             {
  107.              if (file_exists($chemin_local_miniature2.$name_mini))
  108.                  {
  109.           ftp_delete($conn_id,$chemin_ftp_miniature2.$name_mini) or die("Impossible de supprimer le fichier $name_mini" ) ;
  110.              creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  111.           }
  112.         else
  113.                  {
  114.           creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  115.           }
  116.                }
  117.            else
  118.            {
  119.                ftp_mkdir($conn_id, $chemin_ftp_miniature)or die("Impossible de créer le dossier $nom_dossier_mini" );
  120.                ftp_site($conn_id,$command2)or die("Impossible modifier les droits" );
  121.                creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  122.                   }
  123.     
  124.      if (is_dir($chemin_local))
  125.             {
  126.              if (file_exists($chemin_local2.$name_mini))
  127.                  {
  128.           ftp_delete($conn_id,$chemin_ftp2.$name_mini) or die("Impossible de supprimer le fichier $name_mini" ) ;
  129.              creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  130.           }
  131.         else
  132.                  {
  133.           creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  134.           }
  135.                }
  136.            else
  137.            {
  138.                ftp_mkdir($conn_id, $chemin_ftp)or die("Impossible de créer le dossier $nom_dossier_mini" );
  139.                ftp_site($conn_id,$command)or die("Impossible modifier les droits" );
  140.                creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  141.                   } 
  142.         /*===============================================================================================================*/
  143.   }
  144.   else
  145.   {
  146.   echo "Erreur avec le fichier $name_mini : $erreur";
  147.   }
  148. }  
  149. else
  150. {
  151. $name_mini ="";
  152.    }
  153. }
  154. foreach($_FILES["photo"]["name"] as $key => $name)
  155.    {
  156.  if($_FILES["photo"]["name"][$key] !="" )
  157.  {
  158.     /*======= Définition des variables ==============*/
  159.  $erreurOK = true;
  160.     $nom = $_FILES["photo"]["name"][$key];
  161.     $nom_temporaire =  $_FILES["photo"]["tmp_name"][$key];
  162.     $nom_sans_extension = basename($_FILES["photo"]["name"][$key],".jpg" );
  163.     $nom_dossier = substr($nom_sans_extension, 0, -2);
  164.     /*===============================================*/
  165.     /*=========== Varibles restriction ===============*/
  166.     $extensions = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  167.     $extension_test = strrchr($_FILES["photo"]["name"][$key], '.');//on recupère l'extension pour la tester
  168.      $taille_maxi = 1000000;// taille maximum (en octets)
  169.      $taille = filesize($_FILES["photo"]["tmp_name"][$key]);//Taille du fichier  
  170.      /*===============================================*/
  171.  
  172.     /*============ Chemin dossier ===================*/
  173.     $chemin_ftp = 'html/villas/'.$nom_dossier.'';
  174.     $chemin_ftp2 = 'html/villas/'.$nom_dossier.'/';
  175.     $chemin_local = './villas/'.$nom_dossier.'';
  176.     $chemin_local2 = './villas/'.$nom_dossier.'/';
  177.     /*===============================================*/
  178.     $command = 'chmod 0777 '.$chemin_ftp;
  179.      
  180.   /*===============  Definition des erreurs ===========================================*/
  181.   if(!in_array($extension_test, $extensions)) //Si l'extension n'est pas dans le tableau
  182.     {
  183.          $erreurOK = false;//on créer une variable erreur
  184.     $erreur = "Vous devez envoyer un fichier au format jpg ou jpeg.";
  185.     }
  186.   if($taille > $taille_maxi)//Si La taille est trop grande   
  187.        {
  188.               $erreurOK = false;// on définit un erreur pour la taille
  189.     $erreur = "La taille maximum autorisée est de 1 Mo";
  190.               }
  191.    /*==================================================================================*/
  192.  
  193.   if($erreurOK)//Si il n'y a pas d'erreur
  194.  
  195.   if (is_dir($chemin_local))
  196.      {
  197.     if (file_exists($chemin_local2.$nom))
  198.     {
  199.     ftp_delete($conn_id,$chemin_ftp2.$nom) or die("Impossible de supprimer le fichier $nom" ) ;
  200.        creation_photo($nom, $nom_temporaire, $nom_dossier);
  201.     }
  202.     else
  203.     {
  204.     creation_photo($nom,$nom_temporaire, $nom_dossier);
  205.     }
  206.     }
  207.      else
  208.     {
  209.            ftp_mkdir($conn_id, $chemin_ftp)or die("Impossible de créer le dossier $nom_dossier" );
  210.            ftp_site($conn_id,$command)or die("Impossible modifier les droits" );
  211.            creation_photo($nom,$nom_temporaire, $nom_dossier);
  212.         }    
  213.  }
  214. else
  215.     {
  216.  echo "Erreur avec le fichier $nom : $erreur";
  217.  }
  218.  }
  219.      else
  220.          {
  221.       $photo = "";
  222.       }
  223.   }  
  224.  
  225. header("location : http//...formulaire_ok.php" );   
  226. }
  227. mysql_close(); // Déconnexion de MySQL
  228. ?>


 
EDIT : Comment se fait-il que les Header ne passent pas??(page blanche)

Message cité 1 fois
Message édité par lilougirl8 le 07-03-2007 à 15:13:54
Reply

Marsh Posté le 06-03-2007 à 14:47:51    

lilougirl8 a écrit :

heu je compren pas tro ce que tu veux dire...

 

le mieu c'est que je post mon code


Déja je pense que ton code pourrait être plus simple et plus court qu'il n'est :D
Et avec moins de fautes d'ortho :o ("Vous n'avez pas entré le type d'affaire" ) (valable pour tes posts aussi :D )

 

Et sinon je crois que tu ne fais d'"echo" que quand tu as des erreurs non ? Si oui, alors, si le header("location:" ) ne marche pas, c'est que tu as des erreurs. Tu veux quand même rediriger, même si tu as des erreurs ?

 


Par rapport à la redirection javascript : le truc qui va se passer, c'est qu'il va charger ta page 1 sur le navigateur, plus il va tomber sur la redirection qui va le mener sur la page 2. Hors, du coup, si tu fais "précédent" dans le navigateur, il va revenir à la page 1, qui va le remener automatiquement sur la page 2 :/ du coup impossible de faire "précédent".


Message édité par theredled le 06-03-2007 à 14:49:15

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-03-2007 à 18:00:45    

OK je vois ce que tu me dis, ... je dois avoir des erreurs.. mais où dans tout ce fouillie lol car tout fonctionne apparement... et comment raccourcir mon code je vois pas tro :s
 
Tu peu me mettre sur la piste STP??
 
:D et je vais faire un effort pour les fautes

Reply

Marsh Posté le 06-03-2007 à 18:22:48    

lilougirl8 a écrit :

OK je vois ce que tu me dis, ... je dois avoir des erreurs.. mais où dans tout ce fouillie lol car tout fonctionne apparement...


Tu dis que ton Header("Location" ) ne fonctionne pas, comment ça se manifeste ? Page blanche ? msg d'erreur ?
 

lilougirl8 a écrit :

et comment raccourcir mon code je vois pas tro :s
 
Tu peu me mettre sur la piste STP??


Ben, j'ai pas le code de ton formulaire, mais si $_POST['type_bien'] existe, c'est que tous les autres $_POST existent non ? pourquoi tester a chaque fois que $_POST['type_affaire'] existe, que $_POST['nombre_pieces'] existe etc...
 

lilougirl8 a écrit :

:D et je vais faire un effort pour les fautes


ok :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-03-2007 à 18:56:00    

Ca me met une page blanche pas d'erreur...pour le Header
 
Dès que je peux je met le formulaire...
 
Merci pur votre aide


Message édité par lilougirl8 le 06-03-2007 à 18:56:38
Reply

Marsh Posté le 06-03-2007 à 19:53:22    

Pas besoin du formulaire, par contre tu peux poster le bout code avec le header("location" ) ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-03-2007 à 22:28:31    

j'ai edité le code, j'ai compris pour les test j'en avais des "inutiles" effectivement...
Y'a des "dechets" encore selon vous?

Reply

Marsh Posté le 06-03-2007 à 22:28:31   

Reply

Marsh Posté le 06-03-2007 à 22:44:27    

Je voyais plus un truc dans le genre pour le début :

Code :
  1. if (isset($_POST['envoyer']))
  2.       {
  3.          
  4.       if (isset($_POST['reference']))
  5.          {
  6.          $reference = $_POST['reference'];
  7.           $referenceup = strtoupper($reference);
  8.          $code_postal = $_POST['code_postal'];
  9.           $code_postal_test = strlen($code_postal);         }
  10.          $prestation_int = $_POST['prestation_int'];//on définie prestation int
  11.           $donnee_prest_int = implode (",",$prestation_int);
  12.           $prestation_ext = $_POST['prestation_ext'];//on définit prestation ext
  13.           $donnee_prest_ext = implode (",",$prestation_ext);
  14.       else
  15.          {
  16.          $reference = "";
  17.          $code_postal = "";
  18.             $prestation_int ="";    //sinon vide
  19.           $donnee_prest_int = "";
  20.           $prestation_ext =""; //sinon vide
  21.           $donnee_prest_ext = "";
  22.          }
  23.        
  24.         if(isset($_FILES['miniature']))
  25.           {
  26.             $miniature = $_FILES['miniature'];
  27.             }
  28.        else
  29.          {
  30.               $name_mini ="";
  31.           }   
  32.        if(isset($_FILES['photo']))
  33.          {
  34.               $photo = $_FILES['photo'];
  35.            }
  36.        else
  37.         {
  38.           $photo = "";
  39.         }
  40.             if($reference =="" )
  41.              {
  42.               $erreur_oubli1 = "Vous n'avez pas entrer de réference";
  43.               }
  44.           if($_POST['type_affaire'] =="" )
  45.               {
  46.              $erreur_oubli2 = "Vous n'avez pas entrer le type d'affaire";
  47.             }
  48.            
  49.            if($code_postal =="" )
  50.             {
  51.             $erreur_oubli3 = "Vous n'avez pas entrer de code Postal";
  52.             }
  53.            
  54.            if($code_postal_test != 5)
  55.              {
  56.                 $erreur_oubli4 = "Le code postal n'est pas valide";
  57.              }


 
Mais bon ça c'est pas grave : tu peux filer ton bout de code avec le header("location" ) ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-03-2007 à 23:04:08    

j'ai fait carément plus simple je sais pas pourquoi je m'embetais avec mes test à la con... ils étaient inutiles... :s  
 
De toute façon si mes champs sont vides ils sont quand meme poster??? Aparement oui puisque ma base a le meme comportement sans tout mes test...c'est a dire quand c'est vide ben le champs est vide tout simplement et aucun message d'erreur ça doi rouler...
 
Le code avec le header c'est quoi que tu entent par la?? tu veu le code du lien de la nouvelle page ... Ou bien mas page actuelle avec le header? si c'est le cas :
J'avais rajouter a la place de la fonction javascript :
header("location : http//......./monlien.php" )
 
EDIT :Je confirme que avec les includes ça marche...(pas une vraie redirection donc) mais les header ça maffiche une page blanche, concernant le script aucune erreur apparante tout s'enregistre... je but un peu la :s

Message cité 1 fois
Message édité par lilougirl8 le 06-03-2007 à 23:38:31
Reply

Marsh Posté le 06-03-2007 à 23:40:15    

lilougirl8 a écrit :

j'ai fait carément plus simple je sais pas pourquoi je m'embetais avec mes test à la con... ils étaient inutiles... :s  
 
De toute façon si mes champs sont vides ils sont quand meme poster??? Aparement oui puisque ma base a le meme comportement sans tout mes test...c'est a dire quand c'est vide ben le champs est vide tout simplement et aucun message d'erreur ça doi rouler...
 
Le code avec le header c'est quoi que tu entent par la?? tu veu le code du lien de la nouvelle page ... Ou bien mas page actuelle avec le header? si c'est le cas :
J'avais rajouter a la place de la fonction javascript :
header("location : http//......./monlien.php" )
 
EDIT :Je confirme que avec les includes ça marche...(pas une vraie redirection donc) mais les header ça maffiche une page blanche, concernant le script aucune erreur apparante tout s'enregistre... je but un peu la :s


C'est sûrement le "http://" qu'il n'aime pas, il lui faut un chemin sur le serveur, genre un chemin relatif header("location:../formulaire.php" ); :)


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 07-03-2007 à 00:08:06    

aparement c'est pas ça... mais je vien de m'apercevoir que j'ai quelque erreurs que je n'avais pas vue... il me trouve des variables indéfinies..(celle qui ne sont pas remplis... alor je vais voir comment remédié à ça :
 
 
Notice: Undefined variable: erreur_oubli2 in /home10/eq42432/html/formulaire_annonce.php on line 60
 
Notice: Undefined variable: erreur_oubli3 in /home10/eq42432/html/formulaire_annonce.php on line 60
 
Notice: Undefined variable: erreur_oubli4 in /home10/eq42432/html/formulaire_annonce.php on line 60
 
'jai fait un error_reporting(E_ALL); pour voir c pr ça

Reply

Marsh Posté le 07-03-2007 à 00:17:31    

tu n'as pas donné la totalité de ton code ?
je ne vois nulle part ou tu utilises erreur_oubli2 etc...

 

edit : ah si autant pour moi

 


En tout cas ton code est indenté bizarrement ;)


Message édité par theredled le 07-03-2007 à 00:20:05

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 07-03-2007 à 00:23:24    

lilougirl8 a écrit :

OK je vois ce que tu me dis, ... je dois avoir des erreurs.. mais où dans tout ce fouillie lol car tout fonctionne apparement... et comment raccourcir mon code je vois pas tro :s
 
Tu peu me mettre sur la piste STP??


Je me répète, mais c'est utile...
 
=> utilise des fonctions pour te réapproprier ton code, ça t'évitera entre autres d'avoir à chercher 1 erreur dans 1000 lignes de code. C'est aussi pratique pour bien comprendre et nommer les choses qu'on fait, "diviser pour mieux régner" toussa toussa...

Reply

Marsh Posté le 07-03-2007 à 00:27:14    

donc par exemple tu me conseil d'utiliser une fonction pour l'upload des photos je me trompe?

Reply

Marsh Posté le 07-03-2007 à 00:41:27    

Code :
  1. if (isset($_POST['envoyer']))
  2.        {
  3.    $referenceup = strtoupper($_POST['reference']);
  4.    $code_postal_test = strlen($_POST['code_postal']);
  5.      
  6.  if(isset($_POST['type_affaire']))
  7.    {
  8.    $type_affaire = $_POST['type_affaire'];
  9.    }
  10.  else
  11.    {
  12.    $type_affaire = "";
  13.    }
  14.    
  15.     if(isset($_POST['prestation_int']))
  16.    {
  17.       $prestation_int = $_POST['prestation_int'];
  18.       $donnee_prest_int = implode (",",$prestation_int);
  19.       } 
  20.       else
  21.    {
  22.    $prestation_int = "";
  23.    $donnee_prest_int = "";
  24.    }
  25.  
  26.  
  27.     if(isset($_POST['prestation_ext']))
  28.    {
  29.       $prestation_ext = $_POST['prestation_int'];
  30.       $donnee_prest_ext = implode (",",$prestation_ext);
  31.       } 
  32.     else
  33.    {
  34.    $prestation_ext = "";
  35.       $donnee_prest_ext = "";
  36.    }
  37.  
  38.           if($_POST['reference'] =="" )
  39.               {
  40.        $erreur_oubli1 = "Vous n'avez pas entrer de réference";
  41.        }
  42.        if($type_affaire =="" )
  43.        {
  44.       $erreur_oubli2 = "Vous n'avez pas entrer le type d'affaire";
  45.      }
  46.    
  47.       if($_POST['code_postal'] =="" )
  48.         {
  49.         $erreur_oubli3 = "Vous n'avez pas entrer de code Postal";
  50.         }
  51.    
  52.      if($code_postal_test != 5)
  53.        {
  54.        $erreur_oubli4 = "Le code postal n'est pas valide";
  55.     }
  56.  
  57. if(isset($erreur_oubli1) OR ($erreur_oubli2) OR ($erreur_oubli3) OR ($erreur_oubli4))
  58.   {
  59.   include("erreur_formulaire.php" ); 
  60.   }
  61.  
  62. else
  63.   {
  64.    mysql_query("INSERT INTO annonces VALUES ('','".$_POST['type_bien']."','".$_POST['type_affaire']."','".$_POST['nombre_pieces']."','".$referenceup."','".$code_postal."','".$_POST['ville']."','".$_POST['surface_habitable']."','".$_POST['surface_terrain']."','".$_POST['nombre_chambres']."','".$_POST['prix']."','".$donnee_prest_int."','".$donnee_prest_ext."','".$_POST['coup_de_coeur']."','".$_POST['exclusivite']."','".$_POST['annonce']."')" )  or die(mysql_error());//on recupere le mot de passe et on le compare au login
  65.  
  66.         foreach($_FILES["miniature"]["name"] as $key => $name)
  67.             {
  68.        if($_FILES["miniature"]["name"][$key] !="" )
  69.       {
  70.         /*======= Définition des variables Miniatures ==============*/
  71.         $name_mini = $_FILES['miniature']['name'][$key];
  72.         $nom_mini_temporaire =  $_FILES['miniature']['tmp_name'][$key];
  73.         $nom_mini_sans_extension = basename($_FILES['miniature']['name'][$key],".jpg" );
  74.         $nom_dossier_mini = substr($nom_mini_sans_extension, 0, -2);
  75.         /*===============================================*/
  76.         /*=========== Varibles restriction ===============*/
  77.          $extensions_mini = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  78.          $extension_test_mini = strrchr($_FILES['miniature']['name'][$key], '.');//on recupère l'extension pour la tester
  79.          $taille_maxi_mini = 1000000;// taille maximum (en octets)
  80.          $taille_mini = filesize($_FILES['miniature']['tmp_name'][$key]);//Taille du fichier  
  81.          /*===============================================*/
  82.  
  83.         /*============ Chemin dossier ===================*/
  84.         $chemin_ftp_miniature = 'html/photos_miniatures/'.$nom_dossier_mini.'';
  85.         $chemin_ftp_miniature2 = 'html/photos_miniatures/'.$nom_dossier_mini.'/';
  86.         $chemin_local_miniatures = './photos_miniatures/'.$nom_dossier_mini.'';
  87.         $chemin_local_miniature2 = './photos_miniatures/'.$nom_dossier_mini.'/';
  88.         $chemin_ftp = 'html/villas/'.$nom_dossier_mini.'';
  89.         $chemin_ftp2 = 'html/villas/'.$nom_dossier_mini.'/';
  90.         $chemin_local = './villas/'.$nom_dossier_mini.'';
  91.         $chemin_local2 = './villas/'.$nom_dossier_mini.'/';
  92.         /*===============================================*/
  93.         $command2 = 'chmod 0777 '.$chemin_ftp_miniature;  
  94.         $command = 'chmod 0777 '.$chemin_ftp;
  95.  
  96.         /*===============  Definition des erreurs ===========================================*/
  97.           $extensions = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  98.          $extension_test = strrchr($_FILES["miniature"]["name"][$key], '.');//on recupère l'extension pour la tester
  99.           $taille_maxi = 1000000;// taille maximum (en octets)
  100.           $taille = filesize($_FILES["miniature"]["tmp_name"][$key]);//Taille du fichier  
  101.         /*==================================================================================*/
  102.    
  103.      /*===============  Definition des erreurs ===========================================*/
  104.      if(!in_array($extension_test, $extensions)) //Si l'extension n'est pas dans le tableau
  105.          {
  106.               $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';//on créer une variable erreur
  107.          }
  108.      if($taille > $taille_maxi)//Si La taille est trop grande   
  109.             {
  110.                    $erreur = 'Le fichier est trop gros...';// on définit un erreur pour la taille
  111.                    }
  112.        /*==================================================================================*/
  113.         if(!isset($erreur))//Si il n'y a pas d'erreur
  114.           {        
  115.            
  116.           /* =========================== Creation du repertoire et de la miniature =======================*/
  117.           if (is_dir($chemin_local_miniatures))
  118.                    {
  119.                 if (file_exists($chemin_local_miniature2.$name_mini))
  120.                        {
  121.              ftp_delete($conn_id,$chemin_ftp_miniature2.$name_mini) or die("Impossible de supprimer le fichier $name_mini" ) ;
  122.                 creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  123.              }
  124.            else
  125.                        {
  126.              creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  127.              }
  128.                   }
  129.                else
  130.                   {
  131.                  ftp_mkdir($conn_id, $chemin_ftp_miniature)or die("Impossible de créer le dossier $nom_dossier_mini" );
  132.                  ftp_site($conn_id,$command2)or die("Impossible modifier les droits" );
  133.                  creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  134.                     }
  135.     
  136.          if (is_dir($chemin_local))
  137.                   {
  138.                   if (file_exists($chemin_local2.$name_mini))
  139.                       {
  140.               ftp_delete($conn_id,$chemin_ftp2.$name_mini) or die("Impossible de supprimer le fichier $name_mini" ) ;
  141.                 creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  142.               }
  143.              else
  144.                       {
  145.               creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  146.                }
  147.                       }
  148.                   else
  149.                    {
  150.                      ftp_mkdir($conn_id, $chemin_ftp)or die("Impossible de créer le dossier $nom_dossier_mini" );
  151.                      ftp_site($conn_id,$command)or die("Impossible modifier les droits" );
  152.                      creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  153.                         } 
  154.                 /*===============================================================================================================*/
  155.         }
  156.       else
  157.               {
  158.         echo "Erreur avec le fichier $name_mini : $erreur";
  159.         }
  160.   }  
  161.      else
  162.      {
  163.   $name_mini ="";
  164.       }
  165.    }
  166.     foreach($_FILES["photo"]["name"] as $key => $name)
  167.               {
  168.        if($_FILES["photo"]["name"][$key] !="" )
  169.       {
  170.          /*======= Définition des variables ==============*/
  171.       $erreurOK = true;
  172.          $nom = $_FILES["photo"]["name"][$key];
  173.          $nom_temporaire =  $_FILES["photo"]["tmp_name"][$key];
  174.          $nom_sans_extension = basename($_FILES["photo"]["name"][$key],".jpg" );
  175.          $nom_dossier = substr($nom_sans_extension, 0, -2);
  176.          /*===============================================*/
  177.          /*=========== Varibles restriction ===============*/
  178.          $extensions = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  179.          $extension_test = strrchr($_FILES["photo"]["name"][$key], '.');//on recupère l'extension pour la tester
  180.           $taille_maxi = 1000000;// taille maximum (en octets)
  181.           $taille = filesize($_FILES["photo"]["tmp_name"][$key]);//Taille du fichier  
  182.           /*===============================================*/
  183.  
  184.          /*============ Chemin dossier ===================*/
  185.          $chemin_ftp = 'html/villas/'.$nom_dossier.'';
  186.          $chemin_ftp2 = 'html/villas/'.$nom_dossier.'/';
  187.          $chemin_local = './villas/'.$nom_dossier.'';
  188.          $chemin_local2 = './villas/'.$nom_dossier.'/';
  189.          /*===============================================*/
  190.          $command = 'chmod 0777 '.$chemin_ftp;
  191.      
  192.      /*===============  Definition des erreurs ===========================================*/
  193.      if(!in_array($extension_test, $extensions)) //Si l'extension n'est pas dans le tableau
  194.          {
  195.            $erreurOK = false;//on créer une variable erreur
  196.       $erreur = "Vous devez envoyer un fichier au format jpg ou jpeg.";
  197.       }
  198.      if($taille > $taille_maxi)//Si La taille est trop grande   
  199.             {
  200.                 $erreurOK = false;// on définit un erreur pour la taille
  201.       $erreur = "La taille maximum autorisée est de 1 Mo";
  202.                 }
  203.      /*==================================================================================*/
  204.  
  205.       if($erreurOK)//Si il n'y a pas d'erreur
  206.      { 
  207.  
  208.        if (is_dir($chemin_local))
  209.             {
  210.           if (file_exists($chemin_local2.$nom))
  211.             {
  212.          ftp_delete($conn_id,$chemin_ftp2.$nom) or die("Impossible de supprimer le fichier $nom" ) ;
  213.             creation_photo($nom, $nom_temporaire, $nom_dossier);
  214.          }
  215.          else
  216.            {
  217.         creation_photo($nom,$nom_temporaire, $nom_dossier);
  218.       }
  219.          }
  220.            else
  221.             {
  222.                 ftp_mkdir($conn_id, $chemin_ftp)or die("Impossible de créer le dossier $nom_dossier" );
  223.                 ftp_site($conn_id,$command)or die("Impossible modifier les droits" );
  224.                 creation_photo($nom,$nom_temporaire, $nom_dossier);
  225.              }    
  226.        }
  227.    else
  228.          {
  229.       echo "Erreur avec le fichier $nom : $erreur";
  230.       }
  231.   }
  232.      else
  233.         {
  234.      $photo = "";
  235.      }
  236.   }  
  237.  
  238. include("formulaire_ok.php" );
  239. }
  240. mysql_close(); // Déconnexion de MySQL
  241. ?>


 
J'ai revu l'indentation c'est vrai que c'était le bordel

Reply

Marsh Posté le 07-03-2007 à 22:03:25    

lilougirl8 a écrit :

donc par exemple tu me conseil d'utiliser une fonction pour l'upload des photos je me trompe?

Non, je l'exige [:aloy] (humür)
 
Regarde le code que tu as posté, et dis-moi si tu ne distingues pas au moins 2 découpes naturelles dans celui-ci, révélant de fait 3 étapes, assimilables à 3 fonctions... (après on peut discuter sans fin de ce qu'est une fonction, sa taille, etc..., mais en gros ici il y a 3 grandes étapes, donc 3 fonctions, elles-mêmes étant éventuellement disséquables en N sous-fonctions)

Reply

Marsh Posté le 08-03-2007 à 14:21:42    

salut, j'ai bien pris note de tous ça bon je vais essayer de me creuser le cerveau, tu a deja vu mon post d'avant tu avait vus que j'était encore novice lol en tout cas merci de m'aider... pour l'instant j'arrive a ce que je veux je suis content maintennt que le code est bon (que ça marche quoi) je vais le retravailler au niveau restriction, au niveau forme, virer tous ce qui est inutile, mettre en fonction ce que je peux... pi si j'ai un souci vous etes la :p

Reply

Marsh Posté le 08-03-2007 à 17:44:32    

J'ai revu un peu le début parce que j'avai des petit problème de syntaxe je connaissai pas toutes les astuces donc finalement j'ai plus que mes erreur...que je recupère en tableau (avec autoincrémentation) comme çajai pas 50 variables erreurs et pareil ds ma pages d'erreur j'ai simplement fait une boucle ça a l'air de rouler...
 
 

Code :
  1. if (isset($_POST['envoyer']))
  2.        {
  3.    $date_annonce = date('Y-m-d');
  4.    $referenceup = strtoupper($_POST['reference']);
  5.    $code_postal_test = strlen($_POST['code_postal']);
  6.         
  7.    /*======================== Restrictions et erreur =============================*/
  8.    $i=0;
  9.    if($_POST['reference'] =="" )
  10.               {
  11.        $erreur_oubli[$i] = "Vous n'avez pas entrer de réference";
  12.      $i++;
  13.        }
  14.    if(!empty($_POST['reference']))
  15.      {
  16.      $recherche_reference = mysql_query("SELECT reference FROM annonces WHERE reference = '".$_POST['reference']."'" );
  17.      $resultats_reference = mysql_fetch_array($recherche_reference);
  18.     if(!empty($resultats_reference))
  19.         {
  20.          $erreur_oubli[$i] = "La Référence existe déjà";
  21.       $i++;
  22.         }
  23.      }    
  24.    
  25.        if(empty($_POST['type_affaire']))
  26.        {
  27.       $erreur_oubli[$i] = "Vous n'avez pas entrer le type d'affaire";
  28.      $i++;
  29.      }
  30.    if(empty($_POST['code_postal']))
  31.         {
  32.         $erreur_oubli[$i] = "Vous n'avez pas entrer de code Postal";
  33.      $i++;
  34.         }
  35.    if($code_postal_test != 5)
  36.         {
  37.         $erreur_oubli[$i] = "Le code postal n'est pas valide";
  38.      $i++;
  39.      }
  40.         /*===============================================================================*/
  41.      
  42.  
  43.     if(isset($_POST['prestation_int']))
  44.    {
  45.       $prestation_int = $_POST['prestation_int'];
  46.       $donnee_prest_int = implode (",",$prestation_int);
  47.       } 
  48.       else
  49.    {
  50.    $prestation_int = "";
  51.    $donnee_prest_int = "";
  52.    }
  53.  
  54.  
  55.     if(isset($_POST['prestation_ext']))
  56.    {
  57.       $prestation_ext = $_POST['prestation_ext'];
  58.       $donnee_prest_ext = implode (",",$prestation_ext);
  59.       } 
  60.     else
  61.    {
  62.    $prestation_ext = "";
  63.       $donnee_prest_ext = "";
  64.    }
  65. if(isset($erreur_oubli))
  66.   {
  67.   include("erreur_formulaire.php" ); 
  68.   }
  69.  
  70. else
  71.   {
  72.    mysql_query("INSERT INTO annonces VALUES ('','".$date_annonce."','','".$_POST['type_bien']."','".$_POST['type_affaire']."','".$_POST['nombre_pieces']."','".$referenceup."','".$code_postal."','".$_POST['ville']."','".$_POST['surface_habitable']."','".$_POST['surface_terrain']."','".$_POST['nombre_chambres']."','".$_POST['prix']."','".$donnee_prest_int."','".$donnee_prest_ext."','".$_POST['coup_de_coeur']."','".$_POST['exclusivite']."','".$_POST['annonce']."')" )  or die(mysql_error());//on recupere le mot de passe et on le compare au login
  73.  
  74.         foreach($_FILES["miniature"]["name"] as $key => $name)
  75.             {
  76.        if($_FILES["miniature"]["name"][$key] !="" )
  77.       {
  78.         /*======= Définition des variables Miniatures ==============*/
  79.         $name_mini = $_FILES['miniature']['name'][$key];
  80.         $nom_mini_temporaire =  $_FILES['miniature']['tmp_name'][$key];
  81.         $nom_mini_sans_extension = basename($_FILES['miniature']['name'][$key],".jpg" );
  82.         $nom_dossier_mini = substr($nom_mini_sans_extension, 0, -2);
  83.         /*===============================================*/
  84.         /*=========== Varibles restriction ===============*/
  85.          $extensions_mini = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  86.          $extension_test_mini = strrchr($_FILES['miniature']['name'][$key], '.');//on recupère l'extension pour la tester
  87.          $taille_maxi_mini = 1000000;// taille maximum (en octets)
  88.          $taille_mini = filesize($_FILES['miniature']['tmp_name'][$key]);//Taille du fichier  
  89.          /*===============================================*/
  90.  
  91.         /*============ Chemin dossier ===================*/
  92.         $chemin_ftp_miniature = 'html/photos_miniatures/'.$nom_dossier_mini.'';
  93.         $chemin_ftp_miniature2 = 'html/photos_miniatures/'.$nom_dossier_mini.'/';
  94.         $chemin_local_miniatures = './photos_miniatures/'.$nom_dossier_mini.'';
  95.         $chemin_local_miniature2 = './photos_miniatures/'.$nom_dossier_mini.'/';
  96.         $chemin_ftp = 'html/villas/'.$nom_dossier_mini.'';
  97.         $chemin_ftp2 = 'html/villas/'.$nom_dossier_mini.'/';
  98.         $chemin_local = './villas/'.$nom_dossier_mini.'';
  99.         $chemin_local2 = './villas/'.$nom_dossier_mini.'/';
  100.         /*===============================================*/
  101.         $command2 = 'chmod 0777 '.$chemin_ftp_miniature;  
  102.         $command = 'chmod 0777 '.$chemin_ftp;
  103.  
  104.         /*===============  Definition des erreurs ===========================================*/
  105.           $extensions = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  106.          $extension_test = strrchr($_FILES["miniature"]["name"][$key], '.');//on recupère l'extension pour la tester
  107.           $taille_maxi = 1000000;// taille maximum (en octets)
  108.           $taille = filesize($_FILES["miniature"]["tmp_name"][$key]);//Taille du fichier  
  109.         /*==================================================================================*/
  110.    
  111.      /*===============  Definition des erreurs ===========================================*/
  112.      if(!in_array($extension_test, $extensions)) //Si l'extension n'est pas dans le tableau
  113.          {
  114.               $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';//on créer une variable erreur
  115.          }
  116.      if($taille > $taille_maxi)//Si La taille est trop grande   
  117.             {
  118.                    $erreur = 'Le fichier est trop gros...';// on définit un erreur pour la taille
  119.                    }
  120.        /*==================================================================================*/
  121.         if(!isset($erreur))//Si il n'y a pas d'erreur
  122.           {        
  123.            
  124.           /* =========================== Creation du repertoire et de la miniature =======================*/
  125.           if (is_dir($chemin_local_miniatures))
  126.                    {
  127.                 if (file_exists($chemin_local_miniature2.$name_mini))
  128.                        {
  129.              ftp_delete($conn_id,$chemin_ftp_miniature2.$name_mini) or die("Impossible de supprimer le fichier $name_mini" ) ;
  130.                 creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  131.              }
  132.            else
  133.                        {
  134.              creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  135.              }
  136.                   }
  137.                else
  138.                   {
  139.                  ftp_mkdir($conn_id, $chemin_ftp_miniature)or die("Impossible de créer le dossier $nom_dossier_mini" );
  140.                  ftp_site($conn_id,$command2)or die("Impossible modifier les droits" );
  141.                  creation_miniature($name_mini, $nom_mini_temporaire, $nom_dossier_mini);
  142.                     }
  143.     
  144.          if (is_dir($chemin_local))
  145.                   {
  146.                   if (file_exists($chemin_local2.$name_mini))
  147.                       {
  148.               ftp_delete($conn_id,$chemin_ftp2.$name_mini) or die("Impossible de supprimer le fichier $name_mini" ) ;
  149.                 creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  150.               }
  151.              else
  152.                       {
  153.               creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  154.                }
  155.                       }
  156.                   else
  157.                    {
  158.                      ftp_mkdir($conn_id, $chemin_ftp)or die("Impossible de créer le dossier $nom_dossier_mini" );
  159.                      ftp_site($conn_id,$command)or die("Impossible modifier les droits" );
  160.                      creation_photo2($name_mini, $nom_mini_temporaire, $nom_dossier_mini) ;
  161.                         } 
  162.                 /*===============================================================================================================*/
  163.         }
  164.       else
  165.               {
  166.         echo "Erreur avec le fichier $name_mini : $erreur";
  167.         }
  168.   }  
  169.      else
  170.      {
  171.   $name_mini ="";
  172.       }
  173.    }
  174.     foreach($_FILES["photo"]["name"] as $key => $name)
  175.               {
  176.        if($_FILES["photo"]["name"][$key] !="" )
  177.       {
  178.          /*======= Définition des variables ==============*/
  179.       $erreurOK = true;
  180.          $nom = $_FILES["photo"]["name"][$key];
  181.          $nom_temporaire =  $_FILES["photo"]["tmp_name"][$key];
  182.          $nom_sans_extension = basename($_FILES["photo"]["name"][$key],".jpg" );
  183.          $nom_dossier = substr($nom_sans_extension, 0, -2);
  184.          /*===============================================*/
  185.          /*=========== Varibles restriction ===============*/
  186.          $extensions = array('.png', '.gif', '.jpg', '.jpeg');//On crée un tableau avec les extensions autorisées
  187.          $extension_test = strrchr($_FILES["photo"]["name"][$key], '.');//on recupère l'extension pour la tester
  188.           $taille_maxi = 1000000;// taille maximum (en octets)
  189.           $taille = filesize($_FILES["photo"]["tmp_name"][$key]);//Taille du fichier  
  190.           /*===============================================*/
  191.  
  192.          /*============ Chemin dossier ===================*/
  193.          $chemin_ftp = 'html/villas/'.$nom_dossier.'';
  194.          $chemin_ftp2 = 'html/villas/'.$nom_dossier.'/';
  195.          $chemin_local = './villas/'.$nom_dossier.'';
  196.          $chemin_local2 = './villas/'.$nom_dossier.'/';
  197.          /*===============================================*/
  198.          $command = 'chmod 0777 '.$chemin_ftp;
  199.      
  200.      /*===============  Definition des erreurs ===========================================*/
  201.      if(!in_array($extension_test, $extensions)) //Si l'extension n'est pas dans le tableau
  202.          {
  203.            $erreurOK = false;//on créer une variable erreur
  204.       $erreur = "Vous devez envoyer un fichier au format jpg ou jpeg.";
  205.       }
  206.      if($taille > $taille_maxi)//Si La taille est trop grande   
  207.             {
  208.                 $erreurOK = false;// on définit un erreur pour la taille
  209.       $erreur = "La taille maximum autorisée est de 1 Mo";
  210.                 }
  211.      /*==================================================================================*/
  212.  
  213.       if($erreurOK)//Si il n'y a pas d'erreur
  214.      { 
  215.  
  216.        if (is_dir($chemin_local))
  217.             {
  218.           if (file_exists($chemin_local2.$nom))
  219.             {
  220.          ftp_delete($conn_id,$chemin_ftp2.$nom) or die("Impossible de supprimer le fichier $nom" ) ;
  221.             creation_photo($nom, $nom_temporaire, $nom_dossier);
  222.          }
  223.          else
  224.            {
  225.         creation_photo($nom,$nom_temporaire, $nom_dossier);
  226.       }
  227.          }
  228.            else
  229.             {
  230.                 ftp_mkdir($conn_id, $chemin_ftp)or die("Impossible de créer le dossier $nom_dossier" );
  231.                 ftp_site($conn_id,$command)or die("Impossible modifier les droits" );
  232.                 creation_photo($nom,$nom_temporaire, $nom_dossier);
  233.              }    
  234.        }
  235.    else
  236.          {
  237.       echo "Erreur avec le fichier $nom : $erreur";
  238.       }
  239.   }
  240.      else
  241.         {
  242.      $photo = "";
  243.      }
  244.   }  
  245.  
  246. include("formulaire_ok.php" );
  247. }
  248. mysql_close(); // Déconnexion de MySQL
  249. ?>

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed