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+!
Configuration: Windows XP
Firefox 3.0.1

15 réponses

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

    SVP!
    0
  3. Paulo62500 Messages postés 207 Statut Membre 6
     
    SVP!
    0
  4. Paulo62500 Messages postés 207 Statut Membre 6
     
    ...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Paulo62500 Messages postés 207 Statut Membre 6
     
    lol,personne?
    0
  7. 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
  8. Paulo62500 Messages postés 207 Statut Membre 6
     
    svp
    0
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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