Problème fonction...

Paulo62500 Messages postés 207 Statut Membre -  
Paulo62500 Messages postés 207 Statut Membre -
Bonjour à tous , me revoilà!
J'ai un problème avec une fonction , c'est simple ça fonctionne pas o_O

Je ne suis pas très doué si vous voulez bien m'aider merci!
Voilà le code:

<?php function enregistrer_fichier($endroit)
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'files/uploads/' .$endroit. '/' . basename($_FILES['monfichier']['name']));
$reponse = mysql_query("SELECT id FROM exos_uploads ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
$last_id = $donnees['id']+1;
$_FILES['monfichier']['name'] = $titre.$last_id;
$nom_fichier = $_FILES['monfichier']['name'];
mysql_query("INSERT INTO exos_uploads VALUES('','" .$pseudo. "','" .$commentaires. "','" .$matiere. "','" .$nom_fichier. "','" .time(). "')") or die(mysql_error());
}

if($matiere == 'physique')
{
enregistrer_fichier('physique');
echo 'Fichier enregistré dans physique';
}?>



...Comme j'ai pas mal de conditions après j'ai donc créer cette fonction,mais voilà ça ne m'enregistre pas à l'endroit voulu en paramètre...alors que sinon le script en lui même pour enregistrer des fichier fonctionne!

PS:je suis bien connecté à ma BDD

Merci d'avance et a+!
A voir également:

15 réponses

Paulo62500 Messages postés 207 Statut Membre 6
 
SVP!
Merci
0
Paulo62500 Messages postés 207 Statut Membre 6
 
Personne?
hummm...

SVP!
0
Paulo62500 Messages postés 207 Statut Membre 6
 
SVP!
0
Paulo62500 Messages postés 207 Statut Membre 6
 
...
0

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

Posez votre question
Paulo62500 Messages postés 207 Statut Membre 6
 
lol,personne?
0
Paulo62500 Messages postés 207 Statut Membre 6
 
REBonjour à tous , me RErevoilà!
J'ai un problème avec une fonction , c'est simple ça fonctionne pas o_O

Je ne suis pas très doué si vous voulez bien m'aider merci!
Voilà le code:

<?php function enregistrer_fichier($endroit)
{
move_uploaded_file($_FILES['monfichier']['tmp_name']­, 'files/uploads/' .$endroit. '/' . basename($_FILES['monfichier']['name']));
$reponse = mysql_query("SELECT id FROM exos_uploads ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
$last_id = $donnees['id']+1;
$_FILES['monfichier']['name'] = $titre.$last_id;
$nom_fichier = $_FILES['monfichier']['name'];
mysql_query("INSERT INTO exos_uploads VALUES('','" .$pseudo. "','" .$commentaires. "','" .$matiere. "','" .$nom_fichier. "','" .time(). "')") or die(mysql_error());
}

if($matiere == 'physique')
{
enregistrer_fichier('physique');
echo 'Fichier enregistré dans physique';
}?>

...Comme j'ai pas mal de conditions après j'ai donc créer cette fonction,mais voilà ça ne m'enregistre pas à l'endroit voulu en paramètre...alors que sinon le script en lui même pour enregistrer des fichier fonctionne!

PS:je suis bien connecté à ma BDD

Merci d'avance et a+!
0
Paulo62500 Messages postés 207 Statut Membre 6
 
svp
0
Paulo62500 Messages postés 207 Statut Membre 6
 
Bon j'ai rien dit ma fonction fonctionne...
Mais là j'ai un autre problème :):

function enregistrer_fichier($endroit)
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'files/uploads/' .$endroit. '/' . basename($_FILES['monfichier']['name']));
$reponse = mysql_query("SELECT id FROM exos_uploads ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
$last_id = $donnees['id']+1;
$_FILES['monfichier']['name'] = $titre.$last_id;
$nom_fichier = $_FILES['monfichier']['name'];
mysql_query("INSERT INTO exos_uploads VALUES('','" .$pseudo. "','" .$commentaires. "','" .$matiere. "','" .$nom_fichier. "','" .time(). "')") or die(mysql_error());
}

if($matiere == 'physique')
{
enregistrer_fichier('physique');
echo 'Fichier enregistré dans physique';
echo $pseudo.$commentaires.$matiere.$nom_fichier;
}


Impossible d'enregistrer les variables pseudo,matiere,commentaires, dans ma bdd(je ne vois pas dans ma BDD) mais pourtant avec le echo je les vois...
Mais que le nom_fichier s'enregistre dans la BDD...enfin que l'id pas l'id.titre...

Merci de bien vouloir m'aider et a+!
0
Squad-G Messages postés 70 Statut Membre 5
 
Salut,

Essaie ceci :

function enregistrer_fichier($endroit, $pseudo, $commentaires, $matiere, $nom_fichier)
{
move_uploaded_file($_FILES['monfichier']['tmp_name']­, 'files/uploads/' .$endroit. '/' . basename($_FILES['monfichier']['name']));
$reponse = mysql_query("SELECT id FROM exos_uploads ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
$last_id = $donnees['id']+1;
$_FILES['monfichier']['name'] = $titre.$last_id;
$nom_fichier = $_FILES['monfichier']['name'];
mysql_query("INSERT INTO exos_uploads VALUES('','" .$pseudo. "','" .$commentaires. "','" .$matiere. "','" .$nom_fichier. "','" .time(). "')") or die(mysql_error());
}

if($matiere == 'physique')
{
enregistrer_fichier('physique', $pseudo, $commentaires, $matiere, $nom_fichier);
echo 'Fichier enregistré dans physique';
echo $pseudo.$commentaires.$matiere.$nom_fichier;
}
0
Paulo62500 Messages postés 207 Statut Membre 6
 
Bon bah MERCI ça fonctionne :p!

Quelle est la cause de ce problème?

C'est pas parceque à l'intérieur des fonctions les variables sont définis que pour elles?

Merci!!
0
Squad-G Messages postés 70 Statut Membre 5
 
Salut,

Oui. Dans une fonction, chaque variable appartient à la fonction et la fonction seule uniquement. Tu peux créer 50 fois la variables $Query dans 50 fonctions sans quelle se touche une fois. Il suffit d'inclure les variables entre les fonction($var1, $var2) et lors de l'appel : salut('salut', 'ca va').

Je t'invite à regarder ceci : https://openclassrooms.com/fr/courses#ss_part_1

Cordialement, David.

Signature non conforme ==> Supprimée
Modération CCM
0
Paulo62500 Messages postés 207 Statut Membre 6
 
Merci beaucoup pour ta rapidité et tes explications , je cherchais à résoudre ce ***** de problème depuis hier et voilà que c'est résolu ça fait du bien :p

Merci a+!
0
Squad-G Messages postés 70 Statut Membre 5
 
Salut,

Pas de problème. Si tu as d'autres problèmes, n'hésite pas =)

@+
Signature non conforme ==> Supprimée
Modération CCM
0
Paulo62500 Messages postés 207 Statut Membre 6
 
Bon me revoilà déjà lol!

J'ai rajouté un paramètre à ma fonction :p mais fonctionne pas en fait j'ai rajouté des conditions pour des sous-dossiers encore et encore!!

function enregistrer_fichier($endroit_1,$endroit_2, $pseudo, $commentaires, $matiere, $nom_fichier,$classe,$titre)
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'files/uploads/' .$endroit_1. '/' .$endroit_2. '/' . basename($_FILES['monfichier']['name']));
$reponse = mysql_query("SELECT id FROM exos_uploads ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
$last_id = $donnees['id']+1;
$_FILES['monfichier']['name'] = $titre.$last_id;
$nom_fichier = $_FILES['monfichier']['name'];
mysql_query("INSERT INTO exos_uploads VALUES('','" .$pseudo. "','" .$commentaires. "','" .$matiere. "','" .$nom_fichier. "','" .time(). "','" .$classe. "')") or die(mysql_error());
}
//Pour les variables extérieurs à la fonction car RAPPEL:les variables sont UNIQUES pour les fonctions :p
if($matiere == 'physique')
{
if($classe == 'seconde')
{
enregistrer_fichier('physique','seconde', $pseudo, $commentaires, $matiere, $nom_fichier,$classe,$titre);
echo 'Fichier enregistré dans physique';
echo $pseudo.$commentaires.$matiere.$nom_fichier.$classe;
}
.........................etc...........


Merci d'avance et a+!
0
Paulo62500 Messages postés 207 Statut Membre 6
 
Bon bah ça fonctionne...
Voyez vous des irrégularités dans mon code tout de même?:p
Merci
0