Titre: compte user PHP (newbie)
Posté par: hacknours le le 25-04-2005 a 23:50:55
Bonjour ;D
Je suis un gros débutant en ce qui concrene le PHP mais la syntaxe ne me parait pas impossible et j'ai des bases en code (action script, JS, ...).
Je viens à peine d'installer Apache 1.3.33 et PHP 4.3.11 que j'ai déjà envie d'en découdre avec les lignes de codes. Je garde Apache 2.1.3 et PHP 5.0.4 de côté, mais je tiens à faire mes bases sur les versions les + utilisées (d'autant qu'on m'a dis que les new versions sont + restrictives)...
Mon objectif est de réaliser une sorte de carte d'indentité d'un utilisateur, avec plusieurs paramètres (nom, prénom, etc...) certains obligatoires d'autres facultatifs...
Si vous aviez déjà des indices sur la bonne voie à suivre...
Je vous écoute ;D |
Titre: Re:compte user PHP (newbie)
Posté par: nyrodev le le 26-04-2005 a 07:13:25
Pour commencer en PHP? rien de tel que de suivre les leçons dans l'ordre de phpdebutant...
www.phpdebutant.org |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 26-04-2005 a 12:43:23
Merci pour le lien :p ,
En fait si je met un post ici, c'est parce qu'au moins on peux en parler avec des gens (j'ai déjà des tonnes de liens ;D )
Est-ce que le version de Apache et PHP que j'ai installé sont bien ? Faut-il qqch de + récent donc ?
Sinon à propos de mon objectif... Est-ce possible, via un script simple, d'avoir : - Une page HTML avec une identification "user" en PHP - Une page HTML qui sert de redirection pour les visiteurs non-inscrits - Une page HTML accessible QU'aux inscrits - Un document avec la liste des inscrits, séparé des pages internet
merci d'avance :) |
Titre: Re:compte user PHP (newbie)
Posté par: nyrodev le le 26-04-2005 a 17:02:09
Bien sûr que c'est simple, mais c'est indispensable d'avoir les bases ! car sans les bases, tu n'arriveras à rien... Donc commence par faire les leçons de phpdebutant, après tu verras si avec ce que tu as appris tu en seras capable. Normalement oui.
Sinon, pour ton PHP, il va peut etre te manquer MySQL...
Pourquoi ne pas installer EasyPHP qui te met tout d'un coup ?
www.easyphp.org |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 26-04-2005 a 18:25:31
Ha vi, j'ai oublié de préciser... j'ai un mac :P Alors j'ai essayer de dl MySQL, mais je tombe sur des pages où les mirros ne fonctionnent pas :'( Je suis sur OS 10.3.9 version Client (donc c pas déjà présent dans le système) Je me suis jeté sur les tutos de phpdebutant.org et donc j'ai un premier problème précis (ça commence)...
je tape :
Code:
| $fp=fopen("compteur.txt","r"); |
|
pas de problème en lecture seule mais avec :
Code:
| $fp=fopen("compteur.txt","r+"); |
|
En réécriture il me renvois une erreur type : "Warning: fopen(compteur.txt): failed to open stream: Permission denied (...)" d'où ça peux bien venir :p ??? |
Titre: Re:compte user PHP (newbie)
Posté par: nyrodev le le 26-04-2005 a 19:19:26
Oula sur mac, je sais pas ce que ca peut donner... Ton erreur, ca veut dire qu'il n'a pas les droits d'écriture dessus, sans doute à cause du type de fichier qu'utilise mac... là je ne peux plus t'aider moi, dsl... |
Titre: Re:compte user PHP (newbie)
Posté par: MFred le le 26-04-2005 a 20:35:26
Pour Apache-Php-Mysql, ca doit être tout a fait installable sous Mac OS ... tu as regardé sur google ? http://www.google.fr/search?q=Apache+mysql+php+mac+os+10&start=0&start=0
Pour les "permission denied", les fichiers doivent être dans un dossier où seul l'administrateur à les droits en écriture ... un "chmod 777 /ton/dossier/php/" (Syntaxe sous nux, peut-etre à adapter pour mac) ne te débarasse pas de cette erreur ?
Pour l'espace membre, ca reste gérable avec des fichiers regroupant les données si c'est pour un groupe d'ami, mais dès que le visiteur peut s'inscrire, une BDD parait plus pratique. |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 27-04-2005 a 00:22:57
Houpelà ;D
Bon j'ai réussi à prendre MySQL pour mac... c'était mon explorateur qui merdouillais :P
d'ailleurs pour bien tout faire dans les règles... j'ai regarder si yavait pas des manip à faire après l'install du .pkg (package d'installation mac) et il y avait bien des manips... expliquées en anglais et j'ai pas tout bien pigé je crois parce que çà fonctionne pô :-X
Donc je vais m'attarder un peu sur ce problème de MySQL qui me parait plus essentiel que le problème en PHP (d'ailleurs si MySQL fonctionne je ne serait pas obligé de modifier un pauvre fichier .txt)
Voilà ce qu'on me demande de faire (entre parenthèses mes commentaires 8) )
This can be done easily in the Terminal with the following command: shell> echo $SHELL This will return the path to the shell you are using. In most cases it will return either "/bin/tcsh" (moi cà me retourne ça) or "/bin/bash". If you are using the tcsh shell (c'est donc mon cas), you will have to modify the file ".tcshrc" located within your home directory (file = dossier, j'ai pas de dossier .tcshrc). If this file does not exist (c'est mon cas), then you will have to create a new one (magie, magie...). After opening the file in your text editor (tu ouvre un dossier dans un text editor toi ??? BALÈZE !), add the following line at the bottom of the file: setenv PATH "$PATH":/Library/MySQL/bin Save the file. (Bon ok ! ça dois être un fichier texte avec .tcshrc à la fin alors j'essaye et ... rien ! :'( )
Si vous arrivez à lire l'anglais... PLEASE HELP MEEEeeee... ;D |
Titre: Re:compte user PHP (newbie)
Posté par: jb_gfx le le 27-04-2005 a 01:06:16
Pour info file veux dire fichier et directory ou folder veux dire dossier ou repertoire.
Voilà la traduction :
Ceci peut être fait facilement dans le terminal en entrant la commande suivante :
shell> echo $SHELL
Cela affichera le chemin vers le shel que vous utilisez. Dans la plus part des cas : "/bin/tcsh", ou "/bin/bash".
Si vous utilisez le shell tcsh, vous devrez modifier le fichier ".tcshrc" situé dans le dossier racine. Si le fichier n'existe pas vous devrez le créer. Ouvrez ce fichier dans un éditeur de texte et ajoutez la ligne suivante à la fin :
setenv PATH "$PATH":/Library/MySQL/bin
Sauver le fichier
|
|
En résumé tu dois ajouter le chemin des executable mysql à ta variable "path" système. Dans ton cas cette variable semble être configurée dans le fichier de config :
/bin/tcsh/.tcshrc
Sinon reporte toi à la doc de MacOS X pour savoir comment on ajoute des chemins additionnels à la variable "path". |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 27-04-2005 a 14:34:13
Bon alors... ça avance mais je nage encore :P Merci jb_gfx pour le help à la traduction... c vrai file = fichier (quel navet je fait)... Il n'empêche que je m'était douté de mon erreur et que j'ai essayé avec un fichier (texte donc). Comme aucun fichier de ce type n'était existant, j'ai suivi les instructions et j'ai donc créé un fichier texte ".tcshrc" avec une unque ligne de code : setenv PATH "$PATH":/Library/MySQL/bin
Lorsque je recherche un fichier nommé ".tcshrc" ou mm qui contient la suite de caractères "tcsh" ça ne donne aucun résultat :'( Etant donné que je n'ai pas de fichier ".tcshrc" à la base, il m'est difficile d'y ajouter le code à la fin :P
J'ai donc suivi ton conseil jb. J'ai consulter l'aide de Mac OSX et là... ho surprise... alors que je pensait que Mac était + ou - hermétique à ce genre de languages, je m'aperçois qu'en fait il possède déjà un gestionnaire de bases de données "gestionnaires ODBC" qui utilisent le langage SQL.
Donc, je me demande si SQL n'est pas installé nativement sur la machine ...? Aucun moyen de trouver qqch le concernant :'(
Sinon j'ai tenté d'ajouter MySQL à la liste des gestionnaires ODBC. En voici les instructions : [shadow=red,left]Pour configurer les gestionnaires ODBC installés : 1. Ouvrez Administrateur ODBC, cliquez sur l'onglets Gestionnaires, puis sur Ajouter. 2. Dans la zone Description, tapez un nom de gestionnaire afin de pouvoir l'identifier aisément. 3. Saisissez le chemin d'accès au gestionnaire dans la zone "Fichier du gestionnaire" ou cliquez sur Choisir et recherchez le fichier. Si nécessaire, procédez de même pour le fichier Configuration. 4. Choisissez Utilisateur ou Système dans le menu local pour spécifier si la configuration de ce gestionnaire doit être visible uniquement pour l'utilisateur actuellement connecté sur Mac OS X, ou si elle apparaît pour tous les utilisateurs de cet ordinateur. 5. Cliquez sur Ajouter pour créer des paramètres fictifs dans les colonnes Mot de passe et Valeur. 6. Double-cliquez sur les paramètres fictifs pour saisir vos propres mots de passe et valeurs puis cliquez sur OK. 7. Cliquez sur Appliquer pour enregistrer vos modifications avant de refermer la fenêtre.[/shadow]
Alors voilà : 1. Pas de problème 2. D'accord ce sera gestion-sql 3. C'est quoi le fichier du gestionnaire ? Où puis-je le trouver ? :'( J'essaie ce chemin d'accès : /Library/MySQL/bin/mysql 4. 5. 6. 7. OK
Bon bah je sait pas si c bon... je sait pas trop comment tester :P Sinon le r+ en PHP, bah je verrai ça + tard, mais ça pose toujours problème.
Merci de vorte aide ;) |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 27-04-2005 a 14:35:26
| Je vais ptet faire un nouveau post pour la config de MySQL sur Mac OSX ;D !!! |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 27-04-2005 a 17:54:46
C bon 8) MySQL fonctionne correctement, J'ai pas chercher trop à comprendre la ligne de code que je tapais dans le shell, mais le tout c que ça marche !!!
Dukou j'en reviens à mon problème (basique) en PHP...
Evidemment le seul qui soit autorisé à la lecture + écriture sur l'ordi c moi (l'admin) et donc je vois pas pourquoi PHP serait pas capable d'écrire dans un fichier texte...
Pour la lecture il ne pose aucun soucis...
Le script que j'utilise sert à créer un compteur basique. Rien de bien méchant koi ;D
Je remet le code complet
Code:
<? $fp=fopen("compteur.txt","r+"); $donnees = fgets($fp,9); $donnees++; fseek($fp,0); fputs($fp,$donnees); fclose($fp); echo 'Vous etes le : '.$donnees.'eme visiteurs'; ?> |
|
STOP !!
J'ai réglé le problème ;D !!! Dans la doc il disent que seul l'admin doit pouvoir modifier les éléments... mais dans ce cas le r+ du fopen merdouille... J'ai tout bonnement autorisé tout le monde à la lecture et écriture du site pour que ça fonctionne... toujours est-il que ça réduit considérablement la sécurité :P
Si vous avez une solution, elle est la bienvenue...
En touka le problème est réglé pour le debug |
Titre: Re:compte user PHP (newbie)
Posté par: tavman le le 27-04-2005 a 18:02:42
On lui avait pourtant dit de pas utiliser Mac :P
Bon sans dec... Je sent que t'est bien parti pour nous faire de beaux petits trucs en PHP + Flash... Mais j'ai 3 questions pour toi :
- pourquoi t'as pas essayé le php plus tot ?? Tu vera que très vite, tu va te lasser de Flash (c'est ce qui m'est arrivé) - pourquoi tu va pas directement sur un serveur ?? tu créer un compte vite fait et puis tu transfert tes fichiers pour faire des tests, au final, c'est pas beaucoup plus long (seul inconvénient : t'apprend pas a utiliser phpMyAdmin) - pourquoi tu passe pas sous PC ?? Franchement ?? ;D
Bon en tout cas, si jamais tu veut des conseils pour php (après l'avoir installé), tu peut tjrs venir me chercher, j'essayerai de te répondre C promis. @+ hacknours |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 28-04-2005 a 08:40:35
Merci Tavman pour les encouragements ;)
Maintenant il y a une rubrique en + où je peux embêter les gens avec mes problèmes de code ;D
Pour répondre à tes questions : - J'ai essayer PHP il y a qq années, mais je l'avais laissé de côté car pas assez "concret", "visuel"... et franchement je ne pense pas me lasser de Flash... Je suis lassé des limites de Flash, mais si elles peuvent être poussées + loin grace à PHP... - Oui, je me suis créé un compte chez free.fr... Je crois que le serveur accepte le PHP (voir + MySQL) - Dès que j'ai des sous, ça passera dans un PC, en attendant mon vieux mac s'est toujours piié à mes volontés alors pourquoi en changer 8) pi c tellement + joli ;D
Tout est installé Apache, PHP, MySQL alors c'est parti (pour la valse des problèmes) : J'ai un bouquin (c utile) mais il est un peu vieux maintenant :P J'essaie de faire des échanges entre Flash et PHP en utilisant le "loadVariables" de Flash et... voilà le soucis... Dans le bouquin il mette dans le code PHP un echo de la forme suivante
Code:
| echo ("&result=$result"); |
|
Dans le Flash, je load la variable "result" avec "loadVariables", mais au lieu de me retourner la valeur de la variable PHP "$result", il me retourne le texte "$result");"
J'ai retapé le echo en mettant
Code:
| echo '&result='.$result.'&'; |
|
Une syntaxe qui me semble plus logique... mais cependant Flash persiste à me renvoyer "'.$result.'" c'est un progrès car il ne me renvoie plus le ";" grâce au "&" :P Toujours est-il que ce n'est toujours pas la valeur de ma variable PHP...
Que faire ? |
Titre: Re:compte user PHP (newbie)
Posté par: nyrodev le le 28-04-2005 a 09:13:31
Pour free, oui tu as tout ca. Et la fonction mail est de nouveau activé maintenant, avec un quota ! Pour les échanges Flash-PHP, ta méthode est bonne, mais obsolète. utilise plutôt des objets Loadvars dans Flash, qui te permettront de détecter quand le fichier est chargé ou s'il n'a pas réussi à le charger. Pour ton problème qu'il te ressort $result, à tous les coups, c'est parce que tu essais directement depuis Flash. Et lui, ben il lit la source de ton fichier PHP, sans passer par le serveur, ce qui est normal. La solution ? Ben tu compiles ton swf, puis tu vas avec ton navigateur sur localhost/machin/truc.swf et là ca doit marché. |
Titre: Re:compte user PHP (newbie)
Posté par: jb_gfx le le 28-04-2005 a 23:44:11
utilise plutôt des objets Loadvars dans Flash, qui te permettront de détecter quand le fichier est chargé ou s'il n'a pas réussi à le charger.
|
|
ça dépend, perso je préfère utiliser la méthode décrite par Hacknours car elle a le mérite de fonctionner pour plus de versions du Flash player et d'être efficace dans la majorité des cas. |
Titre: Re:compte user PHP (newbie)
Posté par: nyrodev le le 29-04-2005 a 00:00:24
| Ben du moment que tu compiles ton swf en Flash 7, ben il faudra le player 7... |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 29-04-2005 a 15:02:29
Chuis d'accord avec JB (comme ça on on est deux ;D )
Avec loadVariables() j'obtient un retour bizarre mais au moins j'ai un retour... :P Avec LoadVars() je n'ai plus rien du tout...
Je me triture les méninges pour faire fonctionner LoadVars(), mais rien n'y fait :'(
Au mieux LoadVars m'envoie : onLoad=%5Btype%20Function%5D soit onLoad=[type Function]
En clair, j'ai l'impression qu'il n'execute pas la fonction introduite par mavar.onLoad=function (succes){
Le code avec loadVariables semble bcp moins compliqué et plus court à taper... Donc y a-t-il une réelle grande différence entre ces deux méthodes...
Etant donné qu'aucune des 2 ne fonctionne encore parfaitement bien, je reste ouvert aux propositions (en terme de code bien sûr ;D )
|
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 29-04-2005 a 15:14:11
Un petit rappel des codes utilisés :
Dans mon fichier heure.php
Code:
<?php $resultat=date("H:i"); echo '&resultat='.$resultat; ?> |
| ... et oui c tout simple :P
Puis, soit dans un image action (dans Flash)
Code:
// cas numéro 1 mavar = new LoadVars(); mavar.onLoad= function (ok) { txtStatus.text=mavar.loaded; if (ok){ for (var z in mavar) { // que veux dire "in" ?? txtProp.text+=z+" : "+mavar[z]+newline; // qu'est-ce que "newline" ?? } } } _root.onEnterFrame=function () { charge.text=mavar.getBytesLoaded()+"/"+mavar.getBytesTotal(); } mavar.load("heure.php"); trace(mavar); |
|
Soit sur un bouton (dans Flash)
Code:
// cas numéro 2 on (release) { loadVariables("heure.php","","POST"); } |
|
Dans le cas numéro 1 "mavar" retourne onLoad=%5Btype%20Function%5D La variable "resultat" est undefined
Dans le cas numéro 2 "mavar" n'existe plus. La variable "resultat" retourne le texte '.$resultat; ... au lieu de la valeur de "$resultat" (ma variable PHP) |
Titre: Re:compte user PHP (newbie)
Posté par: hacknours le le 29-04-2005 a 15:16:49
Nota : seul, le PHP affiche
&resultat=15:15
Donc le php fonctionne |
Titre: Re:compte user PHP (newbie)
Posté par: nyrodev le le 29-04-2005 a 18:23:45
Heu je ne sais pas ce que c'est que le code que tu as mis dans ton loadVars... Par contre, si tu fais : txtProp.text = this.resultat; ca doit marché... et pour récupérer ta variable en dehors de cette fonction (depuis un autre bouton ou n'importe quoi d'autre), tu fais : mavar.resultat...
ET pour en revenir au combat loadvariable et LoadVar, l'avantage du loadvar, c'est tres simple, c'est que tu sais quand c'est fini ou quand ca échoue... avec un loadvariable, tu peux faire la même chose, mais c'est plus lourd car tu dois faire une boucle sur plusieurs images clés, ce qui est, pour la lisibilté du code, beaucoup plus lourd...
Enfin bon, apres, vous faites bien ce que vous voulez, moi je vous dis juste les techniques que j'utilise, qu'on m'enseigne aussi et qui marche à merveille.
NB : pour ton PHP, rajoiute 1 & à la fin, pour définir la fin de varaible, c'est préférable... echo '&resultat='.$resultat.'&';
wala wala
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|