Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1107 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variable Fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable Fonction

n°988913
frlp
Posté le 21-02-2005 à 18:40:09  profilanswer
 

Bonjour à tous, voila mon code d'upload de photo avec enregistrement dans un bdd
 

Citation :

<?
include ("config_db.php" );
define("BASE_DIR","" );
$toto = "fichier";
$toto2 = "fichier2";
 
fileUpload($toto);
fileUpload2($toto2);
 
function fileUpload($toto)
{
$blnRetour = false;
if ( !empty($toto) && is_uploaded_file($_FILES[$toto]['tmp_name']) )
{
$strRepertoire = 'images/';
$strNom = $_FILES[$toto]['name'];
$strNomFichier = BASE_DIR.$strRepertoire.$strNom;
$blnRetour = move_uploaded_file($_FILES[$toto]['tmp_name'], $strNomFichier);
echo "$strNom";
mysql_query("UPDATE catalogue SET img1='$strNom' WHERE id='$id'" );
}
return $blnRetour;
}
 
function fileUpload2($toto2)
{
$blnRetour2 = false;
if ( !empty($toto2) && is_uploaded_file($_FILES[$toto2]['tmp_name']) )
{
$strRepertoire2 = 'images/';
$strNom2 = $_FILES[$toto2]['name'];
$strNomFichier2 = BASE_DIR.$strRepertoire2.$strNom2;
$blnRetour2 = move_uploaded_file($_FILES[$toto2]['tmp_name'], $strNomFichier2);
echo "$strNom2";
mysql_query("UPDATE catalogue SET img2='$strNom2' WHERE id='$id'" );
}
return $blnRetour2;
}
 
?>


 
 
J'ai pas tout optimisé mais c'est pas le sujet. L'echo de $strNom et $strNom2 et l'upload des images se fait pas parfaitement mais pas son inscription dans la base...  
Je prôbleme doit être du fait que le tout se passe dans une fonction, si vous avez une solution, merci.
 
 
frlp

mood
Publicité
Posté le 21-02-2005 à 18:40:09  profilanswer
 

n°988917
tet2neu
emmerdeur
Posté le 21-02-2005 à 18:42:24  profilanswer
 

frlp a écrit :

L'echo de $strNom et $strNom2 et l'upload des images se fait pas parfaitement mais pas son inscription dans la base...  
Je prôbleme doit être du fait que le tout se passe dans une fonction, si vous avez une solution, merci.
 
 
frlp


pas très clair :/

n°988928
omega2
Posté le 21-02-2005 à 18:48:15  profilanswer
 

Si l'inscription marche mal, c'est surement par ce que la fvariable $id n'existe pas dans la fonction. Il faudrait penser à faire passer la valeur à la fonction si tu veux l'utiliser.

n°988936
frlp
Posté le 21-02-2005 à 18:53:19  profilanswer
 

$id est dans le formulaire, désolé j'avais pas précisé mais bon...
 
En gros, tout se passe parfaitement, sauf la récupération de la variable $strNom lors de l'inscription dans la base.

n°988940
esox_ch
Posté le 21-02-2005 à 18:56:21  profilanswer
 

Et $id tu la recupere comment ? J'ai pas vu de $_POST['id']


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°988950
frlp
Posté le 21-02-2005 à 19:00:01  profilanswer
 

'$id' suffit.
 
Le seul prôbleme est la récupération de $strNom, le reste marche nikel.

n°988955
KangOl
Profil : pointeur
Posté le 21-02-2005 à 19:02:56  profilanswer
 

frlp a écrit :

'$id' suffit.
 
Le seul prôbleme est la récupération de $strNom, le reste marche nikel.


non !
$id n'est pas défini dans ta fonction !
faut que tu les mette en global...


---------------
Nos estans firs di nosse pitite patreye...
n°988956
omega2
Posté le 21-02-2005 à 19:03:08  profilanswer
 

Je répête : $id n'existe pas dans la fonction.
On s'en fout que ca soit une valeur qui vienne d'un formulaire d'un cookie ou d'un autre fichier, ca ne change rien au fait que cette variable n'existe pas dans cette fonction.
 
On va reprendre les bases du PHP : une variable existant dans une fonction n'existe que dans cette fonction, une variable existant en dehors des fonction n'est visible qu'en dehors des fonctions. Seuls exections les variables globales.(global $var) Ta variable n'existe donc pas dans la fonction. D'ailleur, il faut pas abuser des "global $var", ca poyusse à programmer n'importe comment.
 
D'ailleur, c'est pas bien travailler avec "register_globals" à "on". Mieux vaut travailler avec le "register_globals" à "off". C'est un peu plus chiant vu qu'on ne peut pas utiliser directement des $var pour utiliser les données mais au moins on sait d'oùm elles viennent. Là avec ton script, tu sais pas si ton $id vient d'unn cookie, d'un formulaier d'un simple lien, d'une session ou directement du serveur en lui même.

n°988967
frlp
Posté le 21-02-2005 à 19:12:42  profilanswer
 

humm...
 
Lorsque j'éxécute mon script, sur disons l'id 34, le champ img1 et img1 se remplace par rien. Donc $id est pris en compte vu que la modification se fait se fait bien WHERE id = '$id'.
 
Merci

n°988975
omega2
Posté le 21-02-2005 à 19:20:43  profilanswer
 

Si tu le dis, mais à par si le fichier "config_db.php" fait joujou avec la fonction global, ca ne peut pas marcher.
Et si ca marche, ca serait bien de bien nous décrire PRECISEMENT ton probléme. "Madame Irma" ne passant pas sur ce forum, on ne peut pas deviner ce qui n'est pas écrit.

mood
Publicité
Posté le 21-02-2005 à 19:20:43  profilanswer
 

n°988985
naceroth
Posté le 21-02-2005 à 19:26:51  profilanswer
 

C'est tellement difficile en phase de conception d'afficher les messages d'erreur de mysql lorsqu'un problème se produit à ce niveau ?

n°988996
esox_ch
Posté le 21-02-2005 à 19:35:30  profilanswer
 

naceroth a écrit :

C'est tellement difficile en phase de conception d'afficher les messages d'erreur de mysql lorsqu'un problème se produit à ce niveau ?


 
Presque aussi dur que de pouvoir admettre qu'on est peut-etre moins qualifiés pour savoir ou notre script foire que ceux qui ont des scripts qui foirent pas


Message édité par esox_ch le 21-02-2005 à 19:36:02

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°989485
Xav_
The only one...
Posté le 22-02-2005 à 08:50:02  profilanswer
 

en conf de base, son register_global est peut etre à ON, donc $id lui suffit pour récupérer la variable venant du formulaire...
 
par contre le fait que tu joue avec un nom de fichier qui n'a pas d'extension

Citation :

$toto = "fichier";
$toto2 = "fichier2";


je sais pas si c'est pas génant pour

Citation :

$strNom = $_FILES[$toto]['name'];

...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°989496
frlp
Posté le 22-02-2005 à 09:08:00  profilanswer
 

Je rappel: pas d'erreur sql, pas de bug, rien niet, juste une inscription vide dans la base. config_db contient simplement les identifiants de la base....
 
en gros, $_FILES[$toto]['name'] n'est pas reconnu comme champ valide dans la requete sql ?  
Ok je cherche dans ce sens, merci xav_.
 
 
 

n°989501
FlorentG
Unité de Masse
Posté le 22-02-2005 à 09:13:18  profilanswer
 

Fait une fois un echo de $id aussi, histoire de voir ce qu'il y a dedans.

n°989611
frlp
Posté le 22-02-2005 à 11:11:56  profilanswer
 

euh... echo "$id" écrit la valeur qu'on lui donne dans le formulaire...
 
Je vois pas pourquoi vous vous acharner sur $id, le probleme ne vient pas de là.

n°989655
KangOl
Profil : pointeur
Posté le 22-02-2005 à 11:57:36  profilanswer
 

c'est quoi le type de img1 et img2 ?? (dans la bd je veux dire)


---------------
Nos estans firs di nosse pitite patreye...
n°989689
frlp
Posté le 22-02-2005 à 12:36:44  profilanswer
 

c'est en text

n°989691
KangOl
Profil : pointeur
Posté le 22-02-2005 à 12:42:21  profilanswer
 

un text pour un nom de fichier !!
pourquoi pas un (var)char binary ???


---------------
Nos estans firs di nosse pitite patreye...
n°989694
frlp
Posté le 22-02-2005 à 12:46:40  profilanswer
 

pourquoi pas oui, je test aprés bouffé :) merci pour ton aide

n°989914
frlp
Posté le 22-02-2005 à 15:34:11  profilanswer
 

pas de changements

n°989956
Xav_
The only one...
Posté le 22-02-2005 à 15:50:08  profilanswer
 

tu dis que le echo de $strNom  marche bien, mais pas l'insertion --> fait un echo de la requete avant son envoi pour voir ce que ça te donne...
fait un truc du genre:

Code :
  1. echo "$strNom";
  2. $req= "UPDATE catalogue SET img1='$strNom' WHERE id='$id'";
  3. echo $req;
  4. mysql_query($req);


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°990155
frlp
Posté le 22-02-2005 à 17:29:36  profilanswer
 

Merci beaucoup wav_ , ça marche !
 
Je suis webdesigner donc si t'as besoin d'un design pour ton site ou autre chose, n'hésite pas. Tu me sors d'une belle m...  
 
 

n°990158
KangOl
Profil : pointeur
Posté le 22-02-2005 à 17:31:34  profilanswer
 

heink :heink:
 
comme si le echo allait faire que ca marche...


---------------
Nos estans firs di nosse pitite patreye...
n°990171
frlp
Posté le 22-02-2005 à 17:53:43  profilanswer
 

c'est pas le echo qui fait la chose en effet mais le  
 
$req= "UPDATE catalogue SET img1='$strNom' WHERE  
mysql_query($req);
 
 
C'était tout con, mais encore fallait il trouver

n°990178
Xav_
The only one...
Posté le 22-02-2005 à 18:08:53  profilanswer
 

[quote=990155,0,23,231299]Merci beaucoup wav_ , ça marche !
 
Je suis webdesigner donc si t'as besoin d'un design pour ton site ou autre chose, n'hésite pas. Tu me sors d'une belle m...[/quote]
http://webxav.chez.tiscali.fr/gif/src1/archi.gif
merci, je fait mes graphisme moi-meme (vu qu'avec CSS c'est plus proche du code qu'autre chose, mais merci de proposer)
 
Par contre mon pseudo c'est Xav
le "_" c'est paske il faut au moins 4 caractère pour s'enregistrer, il me fait plus chier qu'autre chose, par contre le reste j'y tiens ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°990226
frlp
Posté le 22-02-2005 à 18:38:39  profilanswer
 

;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable Fonction

 

Sujets relatifs
[EXCEL]Fonction fréquence et variable qualitativeSortir une variable d'un fonction ?
prob Variable et fonction moyenne[PHP]variable de session dans une fonction
[PHP] pb de variable dans une fonctionattribution valeur d'une variable fonction de la resolution ecran
[Cpp] Donner une variable en argument dans une fonctionvariable javascript dans une fonction
utiliser une variable globale dans une fonction? [résolu]Modification d'une variable globale dans une fonction...
Plus de sujets relatifs à : Variable Fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR