[RESOU] FTP ...erreur bizarre ... [avec commentaires ;o) ]

FTP ...erreur bizarre ... [avec commentaires ;o) ] [RESOU] - PHP - Programmation

Marsh Posté le 26-11-2007 à 20:47:56    

Salut à tous,
 
    J'essaye de faire une page web qui permette l'upload via ftp avec une barre de progression ...
Je code le source traquilou et avant même d'avoir un bug ftp, mon navigateur n'arrive pas à interpréter correctement le script :
 
Il me retourne le formulaire html suivi de :  

Code :
  1. } else { header("Location:index.php?erreur=intru" ); // redirection en cas d'echec } ?>


 
Voici le code du prog :
 

Code :
  1. <?php require_once('connexion.php'); ?>
  2. <?php require_once ('../HTML/Progress2_lite.php'); ?>
  3. <?php
  4. session_start(); // On relaye la session
  5. if (session_is_registered("authentification" ) && $_SESSION['privilege'] == "admin" ){
  6. // vérification sur la session authentification (la session est elle enregistrée ?)
  7. // On vérifie également si la session ouverte est bien une session comptable et on place ici les éventuelles actions en cas de réussite de la connexion
  8. }
  9. else{
  10. header("Location:index.php?erreur=intru" );
  11. } // redirection en cas d'echec
  12. ?>
  13. <?php
  14. if($_POST['LocalPDF']){
  15.  if(($_POST['user_name'] == "" ) || ($_POST['user_pass'] == "" ) ) {
  16.   echo('<span class="erreur">Veuillez sp&eacute;cifier votre login et mot de passe SVP</span>');// on poste le PDF
  17.  }
  18.  else{
  19.   $ftp_server = "127.0.0.1";
  20.   $ftp_user_name = $_POST['user_name'];
  21.   $ftp_user_pass = $_POST['user_pass'];
  22.   $source_file = $_POST['LocalPDF'];
  23.   $destination_file = "/compta/";
  24.   $conn_id = ftp_connect($ftp_server, 21, 5);
  25.   $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  26.   // barre de progression
  27.   $pb = new HTML_Progress2();
  28.   $pb->setAnimSpeed(100);
  29.   echo $pb->getStyle(false);
  30.   echo $pb->getScript(false);
  31.   $pb->display();
  32.   $pb->run();
  33.   // Vérification de la connexion
  34.   if ((!$conn_id) || (!$login_result)) {
  35.          echo '<span class="erreur"> La connexion FTP a échoué ! </span>';
  36.          echo '<span class="erreur">Tentative de connexion au serveur $ftp_server pour l\'utilisateur $ftp_user_name</span>' ;
  37.           exit;
  38.       } else {
  39.           echo '<span class="erreur">Connexion au serveur $ftp_server, pour l\'utilisateur $ftp_user_name</span>';
  40.       }
  41.   // Chargement d'un fichier
  42.   $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
  43.   // Vérification du status du chargement
  44.   if (!$upload) {
  45.            echo "Le chargement FTP a échoué!";
  46.      } else {
  47.            echo "Chargement de $source_file vers $ftp_server en tant que $destination_file";
  48.       }
  49.   // Fermeture du flux FTP
  50.   ftp_close($conn_id);
  51.  }
  52. }
  53. ?>
  54. <html>
  55. <head>
  56. <title>Admin - Envoyer un fichier</title>
  57. <link href="styles.css" rel="stylesheet" type="text/css">
  58. <link href="../styles.css" rel="stylesheet" type="text/css">
  59. </head>
  60. <body>
  61. <div class="titre">- : : : ESPACE ADMINISTRATION : : : -</div>
  62. <p>
  63. <form action="" method="post" name="uploadPDF">
  64. <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
  65.     <tr>
  66.       <td width="40">Nom</td>
  67.   <td><input type="text" id="user_name" name="user_name"></td>
  68.     </tr>
  69.     <tr>
  70.     <td width="40">Mot de passe</td>
  71.      <td><input type="text" id="user_pass" name="user_pass"></td>
  72.     </tr>
  73.     <tr>
  74.      <td>Fichier &agrave; t&eacute;l&eacute;charger</td>
  75.         <td><input type="file" id="LocalPDF" name="LocalPDF"></td>
  76.     </tr>
  77.     <tr><td  height="50" colspan="2"><div align="center"><input type="submit" name="Submit" value="envoyer le fichier"></div></td></tr>
  78. </table>
  79. </form>
  80. </p>
  81. </body>
  82. </html>


 
Même en enlevant  

Code :
  1. } else { header("Location:index.php?erreur=intru" ); // redirection en cas d'echec } ?>


il continue de m'afficher le même résultat et même en vidant le cache ...
En revanche si je fais un echo("toto" ) dans le premier if, il me l'affiche ...
J'utilise wamp server, firefox (sous IE7 ça donne la même chose)


Message édité par popovitch le 26-11-2007 à 23:15:11
Reply

Marsh Posté le 26-11-2007 à 20:47:56   

Reply

Marsh Posté le 26-11-2007 à 21:38:13    

j'ai p-ê une idée ...
en faisant ceci :

Code :
  1. # <?php require_once('connexion.php'); ?>
  2. # <?php require_once ('../HTML/Progress2_lite.php'); ?>
  3. # <?php


à chaque fois que tu fermes le php, tu "laisses la main" à l'HTML ... Donc chaque retour à la ligne est en fait envoyé en tant qu'HTML au navigateur, ce qui fait lanter la session ...
 
Pourquoi ne pas ouvrir une seule instance <?php pour tout le bloc ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 26-11-2007 à 23:14:36    

Nickel !
Thks ;o)

Reply

Marsh Posté le 30-11-2007 à 18:35:20    

Rien sur les failles de type injection :??: ...

Reply

Sujets relatifs:

Leave a Replay

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