bonjour,
Je suis nouvelle sur ce forum.
Mon ordinateur est sous debian strech
J'ai un serveur qui est basé sur centos.
.
Je ne connais pas PHP
J'essaie de transformer un fichier csv en vcf. (vcard).
C'était ok.
Mon fichier csv a la notion de catégorie
J'ai décidé de pouvoir sélectioner une ou plusieurs catégories du fichier csv.
Dans un premier temps, je sélectionne le fichier csv qui se trouve dans ma debian dans un premier formulaire.
Je valide le fichier et fais les tests pour savoir si le fichier est ok
J'affiche une fenêtre avec un autre formulaire avec un select multiple des catégories trouvées dans le fichier sélectionné.
Le problème je n'arrive pas à garder les infos du fichier sélectionné du premier formulaire dans le deuxième.
Je n'ai pas du tout le vocabulaire pour dire ce que je fais dans le deuxième formulaire
premier formulaire
----
print_html_header();
echo '<form method="post" enctype="multipart/form-data">
<label for="file">Please select your File.csv then hit convert:</label>
<input type="file" name="file" id="file" style="width: 100%;">
<br />
field selector :
<select name="$_delimiter" value="'.$delimiter.'" >
<option value="'.$comma.'" '.$select_del1.'>Comma</option>
<option value="'.$semicolon.'" '.$select_del2.' >Semicolon</option>
<option value="" '.$select_del0.' ></option>
<option value="'.$tab.'" '.$select_del3.' >Tab</option>
</select><br>
téléphone fixe :
<select name="$_telfixe" value="'.$telfixe.'" >
<option value="" '.$select_tel0.'></option>
<option value="'.$oui.'" '.$select_tel1.' >Oui</option>
<option value="'.$non.'" '.$select_tel2.' >Non</option>
</select><br />
<input type="submit" name="verif" value="selectionner la catégorie que vous voulez" style="width: 100%;">
</form>';
---
le deuxième formulaire
---
if ( isset($_REQUEST["verif"]))
{
print_html_header();
$nomFich = file($_FILES["file"]["tmp_name"]);
$length1 = count($nomFich);
// récupération des différentes catégories du fichier
$fich_tmp = $_FILES["file"]["tmp_name"];
$categorie = checkCategorie($fich_tmp,$delimiter);
echo "Fichier Vérifié <br>";
affich($_FILES["file"]["name"],$delimiter,$_FILES["file"]["size"],$telfixe);
echo "Nombre de lignes : ".$length1."<br>";
echo "Nom du fichier temporaire ".$_FILES["file"]["tmp_name"]."<br>";
echo '<form method="post" enctype="multipart/form-data">
<input type="hidden" name="$_FILES["file"]["name"]" value="'.$nomFich.'" >
<input type="hidden" name="$_delimiter" value="'.$delimiter.'" >
<input type="hidden" name="$_telfixe" value="'.$telfixe.'" >
Catégorie :
<select name = "$_categorie[]" multiple size = 6> ';
foreach($categorie as $select_cat){
echo '<option value = "'.$select_cat.'" > '.$select_cat.' </option>';
}
echo '</select>
<input type="submit" name="convert" value="convert" style="width: 100%;">
<input type="submit" name="retour" value="retour" style="width: 100%;">
</form>';
finentete();
finpage($delimiter);
}
---
Pour récupérer le fichier je fais 'convert'
----
if(isset($_REQUEST["convert"])) // detect upload of file
{
$_FILE["file"] = $_SESSION['fichier_file'];
// $filename_vcf = $_FILES["file"]["name"].".vcf";
$filename_vcf = $_SESSION['fichier_name'].".vcf";
header('Content-Type: text/vcard');
header(sprintf('Content-Disposition: attachment; filename="%s"', $filename_vcf));
// convert1($_FILES["file"]["tmp_name"],$delimiter,$telfixe,$catégorie);
convert1($_SESSION['fichier_tmp_name'],$delimiter,$telfixe,$catégorie);
exit;
}
----
J'ai essayé de mettre le fichier en 'hidden' dans le deuxième formulaire => Marche pas
J'ai essayé d'utiliser SESSION => Marche pas non plus
pour session
----
$_SESSION['fichier_name'] = $_FILES["file"]["name"];
$_SESSION['fichier_type'] = $_FILES["file"]["type"];
$_SESSION['fichier_size'] = $_FILES["file"]["size"];
$_SESSION['fichier_tmp_name'] = $_FILES["file"]["tmp_name"];
$_SESSION['fichier_file'] = $_FILES["file"];
$_SESSION['fichier_file1'] = $_FILES;
-----
Enfin pas réussi
Si quelqu'un a une idée...
Anne