Boucle avec if

Résolu
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 27 avril 2005 à 09:37
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012 - 27 avril 2005 à 10:18
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

morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
27 avril 2005 à 09:54
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';
}
}
3
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
27 avril 2005 à 10:18
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
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 avril 2005 à 09:50
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).
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
27 avril 2005 à 09:55
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
27 avril 2005 à 10:15
Merci beaucoup tout fonctionne très bien !!
Désolé pour le mot boucle !!!! ;-)
merci à vous deux!!
0
Rejoignez-nous