Diverses questions de codage [Débutant]

Diverses questions de codage [Débutant] - PHP - Programmation

Marsh Posté le 05-03-2005 à 21:20:42    

edit: je peux faire un topic unique de mes questions ? je sens qu'il va y en avoir un paquet ! En meme temps, si vous trouvez impoli ou quoi que je pose plein de question alors que je pourrais rtfm, dites le moi... mais bon j'aime bien essayer, et j'ai du mal a trouver mes réponses sur le manuel, qui sert plus a grand chose une fois le script commencé...
 
--
 
reprise du dernier msg:
 
Je continue a me balader dans la prog php...
 
J'ai une autre question, qui n'a aucun rapport:
j'essaye de monter un livre d'or, avec table sql
 

Code :
  1. <?php
  2. // connexion mysql
  3. $link = mysql_connect('sql.free.fr','xxxx','xxx') or die("connexion refusée" );
  4. print "connexion reussie";
  5. mysql_select_db('xxx',$link) or die ("connexion refusée" );
  6. // requête guestbook_tbl
  7. $result = mysql_query("SELECT * FROM guestbook_tbl" ) or die("Query failed" );
  8. // sortie du contenu de la table guestbook
  9.    
  10. while($data = mysql_fetch_arrey($result))
  11.     {
  12.     echo "<br><b> $data[pseudo] ";
  13.     }
  14. // fermeture connexion sql
  15. mysql_close();
  16. ?>


 
Bon ben ca me sort le contenu de la colonne des pseudo...
jusque la ok
mais y a t'il moyen de sortir toutes les données de la table en une seule commande, pas seuleument la colonne pseudo ?
faut-il pour ca utiliser mysql_fetch_arrey ?
 
dankeschon


Message édité par gnarky le 07-03-2005 à 03:21:46
Reply

Marsh Posté le 05-03-2005 à 21:20:42   

Reply

Marsh Posté le 05-03-2005 à 21:47:48    

gnarky a écrit :


- d'une part comment établir une valeur au hasard a une variable, puis rendre cette valeur constante ?


 
RTFM (désolé, fallait bien que quelqu'un la sorte :D)
-> rand pour la génération, faire passer la variable d'un essai à l'autre est déjà plus sportif, pas possible de l'envoyer au client, reste plus que les sessions, par exemple
 

Citation :

- d'autre part comment compter le nombre d'essais que le joueur fait, en ne comptant pas les essais invalides (genre formulaire vide, ou nombre hors normes) ?


 
en passant par un champ hidden du formulaire qui s'incrémente à chaque essais valides ? ou en utilisant la session de la question 1 :D

Reply

Marsh Posté le 05-03-2005 à 22:46:55    

session tu dis ?  
hmmm, j'm'y mets doucement...
je comprend pas bien comment une session fonctionne...
je veux dire j'fais plein d'essais infructueux, qui créent des sessions... ca polue pas mes cookies ou le serveur free ?

Reply

Marsh Posté le 06-03-2005 à 00:47:41    

J'ai lu dans le manuel et dans mon "php pour les nuls" de quoi comprendre les sessions.
Maintenant j'ai un problème, j'arrive pas a faire fonctionner le moindre script...  
 
par exemple, je reprend un code exemple du manuel:
 

Code :
  1. <?php
  2. // page1.php
  3. session_start();
  4. echo 'Bienvenue à la page numéro 1';
  5. $_SESSION['favcolor'] = 'vert';
  6. $_SESSION['animal']  = 'chat';
  7. $_SESSION['time']    = time();
  8. // Fonctionne si le cookie a été accepté
  9. echo '<br /><a href="page2.php">page 2</a>';
  10. // Ou bien, en indiquant explicitement l'identfiant de session
  11. echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
  12. ?>


 
et ca me renvoie
 

Citation :


Warning: session_start(): open(/var/www/free.fr/8/f/xxx/sessions/sess_8ffb486e4ad009ef4d9f5c02d1834e25, O_RDWR) failed: No such file or directory (2) in /var/www/free.fr/8/f/xxx/@PHP/page1.php on line 4
 
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/8/f/xxx/@PHP/page1.php:4) in /var/www/free.fr/8/f/xxx/@PHP/page1.php on line 4
 
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/8/f/xxx/@PHP/page1.php:4) in /var/www/free.fr/8/f/xxx/@PHP/page1.php on line 4
Bienvenue à la page numéro 1
page 2
page 2
Warning: Unknown(): open(/var/www/free.fr/8/f/xxx/sessions/sess_8ffb486e4ad009ef4d9f5c02d1834e25, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
 
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/free.fr/8/f/xxx/sessions) in Unknown on line 0


 
Visiblement y a un prob a la création de la session ...
 
Ca viendrait pas de free ?
le phpinfo indique que le session.auto_start du serveur est désactivé... ca a t'il un rapport ?


Message édité par gnarky le 06-03-2005 à 00:50:37
Reply

Marsh Posté le 06-03-2005 à 02:16:39    

Me semble qu'il faut creer un repertoire "sessions" pour que les sessions fonctionnent sur free.fr.  Essaye de regarder la faq.

Reply

Marsh Posté le 06-03-2005 à 02:18:17    

gnarky a écrit :

session tu dis ?  
hmmm, j'm'y mets doucement...
je comprend pas bien comment une session fonctionne...
...


 
Oui, par exemple, c'est une méthode simple à mettre en place, mais c'est pas la seule et unique.
 

gnarky a écrit :


Ca viendrait pas de free ?
le phpinfo indique que le session.auto_start du serveur est désactivé... ca a t'il un rapport ?


 
Ca vient de free oui, il te faut créer un répertoire session ou sessions (voir la faq de free, mais d'après le message d'erreur, ça doit être sessions au pluriel) à la racine de ton site.

Reply

Marsh Posté le 07-03-2005 à 03:16:37    

Je continue a me balader dans la prog php...
 
J'ai une autre question, qui n'a aucun rapport:
j'essaye de monter un livre d'or, avec table sql
 

Code :
  1. <?php
  2. // connexion mysql
  3. $link = mysql_connect('sql.free.fr','xxxx','xxx') or die("connexion refusée" );
  4. print "connexion reussie";
  5. mysql_select_db('xxx',$link) or die ("connexion refusée" );
  6. // requête guestbook_tbl
  7. $result = mysql_query("SELECT * FROM guestbook_tbl" ) or die("Query failed" );
  8. // sortie du contenu de la table guestbook
  9.    
  10. while($data = mysql_fetch_arrey($result))
  11.     {
  12.     echo "<br><b> $data[pseudo] ";
  13.     }
  14. // fermeture connexion sql
  15. mysql_close();
  16. ?>


 
Bon ben ca me sort le contenu de la colonne des pseudo...
jusque la ok
mais y a t'il moyen de sortir toutes les données de la table en une seule commande, pas seuleument la colonne pseudo ?
faut-il pour ca utiliser mysql_fetch_arrey ?
 
dankeschon


Message édité par gnarky le 07-03-2005 à 03:16:59
Reply

Marsh Posté le 07-03-2005 à 09:31:02    

Ben comme on te l'a déjà dis, http://webxav.chez.tiscali.fr/gif/src1/rtfm.gif
 
tu fait un SELECT * (ce qui est franchement pas bien, mais bon), donc ta reqsuete elle te les retourne déjà tous les champs...

Citation :

while($data = mysql_fetch_arrey($result))
{
   echo "<br><b> $data[pseudo] ";
}


 
$data['pseudo'] te sors le pseudo, tu t'es pas dis que si tu mettais $data['nom_de_colonne'] ça te sortai ce qu'il y a dans la colonne correspondante ???
 
Je veux pas etre méchant, mais ce genre de question prouve que tu ne comprend pas vraiment ce que tu fait, commence par des trucs plus simple si c'est le cas...  
 
la programmation n'est pas un assemblage hasardeux de bout de code venant du net ou de tes bouquins, il te faut comprendre ce que tu fait et pourquoi ça marche ??? (il est parfois plus dur de comprendre pkoi ça marche que pkoi ça marche pas d'ailleurs...)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 07-03-2005 à 16:18:50    

mais si j'ai bien compris ca, je voudrai savoir si y a pas moyen de tout sortir d'un coups ?
 
genre $data[all], ou $data[pseudo,date,id] un truc du genre...

Reply

Marsh Posté le 07-03-2005 à 16:35:04    

bon de toute façon, c'est pas très important, j'essayais de connaitre les options possible quand a l'extraction du contenu d'une table de facon simple, si c'était possible de tout faire afficher en une seule commande... mais passons!
 
J'viens de passer une heure a coder un p*tain de livre d'or, qui est dispo à http://neo3ouaf.free.fr/@PHP/guestbook/accueil.php.
 
Les prochaines étapes sont:
1- corriger l'intégration de caractères spéciaux.
2- générer des pages pour les messages (pacque bon ca risque de faire une grosse colonne si je fais rien)
 
Actuellement je n'ai pu faire ca qu'en utilisant une table mysql. J'aurais aimé utiliser un simple fichier texte pour stocker les messages, mais je n'y arrive pas! Est-ce que c'est possible sur free ? j'arrive pas a autoriser l'écriture sur le fichier txt en question...

Reply

Marsh Posté le 07-03-2005 à 16:35:04   

Reply

Marsh Posté le 07-03-2005 à 17:19:16    

gnarky a écrit :

mais si j'ai bien compris ca, je voudrai savoir si y a pas moyen de tout sortir d'un coups ?


 
Y a toujours moyen, mais le but d'un langage est de fournir des briques, pas forcément de faire tout le boulot, surtout quand il est faisable ailleurs.
 
genre concat sous Mysql par exemple...

Reply

Marsh Posté le 07-03-2005 à 18:59:40    

et c'est mysql_fetch_array() hein :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed