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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  421  422  423  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1656829
mIRROR
Chevreuillobolchévik
Posté le 11-12-2007 à 20:31:13  profilanswer
 

Reprise du message précédent :

georges_catapiat a écrit :

Pourquoi

Code :
  1. for (i = 0; i <= tab.length; i++){
  2.     if(tab[i][0] == Nom_table){}}


Marche mais me renvoit  

Erreur : tab[i] has no properties
Ligne : 26


lorsque le if n'est pas bon ?


heureusement que c est pas stiffler qui poste j aurais été decu :/


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
mood
Publicité
Posté le 11-12-2007 à 20:31:13  profilanswer
 

n°1656831
Harkonnen
Un modo pour les bannir tous
Posté le 11-12-2007 à 20:38:05  profilanswer
 

FlorentG a écrit :

Ah... J'ai que 12 ans, n'oublie pas :( Je connais pas grand chose...


c'est vrai !
bon maintenant, Florentg ta chambre !

n°1656836
Dj YeLL
$question = $to_be || !$to_be;
Posté le 11-12-2007 à 20:41:07  profilanswer
 

Quelqu'un pourrait-il me dire pourquoi ceci ne m'envoie qu'un mail sur adresse1@mail.com et pas sur les autres ?
 

Code :
  1. $mails = array('adresse2@mail.com', 'adresse3@mail.com');
  2. $headers = 'Bcc: ' . implode(',', $mails) . "\r\n";
  3. mail('adresse1@mail.com', 'Sujet', 'Message', $headers);


---------------
Gamertag: CoteBlack YeLL
n°1656839
Harkonnen
Un modo pour les bannir tous
Posté le 11-12-2007 à 20:45:10  profilanswer
 

ptet parce que t'as mis cette adresse dans l'argument réservé au destinataire ? [:petrus75]

n°1656841
Dj YeLL
$question = $to_be || !$to_be;
Posté le 11-12-2007 à 20:47:22  profilanswer
 

Harkonnen a écrit :

ptet parce que t'as mis cette adresse dans l'argument réservé au destinataire ? [:petrus75]


 
Gné ?
 
Normalement c'est censé envoyer un mail sur adresse1, et une copie cachée sur adresse2 et adresse3 là non ?


---------------
Gamertag: CoteBlack YeLL
n°1656842
Harkonnen
Un modo pour les bannir tous
Posté le 11-12-2007 à 20:47:58  profilanswer
 

j'en sais rien moi, tsé, moi et le php hein [:petrus75]

n°1656845
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 11-12-2007 à 20:54:12  profilanswer
 

Dj YeLL a écrit :

Quelqu'un pourrait-il me dire pourquoi ceci ne m'envoie qu'un mail sur adresse1@mail.com et pas sur les autres ?
 

Code :
  1. $mails = array('adresse2@mail.com', 'adresse3@mail.com');
  2. $headers = 'Bcc: ' . implode(',', $mails) . "\r\n";
  3. mail('adresse1@mail.com', 'Sujet', 'Message', $headers);



Use fuckin' Google [:ark]  
 

Citation :


Après avoir éprouvé quelques difficultés à faire des envois avec Mail() en Bcc et en Cc sous Windows, j'ai obtenu de l'aide d'un copain PHP. La solution est toute simple, mais pas du tout documentée. Car la documentation que j'ai trouvée ne fonctionnait jamais pour PHP sous Windows.
 
Voici donc ma (la) solution (d'un ami).
 
Pour: Mail($to, $subject, $message , $additional_headers);
 
--------
Pour faire un envois en Bcc (Blind Carbon Copy, aucun destinataires n'a accès aux autres adresses) placer toutes les adresses Bcc dans la variable $to :
 
EX: $to="dest1@domaine.com, dest2@domaine.com, destX@domaine.com";
 
N'essayez pas de placer Bcc: dest2@domaine.com\r\n dans la variable $additional_headers car vous obtiendrez une erreur sous windows ou le message ne sera envoyé qu'a l'adresse de la variable $to.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1656847
Dj YeLL
$question = $to_be || !$to_be;
Posté le 11-12-2007 à 20:56:48  profilanswer
 

WiiDS a écrit :


Use fuckin' Google [:ark]  
 

Citation :


Après avoir éprouvé quelques difficultés à faire des envois avec Mail() en Bcc et en Cc sous Windows, j'ai obtenu de l'aide d'un copain PHP. La solution est toute simple, mais pas du tout documentée. Car la documentation que j'ai trouvée ne fonctionnait jamais pour PHP sous Windows.
 
Voici donc ma (la) solution (d'un ami).
 
Pour: Mail($to, $subject, $message , $additional_headers);
 
--------
Pour faire un envois en Bcc (Blind Carbon Copy, aucun destinataires n'a accès aux autres adresses) placer toutes les adresses Bcc dans la variable $to :
 
EX: $to="dest1@domaine.com, dest2@domaine.com, destX@domaine.com";
 
N'essayez pas de placer Bcc: dest2@domaine.com\r\n dans la variable $additional_headers car vous obtiendrez une erreur sous windows ou le message ne sera envoyé qu'a l'adresse de la variable $to.



 
Use fuckin' cerveau :o
 
1> Le serveur est sous Linux [:zaib3k]  
2> Si je veux envoyer un message sous forme de copie cachée, c'est peut-être qu'il y a une raison non ? [:zaib3k]


---------------
Gamertag: CoteBlack YeLL
n°1656855
ratibus
Posté le 11-12-2007 à 21:23:35  profilanswer
 

Déjà faut pas utiliser la fonction mail() hein :o
Y a des libs spécialisées dans les envois de mail qui font bcp mieux (j'ai utilisé Swift récemment pour un mailing, bien sympa).

n°1656857
masklinn
í dag viðrar vel til loftárása
Posté le 11-12-2007 à 21:31:18  profilanswer
 

Dj YeLL a écrit :

1> Le serveur est sous Linux [:zaib3k]


Et donc [:petrus dei]
 
Si t'avais lu le message en entier t'aurais vu que ça change rien [:petrus75]

Dj YeLL a écrit :

2> Si je veux envoyer un message sous forme de copie cachée, c'est peut-être qu'il y a une raison non ? [:zaib3k]


Ben grâce à lui tu sais ptet que tu peux pas [:petrus75]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le 11-12-2007 à 21:31:18  profilanswer
 

n°1656860
koskoz
They see me trollin they hatin
Posté le 11-12-2007 à 21:39:19  profilanswer
 

koskoz a écrit :

Salut,
est-ce que le code qui suit est bon ?
Parce que j'arrive pas à trouver d'où vient mon problème (pas moyen de se loguer), donc j'analyse le code partie par partie.
 

Code :
  1. $sql = "SELECT pseudo, mdp, admin FROM ".TBL_NEWS_CAT." where pseudo = '".$POST_['pseudo']."' AND mdp = MD5('".$_POST['mdp']."') AND admin = '1'";
  2.     $sql = mysql_query($sql);
  3.     if($sql)
  4.     {
  5.         $_SESSION['auth'] = true;
  6.         header('Location: admin.php');
  7.     }



 
Pour en revenir à ça, j'ai ce bout de code que j'inclus sur toutes mes pages admin :
 

Code :
  1. <?php
  2. if($_SESSION['auth'] != true)
  3. {
  4.     echo "Pas auth.";
  5.     exit();
  6. }
  7. ?>


 
Le truc c'est que lorsque je me logue, j'ai directement le droit au message "Pas auth", alors que je suis bien logué :heink:


---------------
Twitter
n°1656865
Dj YeLL
$question = $to_be || !$to_be;
Posté le 11-12-2007 à 21:52:17  profilanswer
 

masklinn a écrit :


Et donc [:petrus dei]
 
Si t'avais lu le message en entier t'aurais vu que ça change rien [:petrus75]


 

masklinn a écrit :


Ben grâce à lui tu sais ptet que tu peux pas [:petrus75]


 
Nan mais laule quoi [:pingpetrus]  
 
'fin bref, en fait suffisait de mettre "bcc" tout en minuscule, et ça passe ...
 
(pis franchement à vous lire, on se demande pourquoi ils auraient foutu cette possibilité ...)


---------------
Gamertag: CoteBlack YeLL
n°1656866
Dj YeLL
$question = $to_be || !$to_be;
Posté le 11-12-2007 à 21:53:29  profilanswer
 

koskoz a écrit :


 
Pour en revenir à ça, j'ai ce bout de code que j'inclus sur toutes mes pages admin :
 

Code :
  1. <?php
  2. if($_SESSION['auth'] != true)
  3. {
  4.     echo "Pas auth.";
  5.     exit();
  6. }
  7. ?>


 
Le truc c'est que lorsque je me logue, j'ai directement le droit au message "Pas auth", alors que je suis bien logué :heink:


 
Tu as bien un session_start() pour la 1ère partie ?


---------------
Gamertag: CoteBlack YeLL
n°1656867
Shinuza
This is unexecpected
Posté le 11-12-2007 à 21:54:42  profilanswer
 

koskoz a écrit :


 
Pour en revenir à ça, j'ai ce bout de code que j'inclus sur toutes mes pages admin :
 

Code :
  1. <?php
  2. if($_SESSION['auth'] != true)
  3. {
  4.     echo "Pas auth.";
  5.     exit();
  6. }
  7. ?>


 
Le truc c'est que lorsque je me logue, j'ai directement le droit au message "Pas auth", alors que je suis bien logué :heink:

On t'as déja dit que ton code c'était une merde pas sécurisée ou je débarque?


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1656869
koskoz
They see me trollin they hatin
Posté le 11-12-2007 à 21:58:00  profilanswer
 

Shinuza a écrit :

On t'as déja dit que ton code c'était une merde pas sécurisée ou je débarque?

 

J'ai modifié la requête, mais de toute façon je ne l'avais pas encore sécurisé car là n'était pas la question :o

 
Code :
  1. SELECT pseudo, mdp, admin FROM ".TBL_MEMBRES." where pseudo = '".mysql_real_escape_string($_POST['pseudo'])."' AND mdp = MD5('".mysql_real_escape_string($_POST['mdp'])."') AND admin = '1'
 

Edit : j'avais effectivement oublié le session_start() sur ma page de login.

Message cité 1 fois
Message édité par koskoz le 11-12-2007 à 21:59:33

---------------
Twitter
n°1656873
FlorentG
Posté le 11-12-2007 à 22:01:51  profilanswer
 

Harkonnen a écrit :


c'est vrai !
bon maintenant, Florentg ta chambre !


Laisse-moi juste réussir un hello word sous rosasm, et promis je vais dormir [:johneh]

n°1656912
Dj YeLL
$question = $to_be || !$to_be;
Posté le 11-12-2007 à 22:50:10  profilanswer
 

koskoz a écrit :


 
Edit : j'avais effectivement oublié le session_start() sur ma page de login.


 
\o/


---------------
Gamertag: CoteBlack YeLL
n°1656930
koskoz
They see me trollin they hatin
Posté le 11-12-2007 à 23:28:33  profilanswer
 


 
Merci bien :jap:


---------------
Twitter
n°1656936
sub1
Posté le 11-12-2007 à 23:37:51  profilanswer
 

koskoz a écrit :

Salut,
est-ce que le code qui suit est bon ?
Parce que j'arrive pas à trouver d'où vient mon problème (pas moyen de se loguer), donc j'analyse le code partie par partie.
 

Code :
  1. $sql = "SELECT pseudo, mdp, admin FROM ".TBL_NEWS_CAT." where pseudo = '".$POST_['pseudo']."' AND mdp = MD5('".$_POST['mdp']."') AND admin = '1'";
  2.     $sql = mysql_query($sql);
  3.     if($sql)
  4.     {
  5.         $_SESSION['auth'] = true;
  6.         header('Location: admin.php');
  7.     }



 
Salut,
 
je debarque pe mais tu traites jamais le resultat de ta requete ?  
Tu verifies juste qu'il y a pas d'erreur de syntaxe ?
Il me semble que mysql_query renvoie false uniquement en cas d'erreur (syntaxe ou droits sql), sinon la fonction renvoie une ressource à traiter, mais je peux me tromper.....
car sans fetch ou autre, la meme si je rentre 'jean-pierre' en pseudo avec 'dernier mot?' en mdp je suis loggé.... (enfin je pense)

n°1656955
xtof_83
Freeride Spirit
Posté le 12-12-2007 à 01:17:15  profilanswer
 

Io, il y a un moyen d'utiliser : opacity: 0.9 en CSS est rester compliant ?
 
Jai tester de mettre ça dans un JS, car jai besoin de ce hack que qd JS est activé...Mais ça le fait pas trop beau... sur un unload ;)
 
Sinon reste la soluce le mettre dans le code direct...
 
EDIT:
 
Op mis ça:
 

Code :
  1. <body>
  2.       <script type="text/javascript">
  3.       var body = document.getElementsByTagName("body" )[0];
  4.       body.style.opacity = 0.9999;
  5.       </script>


 
Mais si ia mieux


Message édité par xtof_83 le 12-12-2007 à 01:21:14
n°1656962
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 02:18:54  profilanswer
 

sub1 a écrit :


 
Salut,
 
je debarque pe mais tu traites jamais le resultat de ta requete ?  
Tu verifies juste qu'il y a pas d'erreur de syntaxe ?
Il me semble que mysql_query renvoie false uniquement en cas d'erreur (syntaxe ou droits sql), sinon la fonction renvoie une ressource à traiter, mais je peux me tromper.....
car sans fetch ou autre, la meme si je rentre 'jean-pierre' en pseudo avec 'dernier mot?' en mdp je suis loggé.... (enfin je pense)


 
Euh non, ça fonctionne très bien comme ça.


---------------
Twitter
n°1656998
ratibus
Posté le 12-12-2007 à 09:17:24  profilanswer
 

koskoz a écrit :


 
Euh non, ça fonctionne très bien comme ça.


M'étonnerait ça :D
Tu dois pouvoir te logguer avec n'importe quel login/mdp avec ton système a priori. Vu que la requête est correctement exécutée, mysql_query renvoie une valeur de type resource qui est évaluée à true dans ton if, quelque soit le nombre de ligne renvoyé par la requête.

n°1657006
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 09:52:22  profilanswer
 

ratibus a écrit :


M'étonnerait ça :D
Tu dois pouvoir te logguer avec n'importe quel login/mdp avec ton système a priori. Vu que la requête est correctement exécutée, mysql_query renvoie une valeur de type resource qui est évaluée à true dans ton if, quelque soit le nombre de ligne renvoyé par la requête.


 
C'est exact [:the geddons]  
 
Moi qui pensait pouvoir tout simplifier via ma requête, ce que j'ai fait n'a servit à rien du tout :(


---------------
Twitter
n°1657397
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 20:43:27  profilanswer
 

Questionne conne :
normalement, la requête juste en dessous est sensé me donner un résultat ou aucun.
Je fais comment pour savoir si elle me donne un résultat ?
 
SELECT pseudo, mdp, admin FROM ".TBL_MEMBRES." where pseudo = '".mysql_real_escape_string($_POST['pseudo'])."' AND mdp = MD5('".mysql_real_escape_string($_POST['mdp'])."') AND admin = '1'
 
J'ai honte là :sweat:


---------------
Twitter
n°1657405
ratibus
Posté le 12-12-2007 à 20:59:25  profilanswer
 

mysql_num_rows() ou alors vérifier que le mysql_fetch* renvoie pas false

n°1657408
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 21:02:44  profilanswer
 

Ouais, ok, obligé de faire comme ça.


---------------
Twitter
n°1657420
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 22:01:01  profilanswer
 

Vous pouvez me dire ce que vous pensez de cette page de login s'il vous plait ?
 
Ce qui ne va pas et comment je pourrai l'améliorer ?
 
Merci.
 

Code :
  1. <?php
  2.  
  3. if($_SESSION['auth'] == true)
  4. {
  5.     header('Location: admin.php');
  6. }
  7.  
  8. $_SESSION['auth'] = false;
  9.  
  10. if($_POST)
  11. {
  12.     require(dirname(__FILE__)."/includes/config.inc.php" );
  13.     require(dirname(__FILE__)."/includes/connect.inc.php" );
  14.     
  15.     $sql = "SELECT COUNT(pseudo) AS nb FROM ".TBL_MEMBRES." where pseudo = '".mysql_real_escape_string($_POST['pseudo'])."' AND mdp = MD5('".mysql_real_escape_string($_POST['mdp'])."') AND admin = '1'";
  16.     $res = mysql_query($sql);
  17.     
  18.     $nbr = mysql_fetch_assoc($res);
  19.     
  20.     if($nbr['nba'] == 1)
  21.     {
  22.         $_SESSION['auth'] = true;
  23.         $_SESSION['pseudo'] = $_POST['pseudo'];
  24.         header('Location: admin.php');
  25.     }    
  26. }    
  27. ?>
  28. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  29. <html xmlns="http://www.w3.org/1999/xhtml">
  30. <head>
  31.     <title>Connexion à l'espace d'administration</title>
  32.     <link href="styles/defaut.css" type="text/css" rel="stylesheet" />
  33. </head>  
  34. <body>
  35.  
  36. <h1>Connexion à l'espace d'administration</h1>
  37.  
  38. <form action="index.php" method="post">
  39. <p><label>Pseudo :</label>
  40. <input type="text" name="pseudo" /></p>
  41.  
  42. <p><label>Mot de passe :</label>
  43. <input type="password" name="mdp" /></p>
  44.  
  45. <p><input type="submit" value="Se connecter" /></p>
  46. </form>
  47.  
  48. </body>
  49. </html>


---------------
Twitter
n°1657444
multani
Dépressionnisé
Posté le 12-12-2007 à 22:26:21  profilanswer
 

koskoz a écrit :

Vous pouvez me dire ce que vous pensez de cette page de login s'il vous plait ?
 
Ce qui ne va pas et comment je pourrai l'améliorer ?
 
Merci.
 

Code :
  1. ...




 
Perso, ce que je chengerais :

  • après ta requête SQL, fais le test sur le cle "nb" au lieu de "nba" ...
  • fais gaffe à ce que tu stockes dans ta session. Là, tu y mets le pseudo utilisateur tel quel. Si jamais plus loin, tu te dis "ok, ça vient de ma session, j'ai rien à craindre" et que t'oublies de faire un nettoyage dessus, blam.

n°1657447
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 22:31:19  profilanswer
 

Le nba était une faute de frappe, j'avais la page ouverte et j'ai touché mon clavier, mais ça fonctionne très bien ;)
 
Par contre je comprend pas trop pour le second point.


---------------
Twitter
n°1657452
The-Shadow
T'as été voir dans ton profil?
Posté le 12-12-2007 à 22:38:38  profilanswer
 

Perso, je ferais :
$sql = "SELECT 1 FROM ".TBL_MEMBRES." where pseudo = '".mysql_real_escape_string($_POST['pseudo'])."' AND mdp = MD5('".mysql_real_escape_string($_POST['mdp'])."') AND admin = '1'";
$res = mysql_query($sql);
list($exist)= mysql_fetch_row($sql);
 
if(!empty($exist))
 
 
Après, niveau perf, c'est mieux mais c'est de la branlette de mouche, c'est + les gouts et les couleurs.
 
 

n°1657460
ratibus
Posté le 12-12-2007 à 22:54:31  profilanswer
 

koskoz a écrit :

Vous pouvez me dire ce que vous pensez de cette page de login s'il vous plait ?

 

Ce qui ne va pas et comment je pourrai l'améliorer ?

 

Merci.

 
Code :
  1. Du code...



Pense à mettre des exit après les header('Location...');
C'est pas parce qu'il y a un header('Location') que le code qui suit ne va pas être exécuté ;)

Message cité 1 fois
Message édité par ratibus le 12-12-2007 à 22:57:24
n°1657462
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 23:01:11  profilanswer
 

The-Shadow a écrit :

Perso, je ferais :
$sql = "SELECT 1 FROM ".TBL_MEMBRES." where pseudo = '".mysql_real_escape_string($_POST['pseudo'])."' AND mdp = MD5('".mysql_real_escape_string($_POST['mdp'])."') AND admin = '1'";
$res = mysql_query($sql);
list($exist)= mysql_fetch_row($sql);
 
if(!empty($exist))
 
 
Après, niveau perf, c'est mieux mais c'est de la branlette de mouche, c'est + les gouts et les couleurs.


 
SELECT 1 :??:
list($exist) :??:
 

ratibus a écrit :


Pense à mettre des exit après les header('Location...');
C'est pas parce qu'il y a un header('Location') que le code qui suit ne va pas être exécuté ;)


 
D'accord :jap:


---------------
Twitter
n°1657469
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-12-2007 à 23:08:52  profilanswer
 

koskoz a écrit :

 

SELECT 1 :??:
list($exist) :??:

 


 


Si tu fais un "SELECT 1 WHERE ...", et que ta condition est remplie (et donc qu'il faut authentifier l'user), ça te retourne donc la valeur 1, dans ta ressource MySQL.

 

Quant à :

Code :
  1. list($exist) = mysql_fetch_row($sql);
 

msql_fetch_row va retourner un array, avec une seule valeur.

 

Le fait d'utiliser list($exist) affecte la première valeur retournée à la variable $exists.

 

En gros, tu as un array de cette forme :

 
Code :
  1. $mon_array = array('pomme', 'rouge', 'grand');
 

tu peux faire ça :

 
Code :
  1. list($fruit, $couleur, $taille) = $mon_array;
 


Message édité par Dj YeLL le 12-12-2007 à 23:09:28

---------------
Gamertag: CoteBlack YeLL
n°1657471
koskoz
They see me trollin they hatin
Posté le 12-12-2007 à 23:12:35  profilanswer
 

Je savais pas du tout, merci à vous deux :jap:
 
Enfin dans ce cas ça relève plus du chipotage non ?


---------------
Twitter
n°1657486
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-12-2007 à 23:55:57  profilanswer
 

Oui et non, le SELECT COUNT(pseudo) ne sert à rien dans le cas présent, donc tu peux mettre SELECT 1

 

Pour le "list" c'est du chipotage oui :D (je n'ai d'ailleurs jamais utilise list pour faire ça)

 

Edit : Moi ça serait plutôt

Code :
  1. $valid_user = $DB->getVar('SELECT 1 FROM ma_table WHERE ...');

:o

Message cité 1 fois
Message édité par Dj YeLL le 12-12-2007 à 23:57:45

---------------
Gamertag: CoteBlack YeLL
n°1657564
FlorentG
Posté le 13-12-2007 à 10:20:19  profilanswer
 

koskoz a écrit :

Code :
  1. <?php
  2. if($_POST)
  3. {
  4.     require(dirname(__FILE__)."/includes/config.inc.php" );
  5.     require(dirname(__FILE__)."/includes/connect.inc.php" );
  6.  
  7.     $sql = "SELECT COUNT(pseudo) AS nb FROM ".TBL_MEMBRES." where pseudo = '"
  8.                . mysql_real_escape_string($_POST['pseudo'])
  9.               . "' AND mdp = MD5('" . mysql_real_escape_string($_POST['mdp']) .
  10.               "') AND admin = '1'";
  11.     $res = mysql_query($sql);
  12.  
  13.     $nbr = mysql_fetch_assoc($res);
  14.  
  15.     if($nbr['nba'] == 1)
  16.     {
  17.         $_SESSION['auth'] = true;
  18.         $_SESSION['pseudo'] = $_POST['pseudo'];
  19.         header('Location: admin.php');
  20.     }
  21. }
  22. ?>


 

Pour ce petit bout de code, je te conseillerais plusieurs trucs.

 

1) Fait-toi une classe pour les requêtes sql liés à l'authentification.

 
Code :
  1. <?php
  2. class KKZ_Mysql_Auth
  3. {
  4.  
  5.    public function __construct()
  6.    {
  7.    }
  8.  
  9.  
  10.    public function userExists($user, $pass)
  11.    {
  12.        $user = mysql_real_escape_string($user);
  13.        $pass = hash('md5', $pass);
  14.  
  15.        $result = mysql_query(
  16.            'SELECT COUNT(`pseudo`) AS nb FROM ' . TBL_MEMBRES
  17.          . ' WHERE `pseudo`=\'' . $user . '\' AND `pass`=\'' . $pass . '\' AND ADMIN=1');
  18.  
  19.        $row = mysql_fetch_assoc($result);
  20.  
  21.        return (int)$row['nb'] === 1;
  22.    }
  23.  
  24. }
  25. ?>
 

Vaut mieux se faire des classes comme ça avec les requêtes, ça soulagera
grandement ton code au-dessus.

 


2) Même chose pour la session. Si jamais sur ton site t'as un formulaire
d'inscription, t'aura à 2 endroits le même code pour logger un utilisateur. Si
jamais tu changes la façon de logger (genre en rajoutant des champs), ça fera
duplication de code :

 
Code :
  1. <?php
  2.  
  3. class KKZ_Session
  4. {
  5.  
  6.    private $started;
  7.  
  8.  
  9.    public function __construct()
  10.    {
  11.    }
  12.  
  13.  
  14.    public function logUser($user)
  15.    {
  16.        $this->start();
  17.  
  18.        $_SESSION['auth'] = true;
  19.        $_SESSION['pseudo'] = $user;
  20.    }
  21.  
  22.  
  23.    public function start()
  24.    {
  25.        if(!isset($_SESSION)) {
  26.            session_start();
  27.        }
  28.    }
  29.  
  30. }
  31. ?>
 

Lorsque tu te metteras aux tests unitaires, tu pourra faire un mock de la
classe session, et substituer les méthodes pour tester juste ce qu'elles
reçoivent. Je vais faire un p'tit post dans mon topic pour expliquer tout ça.

 

Ne fait pas un session_start() à chaque fois, si tu peux t'en passer.
J'ai l'habitude de tester si un cookie avec l'identifiant de session existe,
et si seulement il existe, on démarre la session.

 


3) Pour la redirection, utilise une adresse absolue, un status code 303, et
fait un exit, sinon le reste est quand-même exécuté :

Code :
  1. header('http://' . $_SERVER['SERVER_NAME'] . '/admin.php', true, 303);
  2. exit();


Fait-toi une classe KKZ_HttpResponse avec une belle méthode redirect() qui peut
te gérer ça tout seul

Message cité 2 fois
Message édité par FlorentG le 13-12-2007 à 10:21:47
n°1657576
Profil sup​primé
Posté le 13-12-2007 à 10:31:28  answer
 

Le contenu de ce message a été effacé par son auteur


Message édité par Profil supprimé le 13-12-2007 à 10:32:13
n°1657590
ratibus
Posté le 13-12-2007 à 10:45:42  profilanswer
 


Ca devrait aller mieux comme ça :

Code :
  1. function selectAllOptions(idSelect) {
  2.     var options = document.getElementById(idSelect).options;
  3.     for (var i = 0 ; i < options.length ; i++) {
  4.         options[i].selected = true;
  5.     }
  6. }


 
Et je te conseille le onsubmit du form plutot que le onclick ;)

n°1657602
Profil sup​primé
Posté le 13-12-2007 à 11:03:01  answer
 

Le contenu de ce message a été effacé par son auteur

n°1657608
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-12-2007 à 11:20:59  profilanswer
 

J'ai énormément de mal à saisir l'intérêt de la chose ... À quoi sert ce SELECT s'il faut de toute façon qu'ils soient tous sélectionnés ?


---------------
Gamertag: CoteBlack YeLL
n°1657614
omega2
Posté le 13-12-2007 à 11:31:58  profilanswer
 

cytrouille > L'attribut "selected" sert à désigner les options sélectionné par défaut au chargement de la page. Ca ne sert pas à indiquer ou trouver les éléments actuellement sélectionné.
Voilà pourquoi ça ne servait à rien de modifier l'attribut "selected"

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  421  422  423  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)