Boucle avec if

[Résolu]
Signaler
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006
-
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012
-
Bonjour,
j'ai un petit problème avec mes boucles "if" !!
voilà j'ai un premeier formulaire qui sélectionne un fichier sur mon disque et je souhaite en faire un copie ailleurs.
Mais je lui dis de regarder l'extension du fichier pour savoir quel format adopter au nouveau fichier.
Mais il ne tiens pas compte de mon if !! il me créer l'ensemble des fichiers (txt, xls, csv!! alors que je ne souhaite que celui qui correspond à l'extension du fichier sélectionné!!
Ci dessous mon script :

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>






Traitement d'enregistrement de la source de données.

Merci de patienter.





<?php


// affichage des parametres
echo $nom_fichier;
$date= date ("Y-m-j");
$extent=substr($nom_fichier, -3, 3);
echo $extent;


if ($extent=="xls");
{
{
if(@copy($nom_fichier,'../data/nvsirene.xls'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}
}
if ($extent=="txt");
{
{
if(@copy($nom_fichier,'../data/nvsirene.txt'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}
}
if ($extent=="csv");
{
{
if(@copy($nom_fichier,'../data/nvsirene.csv'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}
}


?>


<?php


$hote_mysql = "localhost";


//Adresse du serveur mysql


$user_mysql = "root";
//Nom d'utilisateur du webmaster (généralement le même que pour l'accés FTP par exemple)


$passwd_mysql = "root";
// Mot de passe du webmaster (généralement le même que pour l'accés FTP par exemple)


$base_mysql = "sources";
// Nom de la base MySql (généralement identique au nom d'utilisateur)


// Connection au serveur
mysql_connect("$hote_mysql","$user_mysql","$passwd_mysql") or die(mysql_error());


$sql_create = "insert into ENREGIST (date, operation, fichier) values ('$date', 'ENREG' , '$nom_fichier')";


$req_create = mysql_db_query($base_mysql, $sql_create) or die(mysql_error());



//femeture de la connection au serveur MySQL


mysql_close();
?>


Fin de traitement d'enregistrement de la source de données.



<?php


exec ("export.bat");


?>



<FORM method="post" action="mail.php">



<!- Retour ->
Retour au formulaire de traitement:



</FORM>



</html>

5 réponses

Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Salut,

Bon deja un if n'est pas une boucle, ne dis jamais ca devant un puriste de l algo ou tu es mort lol.
bon dans ton programme il y a un peu trop de {} et trop de { tu le { enfin lol.

essaye avec ma version, j ai aussi rajouter des else, ca ne sert a rien de faire les trois test si le premier est bon.

// affichage des parametres
echo $nom_fichier;
$date= date ("Y-m-j");
$extent=substr($nom_fichier, -3, 3);
echo $extent;





if ($extent=="xls");
{
if(copy($nom_fichier,'../data/nvsirene.xls'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}





else if ($extent=="txt");
{
if(copy($nom_fichier,'../data/nvsirene.txt'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}





else if ($extent=="csv");
{
if(copy($nom_fichier,'../data/nvsirene.csv'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

de rien, accepte nos reponse si ca marche


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



enleve les ; apres tes if() :



exemple :



if ($extent=="xls");

devient


if ($extent=="xls")



Ensuite, pourquoi mets tu 2 accolades apres un if () ???

Une seule suffit...(et pense a bien fermer le bon nombre d'accolades).
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

exact malalm j avais pas vu les ;

le code devient a mon avis

// affichage des parametres
echo $nom_fichier;
$date= date ("Y-m-j");
$extent=substr($nom_fichier, -3, 3);
echo $extent;




if ($extent=="xls")
{
if(copy($nom_fichier,'../data/nvsirene.xls'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}





else if ($extent=="txt")
{
if(copy($nom_fichier,'../data/nvsirene.txt'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}





else if ($extent=="csv")
{
if(copy($nom_fichier,'../data/nvsirene.csv'))
{
echo 'Le fichier a été copié dans le répertoire.';
}
else
{
echo 'Erreur';
}
}

voila sans les ;

<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Merci beaucoup tout fonctionne très bien !!
Désolé pour le mot boucle !!!! ;-)
merci à vous deux!!