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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Code php et bdd

n°1704162
Max50
Posté le 18-03-2008 à 16:31:20  profilanswer
 

Reprise du message précédent :
ok, je vais de suite modifier le lien et je vais essayer de trouver pourquoi il n'y a pas d'extension.
 
bon deja le bon coté c'est que les images s'affichent, donc pour les visiteurs c'est mieux :)
 
merci, je vois ca et je te redis ;)

mood
Publicité
Posté le 18-03-2008 à 16:31:20  profilanswer
 

n°1704819
Max50
Posté le 19-03-2008 à 16:50:34  profilanswer
 

slt,
 
modif effectuer, sauf pour l'extension, j'ai regardé en vitesse mais n'ai pas trouvé, vu que ca pose pas de probleme, je verrais ca plus tard.
 
je vais t'embeter une encore une fois, mais la promis c'est la dernière.
 
j'essaye de creer une zone proteger par mot de passe avec la variable session(), et une base de données, seul l'index ne seras pas proteger. J'ai beau regarder sur le net, et il y a plein de tutos, mais je ne comprends pas grand choses et comme tu explique bien, pourrais tu m'aider, stp.
 
voila ce que je pense avoir compris.
 
1 - inscription et connexion du membre via la base de données
 
2 - utilisation de session() pour verifier que le membre est bien connecter afin de s'assurer qu'il a autorisation.
si oui affichage de la page, sinon retour sur le formulaire de connexion avec un lien vers le formulaire d'inscription.
 
3 - deconnexion, mais la je sais pas j'ai pas encore vu comment faire.
 
Bon, petit expli ; j'ai un sous-domaine que j'aimerais utilisé pour faire une sorte de mini-site. Si tu connais resident evil tu vas vite comprendre l'utilité du mini-site.
Je me sert du sous domaine pour faire une partie qui pourrais faire penser a un reseau du groupe umbrella.
 
Pour le moment je suis en local, donc pas de stress a l'horizon pour la mise en place.
 
merci a toi de me supporter ;)
 
Max


Message édité par Max50 le 19-03-2008 à 16:52:59
n°1704862
Xav_
The only one...
Posté le 19-03-2008 à 17:34:38  profilanswer
 

Re,
 
1/ pour le problème d'extension,  
je pense vraiment que c'est lors de l'upload du fichier qu'il y a un soucis, je dirais même AMHA que c'est là:

Max50 a écrit :

Code :
  1. <?php
  2. //Récupération de l'image et déplacement vers dossier
  3. if (isset($_FILES['image']['size']))
  4.         {
  5.                 //On déplace l'avatar
  6.                 $image = time();
  7.                 $nomimage = str_replace(' ','',$image).".".$extension_upload;
  8.                 $image = "../re1/images/alpha/".str_replace(' ','',$image).".".$extension_upload;
  9.                 move_uploaded_file($_FILES['image']['tmp_name'],$image);
  10.         }
  11. [...]
  12. ?>



Je ne vois nul part ou cette variable est initialisée (donc elle doit être vide).
Et si tu va voir dans ta BDD (avec PHPMyAdmin par exemple), tu vas surement voir qu'aucune de tes images n'a d'extension.
 
2/Tu as bien compris le principe, il te faut utiliser les super-global (comme pour les formulaires) mais là celles des session $_SESSIONS['toto']
D'ailleurs j'ai un trou (de mémoire), je me souviens plus si c'est $_SESSIONS['toto'] ou $_SESSION['toto'] (regarde dans un des tutos que tu as trouvé pour être sûr).
 
Quand l'identification a réussi, tu fais un truc genre $_SESSIONS['user'] = $user;
et ensuite tu fais un test si $_SESSIONS['user'] existe et n'est pas vide pour gérer "affichage ou redirection".
 
Pour le point 3, tu peux faire un bouton de déconnexion, et quand le user clic dessus, tu fais unset $_SESSIONS['user']; pour détruire la variable en question.
Sinon, en plus de ça, il faut savoir que:
- la session se détruit toute seule à la fermeture du navigateur
- la session "expire" (et n'est donc plus valable) au bout d'un délais configuré par ton FAI dans le php.ini (et modifiable par ini_set() je pense), donc si le user laisse son navigateur ouvert, mais ne fais aucun clic sur le site pendant un certain temps, il se verra "expiré" et devra se logger à nouveau.
 

Citation :

mais je ne comprends pas grand choses et comme tu explique bien


Vilain petit flaltteur va ;)
 
EDIT:
d'ailleurs il sert à quoi le str_replace dans le code que j'ai quoté ? elle renvois des "espaces" la fonctions time() des fois ???
et aussi, c'est quoi la ligne 7, vu que tu te sers pas de $nomimage, mais que tu refais le même remplacement et la même concaténation à la ligne en-dessous, directement dans $image ???


Message édité par Xav_ le 19-03-2008 à 17:38:49

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1704873
Max50
Posté le 19-03-2008 à 17:46:39  profilanswer
 

exact, j'avais pas fait gaffe a ca non plus, je regarde ca avec attention parce que la ca fait trop quand meme.
 
vilain petit flatteur ? mdr, non c'est vrai, vu le nombre de choses que je te demande je trouve ca bien que tu prenne le temps de bien m'expliqué plutot que de m'envoyer boulet, comme j'ai vu sur d'autres forum ;)
 
le str_replace, si j'ai bien compris, me sert a modifier le nom de l'image, ce qui est utile pour un forum par exemple, dans mon cas moins je dois l'admettre. Mais bon j'ai deja beaucoup supprimer du code d'origine fournis dans un tutos pour faire son forum, donc j'evite quand meme de trop en enlever.
 
pour les extension il me manque les extensions autorisées, si je les rajoute juste avant avec un truc du genre "$extension_upload= mes extensions autorise", ca devrais marcher non ?
 
 
 
---------------------
 
 
pour les sessions, je sais inscrire et lire des données a partir d'une base, et verifier si les données entrées dans le formulaires existent dans la base. Mais je vois pas du tout comment faire le lien entre le resultat de la base, et les sessions, comment faire pour inscrire le resultat en temp pour garder la connexion active le temps de se ballader sur le site.


Message édité par Max50 le 19-03-2008 à 18:16:02
n°1704980
Xav_
The only one...
Posté le 19-03-2008 à 21:35:31  profilanswer
 

1/ pour l'extension, si tu fais "$extension_upload= mes extensions autorises" contiendra toutes les extensions d'images, et ensuite tu va te retrouver en concaténant, avec un nom d'image du genre "toto.jpg png gif", et je pense pas que ce soit le but recherché.
je verrai un truc du genre (écris viteuf et non testé)

Code :
  1. $extension_valides = "jpeg jpg gif png"; //variable pour stocker les extension autorisées
  2. //on créé un tableau pour découper autour de "." --> avec "toto.bmp" ça donne tempo[0] = toto et tempo[1] = bmp
  3. $tempo = explode(".", $_FILES['image']['tmp_name']);
  4. // on récupère la dernière cellule du tableau (donc la chaine qu'il y avait après le dernier "." )
  5. // ça permet d'etre sur de toujours prendre l'extension, même si yavait un autre "." dans le nom du fichier
  6. $extension_recue = $tempo[sizeof($tempo) - 1];
  7. //stristr n'est pas sensible à la casse, donc si l'extension est en MAJ mais ok, ça passera
  8. if (stristr($extension_valides, $extension_recue) === FALSE)
  9. {
  10.    echo "extension non valide";
  11.    //et on arrête le traitement
  12. }
  13. else
  14. {
  15.    $image = time().".".$extension_recue;
  16.    // move_uploaded_file, et insertion BDD...Etc...
  17. }


 
2/ Explication str_replace

Code :
  1. str_replace(' ','',$image)


ça recherche les ' ' (donc les espaces) dans $image et les remplace par '' (donc rien)
ça t'assure qu'il n'y aura pas d'espace dans les noms de fichiers (car UNIX n'aime pas vraiment ça), mais comme toi, juste au-dessus, tu fais

Code :
  1. $image = time()


et qu'a ma connaissance, time() ne retourne jamais d'espace, ben virer les espace dans une chaine qui n'en contient pas, ça sert à peu près autant qu'un toit ouvrant sur un sous-marin ;)
d'où ma question:

Citation :

il sert à quoi le str_replace dans le code que j'ai quoté ? elle renvois des "espaces" la fonctions time() des fois ???


 
3/ Pour les sessions je t'ai déjà tout marqué:

Citation :

Quand l'identification a réussi, tu fais un truc genre $_SESSIONS['user'] = $user;
et ensuite tu fais un test si $_SESSIONS['user'] existe et n'est pas vide pour gérer "affichage ou redirection".


Ce qui est en gras veut dire "j'ai comparé le nom et le password du formulaire avec la BDD, et c'est OK, le monsieur il a le droit donc je lui créé sa variable de session avec son nom dedans" ^^
 
ensuite:

Citation :

et ensuite tu fais un test si $_SESSIONS['user'] existe et n'est pas vide pour gérer "affichage ou redirection".


comprendre:

Code :
  1. if(!is_empty($_SESSIONS['user']))
  2.    //le gars est déjà identifié
  3. else
  4.    // redirection vers le formulaire


 
4/ Oui je répond tout bien paske au départ, tu posais des questions, mais tu montrais que tu avais fais pas mal de recherche, là j'ai l'impression que c'est moins le cas ces temps-ci, et que tu te repose un peu trop sur mes explications, spa bien msieur  :non: .
 
Quand tu dis:

Citation :

le str_replace, si j'ai bien compris, me sert a modifier le nom de l'image


oui ça "modifie" --> ça recherche les occurrences de "argument 1" pour les remplacer par "argument 2" dans la chaine "argument 3" (la fonction prend 3 arguments en entrée).
et donc là ça vire des espaces qui n'existent pas a priori. ;)
 
Essai quand même de faire l'effort de regarder la doc pour savoir vraiment ce que fond les fonctions, si elles sont bien utiliser...Etc... on trouve tout et n'importe quoi dans les exemples du net, ça va du "très bon" à "beurk".
c'est pas comme si yavait pas un beau manuel tout complet en français à portée de la main ;):
http://fr3.php.net/manual/fr/
 
Aller, tu es presque au bout, un dernier effort :)
 
PS c'est très bien que tu ais déjà viré beaucoup de code inutile, mais ça veut pas dire que tu dois en rester là, si tu trouve d'autre code inutile dans ce que tu as récup des exemples, il faut continuer de l'enlever.  
Du code inutile c'est:
- du temps d'exécution en plus pour rien (pas trop trop grave, on parle de micro-secondes, ya quand même pas 10 000 instructions inutiles)
- des sources potentielles de BUG supplémentaires (et ça c'est déjà beaucoup plus grave)
 
Au pire tu les passes en commentaire si tu pense en avoir besoin par la suite, mais tu le laisse pas tel quel.


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1705049
Max50
Posté le 20-03-2008 à 08:36:24  profilanswer
 

slt, merci pur tout je comprend bien mieux là^^
 
pour le lien que tu ma mis, merci, je ne suis jamais tomber dessus, bizarre, enfin bon, merci il va mettre tres tres utile.
 
et sinon tu dis que je cherche moins sur le net, en fait c'est pas tout a fait ca, je fais un truc qu'il ne faut jamais faire quand on debute.
Avant je cherchais le fonctionnement voir meme un code sur lequel travailler pour apprendre. Je pouvais rester longtemps a chercher sur le meme type de code, le hic c'est que maintenant j'en fait different en meme temps, donc du coup j'arrive a m'y perdre.
Pour te dire, ca va peut etre te paraitre rien du tout, mais je cherche a faire un diapo photo (sans flash), des fonctions qui sont souvent en JS qui existent aussi en php, etc. Sans compter le nombre d'interruption que j'ai parfois de la part d'un pote qui ne cherche meme pas a apprendre les bases (des bases, si je puis dire ca) du html. Donc du coup parfois je suis dans du php et la d'un coup je dois me taper du html, et en plus il me tient la patte a me causer.
 
Pour le JS, je ne l'utilise pas ou tres peu vu que le client peut le desactiver. Et pour ce qui est de flash, je suis pas contre mais au prix de la bete je prefere apprendre des tonnes de code et leurs fonctionnement, et c'est plus interessant en plus.
 
voila.
 
 
edit : ha oui aussi, je ne vais pas t'embeter avec le php pour un petit moment la, vu que je suis en local, je vais regarder le manuel avec beaucoup d'attention ;)
 
edit 2 : je viens de commencer a le lire, je suis impressionner par php, y a une limite a ses possibilité ? mdr


Message édité par Max50 le 20-03-2008 à 08:50:04
n°1705254
Xav_
The only one...
Posté le 20-03-2008 à 12:01:04  profilanswer
 

ben tu sais, c'est qu'un forum, j'ai un vrai boulot à coté, donc c'est pareil, le temps que je passe ici, c'est en plus de 1000 autres trucs plus ou moins pénibles à mon boulot (pour info, le webmastering, n'est qu'un passe-temps, mon taf c'est la programmation de machines qui n'ont rien à voir avec ça, et dans des langage spécifiques très différents également).
 
Mais comme beaucoup d'autres ici, je passe du temps avec ceux qui veulent apprendre, car même si on fait des efforts, un pti coup de main c'est toujours utile (et pas qu'au début d'ailleurs).
 
Mais c'est plus l'approche que je veux que tu comprenne bien, les bases comme on dit, c'est aussi ça:
- comprendre vraiment de quoi tu as besoin (pour faire des recherches précises)
- visualiser, ou même écrire (les profs diront écrire, mais moi vilain que je suis, ne le fait quasi jamais) l'algo de ce que doit faire ton prog (et chacune des fonctions)
- comprendre ce que fais CHAQUE instruction quand tu récupère un bout de code tout fait, pour être sûr de l'adapter vraiment à ton utilisation
 
--> Voilà, ce genre de petites choses, des conseils que tu peux également envoyer à la face du monsieur qui s'accroche à ta jambe et t'empêche de bosser ;)
 
PS: Oui, ya des limites à PHP, il est trop ouvert, trop permissif, ne fait pas de typage, te permet de prendre plein de mauvaises habitudes.
C'est un langage à proscrire pour débuter la prog, car tu passes à coté de plein de notions importantes, et avec de "vrais langages" par la suite, tu risque de t'arracher les cheveux :/.
 
PS2 (pas la console hein...): "manuel PHP" sur google, et mon lien c'est la 1ere ou 2eme réponse. :) (certains puristes diront qu'il faut préférer la doc anglaise, c'est pas faux, car certaines erreurs de traduction te réserves des mauvaises surprises par la suite, mais c'est rare, donc à toi de voir)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1705735
Max50
Posté le 20-03-2008 à 22:20:57  profilanswer
 

j'aimerais bien avoir un boulot a coté, mais helas pas grand chose a l'horizon, mon boulot n'a pas grand chose a voir avec le webmastering, je suis pavilloneur, la création de site web est devenu une sorte de passion, à la base je me servais de logiciels qui creer le code automatiquement, tout ce que j'avais a faire c'était de faire le texte et la mise en page comme sur n'importe quel traitement de texte, et je me suis apercue que je pouvais agrandir mes possibilité si je codais moi meme, j'ai appris les bases du html (rien de bien compliqué), puis apres du css qui ma facilité la(les) mise(s) en page(s), pui finalement le php.
 
Voila comment j'en suis arrivé au php. Plus tard j'essairais surement flash, mais j'aime bien le html et php, donc je pense que flash me servira surtout pour creer de petit "logiciel" style lecteur audio/video, diaporama ou autre.
 
pour le ps2, je doit avouer que j'avais pas pensé a ecrire ces mots clé.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
question consernant un code contenant : instanceofRetrouver le code sourrce
[crystal reports] code 39? =>pb IFieldObject[Résolu][ASP .NET][C#] Désactiver l'impersonation en code behind
code source masterminregex et nettoyage de code html
Exécution d'un script ant avec un code JAVAProbleme pour recuprer une variable dans un code embed vers un swf
Code Javascript pour appeler des fichiers dans une autre fenetrePb récurrent javascript avec quotes & code html
Plus de sujets relatifs à : Code php et bdd


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