11495 sujets

JavaScript, DOM et API Web HTML5

J'ai essayé de savoir la raison et je peux plus :
j'ai le code suivant:

$fileName = basename($_FILES["file"]["name"]);
$idfirma=222;
$table_selection2='forder_kunden';
                                    $select2=$Class->Selection($table_selection2);
                                    $requete_prepare_12=$sql->prepare($select2 ." WHERE id='$idfirma' ");
                                    $requete_prepare_12->execute();
                                    $obj12 = $requete_prepare_12->fetch(PDO::FETCH_ASSOC);
 $firmenname=htmlspecialchars_decode(stripslashes($obj12['firmenname']));
$firmenname= str_replace(" ", "_", $firmenname);
    $targetDir = "upload/vollmacht/".$firmenname."/";

    if(!is_dir($targetDir))
    {
      mkdir($targetDir);
    }
$targetFilePath = $targetDir. $fileName;
    //allow certain file formats
    $fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
    $allowTypes = array('pdf','png','jpg','jpeg');
    if(in_array($fileType, $allowTypes)){
          if (file_exists($targetFilePath)) {
              $response['status'] = 'exist';
             }
          else{
        //***********upload file to server
        if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
  //insert file data into the database if needed
            //........
            $response['status'] = 'ok';
        }
else{
            $response['status'] = 'err';
       }
       //*****************************
       }
    }else{
        $response['status'] = 'type_err';
    }
    //render response data in JSON format
    echo json_encode($response);

ce code permet de créer un répertoire pour chaque client sur le serveur et charger un fichier dedans. Mais l'instant où je récupére
$idfirma=$_POST['idd'];
avec ajax
le répertoire se crée (veut dire que $_POST['idd'] et résupéré) mais l'envoi se fais vers
upload/vollmacht
ce qui signefie que
$firmenname
devient vide. Je sais pas la raison. Votre aide SVP. Merci
Mais l'instant où je change
Modérateur
Bonjour,

Après chaque instruction, il faut écrire dans un fichier quelconque les valeurs des variables concernées, afin de trouver où ça dérape.

On ne peut rien faire de plus.

Amicalement,
Modérateur
Bonjour,

Par exemple, à la deuxième ligne, juste après $fileName = basename($_FILES["file"]["name"]);, tu peux insérer :
file_put_contents('log.txt', $fileName.PHP_EOL , FILE_APPEND | LOCK_EX);

Ce code dit d'ajouter le contenu de la variable $fileName (+ un retour à la ligne) à la fin du fichier "log.txt".

Si "log.txt" n'existe pas, il est créé.

Pour voir le contenu de "log.txt", il suffit de l'ouvrir avec un éditeur de texte.

Amicalement,
Modifié par parsimonhi (08 Feb 2019 - 17:22)