PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32

Si vous êtes encore là mon code ne fonctionne pas sad

$connect = mysql_connect("localhost","root","******"); 
mysql_select_db("****", $connect);   
$sql =  mysql_query("SELECT *
FROM membre
WHERE TIMESTAMPDIFF(MINUTE, login, NOW()) >= 1") or die('erreur : '.mysql_error()); 

echo "".$data['login'].""; 
   

Merci par avance

#3 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32


SELECT *
FROM matable
WHERE TIMESTAMPDIFF(MINUTE, monchamp, NOW()) >= 2

J'ai bon ?

#4 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32

Tbien merci.
Il a fallu que je mette time dans champ et timestamp dans type.
Maintenant il faut je je fasse un select login ... en sachant que les pseudos sont dans le champ login et que ma table s'appelle membre...

#5 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32

Oups je ne le savais pas.
Mais ce n'est pas une raison j'étais énervé car les personnes qui se croient supérieur aux autres ça tendance à m'agacer... Je suis dans le froid et la climatisation et j'aide des forums et jamais , je me suis permis de répondre comme il le fait !
Bref.
Je vais créé cela de suite mais en ce qui concerne les (Type, Interclassement, Attributs, Null, Défaut, Extra ) je ne mets rien ?
Désolé mais je n'arrive pas trop à saisir le principe même en ffaisant des reecherches sur google.

#6 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32

Enfin une personne courtois et correct.
Passons, je ne suis pas nouveau ici, on a déjà eu des échanges concernant un script.
Je n'ai jamais eu d'écart de language avec vous.
Merci pour l'information, le seul problème c'est que pour simuler "the - moment", je ne sais pas laquelle des variables choisir.
Il y a UNIX_TIMESTAMP() + 30 ....
Enfin, je ne vais pas abuser de votre aide, je vous remercie.

Anthony

#7 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32

On est modérateur donc on peut se permettre de dire ou critiquer...c'est désolant...
Franchement vous me dégoutez de débuter dans le PHP
Bravo  !

#8 MySQL, PostgreSQL, etc... » [Sujet Clos] Afficher le pseudo du membre connecté » 12-06-2009 19:30:32

slyckers
Réponses : 11

Bonjour,

Je vais faire attention concernant ma façon de m'exprimer car c'est vrai qu'à 35 ans les neurones s'évaporent un peu...
NDLR post ancien...

Bref, voilà j'aimerai juste connaitre la façon la plus simple d'afficher le pseudo d'un membre de mon site quand celui-ci est connecté.
Un bout de script, ou une petite explication serait appréciée.
Pour information ma table se nomme "membre" j'ai des champs id,login,pass.
Merci de m'aider ou de me conseiller svp.


Anthony

#10 Re : Forum Général PHP » Membres connectés Help svp ! » 12-06-2009 16:22:40

Laisse tomber.
Merci quand même.
Je veux une aide et non pas de critque...

#11 Re : Forum Général PHP » Membres connectés Help svp ! » 12-06-2009 16:22:40

Bonjour,

A part ça...
En fait je disais que les membres inscrit en chiffre s'affichent sur le site...et pas ceux en lettre ...
J'ai des champs id,login;mdp;email,timeout ....
Que proposes-tu?

Merci

#12 Forum Général PHP » Membres connectés Help svp ! » 12-06-2009 16:22:40

slyckers
Réponses : 8

Bonjour à tous,

J'essaie en vain d'afficher mes membres connectés sur mon site, mais je n'y arrive pas.
J'ai récupérer un début de script mais mon problème c'est que j'ai l'impression que seul les membres inscrits en chiffre (ex : 3456778) s'affichent sur mon site pour les autres et moi même que nini ...

Voici mon bout de code  :


<?
//Ici on donne les informations pour la base Mysql
$host="localhost";
$user="root";
$pass="********";
$base="base";
//On se connecte a la base
$connect=mysql_connect($host,$user,$pass) or die ($impserv);
mysql_select_db($base, $connect) or die ($impbas);
//C'Est dans la page inclu que les infos sont vérifier

//Ici c'est pour dire le temps que la personne est connectés + 30 secondes
$query=mysql_query("UPDATE membre SET timeout = UNIX_TIMESTAMP() + 30 WHERE login ");
?><?
//Ici ont fait la liste de toutes les personne connectés qui n'ont pas fait un timeout
$result = mysql_query("SELECT * FROM membre WHERE timeout >= UNIX_TIMESTAMP()");
while ($row = mysql_fetch_array($result)) {?>
<?=$row["login"];?><br>
<?}?>


Voilà, j'espère que le code pourra aider certaines personnes par la suite.

J'attends de vos nouvelles.

Anthony

#13 Re : Forum Général PHP » Comment générer un mot de passe (MD5) » 26-05-2009 10:28:14

Bon je vois que c'est complique...Donc je vous joins mon code et si vous avez une idée pour supprimer le hachage...
J'ai déjà essayé d'enlever le md5 et lors de l'inscription, ce n'est lus haché mais le script ne reconnait pas le mot de pass ... snif !

<?php

session_start();

include("../include/config.php");

include("../include/entete.php"); ?>

<body>
<div id="contenu">

   <div id="header"><?php include('../include/header.php'); ?></div>

   <div id="menu_horizontal"><?php include('../include/menu_horizontal.php'); ?></div>

   <div id="menu_vertical"> <?php $bloc = mysql_query("SELECT * FROM CMS_bloc WHERE active='1' ORDER BY position ");
      while($bloc1 = mysql_fetch_assoc($bloc)) {  ?>
   
<?php include('../bloc/'.$bloc1["titre_fichier_bloc"].'.php'); ?>

<?php } ?></div>
 

   <div id="contenu_corps">
      <div id="corps_haut">
       
      </div>
     <div id="corps">
 
<?php
// on teste si le visiteur a soumis le formulaire  
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
   // On regarde si un des champs ne soit pas vide et si nos variable existe bien
   if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['password']) && !empty($_POST['password'])) && (isset($_POST['confirm']) && !empty($_POST['confirm'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['code']) && !empty($_POST['code']))     ) {
   
   if( strtolower($_POST['code']) == $_SESSION['enregistrement_du_code'] ) { ?>
<?php
//Maintenant, on se connecte à la base de données


$pseudo_erreur1 = "";
$pseudo_erreur2 = "";
$mdp_erreur = "";
$email_erreur1 = "";
$email_erreur2 = "";

?>

<?php
$i = 0;

//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM CMS_membre WHERE membre_pseudo = "'.$_POST['pseudo'].'"'), 0);
if($nombrepseudo != 0)
{
        $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
        $i++;
}
if (strlen($_POST['pseudo']) < 3 || strlen($_POST['pseudo']) > 15)
{
        $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
        $i++;
}
//Vérification du mdp
if ($_POST['password'] != $_POST['confirm'] || empty($_POST['confirm']) || empty($_POST['password']))
{
        $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
        $i++;
}
?>
<?php
//Vérification de l'adresse email

//Il faut que l'adresse email n'ait jamais été utilisée

$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM CMS_membre WHERE membre_email = "'.$_POST['email'].'"'), 0);

if ($nombremail!= 0)
{
        $email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
        $i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) || empty($_POST['email']))
{
        $email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
        $i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['msn']) && !empty($_POST['msn']))
{
        $msn_erreur = "Votre adresse MSN n'a pas un format valide";
        $i++;
}


if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{

        echo'<h1>Inscription terminée</h1>';
        echo'<p>Bienvenue '.$_POST['pseudo'].' vous êtes maintenant inscrit sur le forum</p>';
        echo'<p>Cliquez <a href="./modules/compte/index.php">ici</a> pour revenir à la page d accueil</p>';

     
       
        //On vérifie que les champs ne continennent pas de html
        //Puis on crypte le mot de passe
        $temps = time();
       
        $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'], ENT_QUOTES));
        $email = mysql_real_escape_string(htmlspecialchars($_POST['email'], ENT_QUOTES));
     
        $pass = md5($_POST['password']);
       
        //On balance le tout dans notre table
        mysql_query('
        INSERT INTO CMS_membre (membre_pseudo, membre_mdp, membre_email,            
         membre_inscrit,  
        membre_derniere_visite, membre_avatar)
        VALUES ("'
.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
         "'
.$temps.'" , "'.$temps.'", "8388607" ) ') or die(mysql_error());
       
       
        //Et on définit les variables de sessions
        $_SESSION['membre_pseudo'] = $pseudo;
        $_SESSION['id'] = mysql_insert_id();
        $_SESSION['level'] = 1;

}
else
{
        echo'<h1>Inscription interrompue</h1>';
        echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>';
        echo'<p>'.$i.' erreur(s)</p>';
        echo'<p>'.$pseudo_erreur1.'</p>';
        echo'<p>'.$pseudo_erreur2.'</p>';
        echo'<p>'.$mdp_erreur.'</p>';
        echo'<p>'.$email_erreur1.'</p>';
        echo'<p>'.$email_erreur2.'</p>';
     
       
        echo'<p>Cliquez <a href="./inscription.php">ici</a> pour recommencer</p>';
}


} else { $erreur1 = 'Désolé le code de sécurité n\'est pas bon.'; }
} else {
    $erreur2 = 'Il y a un champs de vide.';
   }  
}
echo'<p>'.$erreur1.'</p>';
echo'<p>'.$erreur2.'</p>';
mysql_close();
?>
   
    </div>
   </div>
   
 <div id="copyright"><?php include "../include/footer.php"; ?>
</div>
 
</div>

</body>
</html>

Merci

#14 Forum Général PHP » Comment générer un mot de passe (MD5) » 26-05-2009 10:28:14

slyckers
Réponses : 2

Bonsoir à tous,

Je vais expliquer mon problème le mieux possible.
J'essaie de créer ou de reprendre un script pouvant regénérer un mot passe qui a été haché (Md5).
J'ai lu dans des forums qu'il n'était pas possible de décrypter le fameux Md5..jusqu'à là c'est normal sinon a quoi bon le MD5 !
Maintenant voilà, j'aimerai savoir si quelqu'un posséderai un petit script permettant de regénérer un mot passe via un mail envoyer au membre.
Exemple:

Oublie de mot de passe
1 étape : on clique deçu, puis on arrive sur une page nous demandant d'insérer son mail.
2 étape : Un mail arrive dans notre boite en nous mentionnant par exemple :
Vous recevez cet email parce que vous (ou quelqu'un qui prétend l'être) avez demandé un changement de mot de passe sur votre compte membre. Si vous pensez recevoir ce message par erreur, effacez-le et votremot de passe restera le même. Dans le cas contraire, vous devez vous rendre sur cette page :http://www.monsite.com/member.php?exemple=key=fa86dc261b88562129679b6d909b2f4b afin de confirmer votre demande.
3 étape : En cliquant sur le lien, nous arrivons sur le site en validant la demande puis un nouveau mail est envoyé mentionnant :
Suite à votre demande, voici votre nouveaumot de passe : 9YOtWATY
NE REPONDEZ PAS A CE MESSAGE: en effet, ceci est un mail automatique,aucune réponse ne serait lue.

J'espère avoir été clair et espère avoir une aide quant à la création ou la reprise d'un script existant pour le modifier par rapport à ma base de donnée.

Merci d'avance pour votre aide.

Anthony

#15 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

Bonjour,

Alors j'ai procédé autrement...bcp plus simple ! lors de l'inscription du membre, il y a un menu pour proposer un lien, etc. etc ....et j'ai rajouté un petit formulaire que se valide par le biais d'un pop up et bien entendu cela s'incrémente dans ma bdd.
Je tiens à remercier les personnes ayant pu m'aider.
@ très bientôt

Anthony

#16 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

oups pourquoi pas pardon...

sinon ce ne serait pas ça ?

<?php

/*
* Generates a random password if password is lost
* @param int length : length of the password to generate
* @return string : generated password
*/

function generatePassword ($length = 8)
{
  // start with a blank password
  $password = "";
  // define possible characters
  $possible = "0123456789bcdfghjkmnpqrstvwxyz";
  // set up a counter
  $i = 0;
  // add random characters to $password until $length is reached
  while ($i < $length)
  {
    // pick a random character from the possible ones
    $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
     
    // we don't want this character if it's already in the password
    if (!strstr($password, $char))
    {
      $password .= $char;
      $i++;
    }
  }
  // done!
  return $password;
}

/*
* Sending the new password generated by mail
* @param void
* @return void
*/

function sendPassword()
{
  global $lang, $CONFIG;
  $email = isset($_POST['email']) ? $_POST['email'] : '';
  $smarty =& TemplateEngine::getInstance();
 
  if(!empty($email))
  {
    $um =& get_manager('user');
   
    $criteria = new CriteriaCompo(new Criteria('email',$email,'='),'AND');
    $criteria->add(new Criteria('isadmin',0,'='),'AND');
    $criteria->setLimit(1);
    $users =& $um->getObjects($criteria);
   
    if(count($users) == 1)
    {
      // User found
      foreach($users as $user)
      {
        if(function_exists("mail"))
        {
          $new_password = generatePassword();
          $user->setVar('pass',md5($new_password));
          $um->insert($user);
         
          $mailm = new MailManager();
          $mailm->setTemplate('subject','lostpwd_mail_subject.html');
          $mailm->setTemplate('body','lostpwd_mail_body.html');
         
          $mail_infos = array('user_login' => $user->getVar('login'),
                    'user_password' => $new_password);
         
          $mailm->assignArray($mail_infos);
          $mailm->setFrom($CONFIG['site_mail']);
          $mailm->setTo($user->getVar('email'));
          $mailm->sendMail();
         
          $smarty->append('warning',sprintf($lang['email_sent'],$user->getVar('email')));
        }
        else
        {
          $smarty->append('warning',$lang['mail_notpossible']);
        }
         
      }
    }
    else
    {
      // User not existing
      $smarty->append('warning',$lang['invalid_email']);
    }
  }
}

?>

#19 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

Ligne 160 ?

<?php

/*
* Displays either Add link or edit link form
* @param string url
* @param int id : default value is 0 (new site); id of the site to edit (editing a website)
* @return void
*/

function getLinkForm($url, $id = 0)
{
  global $CONFIG, $lang;
 
  if(@ini_get('allow_url_fopen') == 1) {
    $isSpam = file_get_contents('http://www.freeglobes.net/antispam/isspam.php?ip='.$_SERVER['REMOTE_ADDR'].'&email='.$email.'&url='.$url);
    if($isSpam == 'yes') {
      exit();
    }
  }
 
  $smarty =& TemplateEngine::getInstance();
  $lm =& get_manager("link");
  $cm =& get_manager("category");
  $um =& get_manager('user');
 
  $login = isset($_COOKIE['login']) ? $_COOKIE['login'] : '';
  $pass = isset($_COOKIE['pass']) ? $_COOKIE['pass'] : '';
 
  if(!empty($login) && !empty($pass))
  {
    $criteria = new CriteriaCompo(new Criteria('login',$login,'='),'AND');
    $criteria = new CriteriaCompo(new Criteria('pass',$pass,'='),'AND');
    $criteria->setLimit(1);
    $user =& $um->getObjects($criteria);
   
   
    $name = isset($_POST['name']) ? $_POST['name'] : "";
    $url_posted = isset($_POST['url']) ? $_POST['url'] : "ed2k://";
    $description = isset($_POST['description']) ? $_POST['description'] : "";
    $category = isset($_POST['category']) ? $_POST['category'] : 0;
    $url_image = isset($_POST['url_image']) ? $_POST['url_image'] : "";
    $email = $user[0]->getVar('email');
    $mail = '';
   
    if(isset($_POST['Metas']) && $url_posted != '' && $url_posted != 'ed2k://')
    {
      list($url_posted,$url_image,$nom_proprio,$mail,$name,$description) = preremplir_formulaire($url_posted,true);
    }

    $smarty->assign("form_action",$url);
    $smarty->assign("bouton",$lang['submit']);
    $smarty->assign('title',$lang['yessubmit']);
    $allow = $CONFIG['get_meta_tags'] == 1 ? true : false;
    $smarty->assign('allow_metadetection',$allow);
   
    $smarty->assign('name',$name);
    $smarty->assign('url_posted',$url_posted);
    $smarty->assign('description',$description);
    $smarty->assign('image',$url_image);
    $smarty->assign('email',$email);

    $categories =& $cm->getObjects(new Criteria('usable',1,'='),array('id'));

    if($categories && count($categories) > 0)
    {
      foreach($categories as $category)
      {
        $id = $category->getVar('id');
        $name = show_me_the_way($id);
        if ($id==$category)
        {
          $smarty->append("categories", array('name' => $name, 'id' => $id, 'selected' => 'selected="selected"'));
        }
        else
        {
          $smarty->append("categories", array('name' => $name, 'id' => $id, 'selected' => ''));
        }
      }
    }
    if($url_image != '' && $url_image != 'http://')
    {
      $image = $url_image;
    }
    else
    {
      $image = $CONFIG['site_url']."/themes/admin/images/nothumb.gif";
    }
    displayFckEditor($description);
    $smarty->assign("site_image", $image);
  }
}

/*
* Checks if all the fields submited were filled in correctly; then adds the website to database
* @param string url : useful for setting form action url
* @return void
*/

function addSite($url)
{
  global $CONFIG, $lang;
  $smarty =& TemplateEngine::getInstance();
  $lm =& get_manager("link");
  $um =& get_manager('user');
 
  $name = isset($_POST['name']) ? strip_tags($_POST['name']) : "";
  $url_posted = isset($_POST['url']) ? strip_tags($_POST['url']) : "ed2k://";
  $description = isset($_POST['description']) ? strip_tags($_POST['description']) : "";
  $category = isset($_POST['category']) ? strip_tags($_POST['category']) : 0;
  $url_image = isset($_POST['url_image']) ? strip_tags($_POST['url_image']) : "";
  $hits = 0;
  $prio = 0;
  $vote = 0;
  $uid = isset($_COOKIE['uid']) ? intval($_COOKIE['uid']) : 0;
 
  $login = isset($_COOKIE['login']) ? $_COOKIE['login'] : '';
  $pass = isset($_COOKIE['pass']) ? $_COOKIE['pass'] : '';
 
  $criteria = new CriteriaCompo(new Criteria('login',$login,'='),'AND');
  $criteria = new CriteriaCompo(new Criteria('pass',$pass,'='),'AND');
  $criteria->setLimit(1);
  $user =& $um->getObjects($criteria);
  $email = $user[0]->getVar('email');
 
  if ((!empty($name)) and (!empty($description)))
  {
    if($CONFIG['check_url'])
    {
      $test_url = checkurl($url_posted);
    }
    else
    {
      $test_url = true;
    }
   
    if ($test_url)
    {
      $parsed_url = parse_url($url_posted);
      $host_with_www = $parsed_url['host'];
      $host_without_www = str_replace('www','',$parsed_url['host']);
      $criteria = new CriteriaCompo(new Criteria('url','%'.$host_with_www.'%','LIKE'),'OR');
      $criteria->add(new Criteria('url','%'.$host_without_www.'%','LIKE'),'OR');
      $criteria->setLimit(1);
      $already_existing = $lm->getCount($criteria);
     
      if($already_existing == 0)
      {
        $link = $lm->create(true);
        $attributes = array('id' => '',
                  'uid' => $uid,
                  'name' => $name,
                  'url' => $url_posted,
                  'description' => $description,
                  'state' => 1,
                  'category' => intval($category),
                  'pr' => 0,
                  'image' => $url_image,
                  'hits' => 0,
                  'prio' => 0,
                  'vote' => 0,
                  'email' => $email);
        $link->setVars($attributes);
        $lm->insert($link);
       
        $feed_name = isset($_POST['feed_name']) ? $_POST['feed_name'] : "";
        $feed_url = isset($_POST['feed_url']) ? $_POST['feed_url'] : "";
        if(!empty($feed_name) && !empty($feed_url))
        {
          $fm =& get_manager('feed');
          $attributes = array('name' => strip_tags($feed_name),
                    'linkid' => intval($link->getVar('id')),
                    'feed' => strip_tags($feed_url));
                   
          $feed = $fm->create(true);
          $feed->setVars($attributes);
          $fm->insert($feed);
        }
       
        if($CONFIG['inform_admin_about_submission'])
        {
          $chemin = show_me_the_way($category);
         
          $mailm = new MailManager();
          $mailm->setTemplate('subject','admin_inform_subject.html');
          $mailm->setTemplate('body','admin_inform_basic_body.html');
          $mailm->assignArray(array('link_name' => $name,
                     'link_url' => $url_posted,
                     'link_description' => $description,
                     'link_category' => $chemin,
                     'link_pack' => 'MEMBER'));
          $mailm->setFrom($CONFIG['site_mail']);
          $mailm->setTo($CONFIG['site_mail']);
          $mailm->sendMail();
        }
       
        foreach($_POST as $key => $value)
        {
          unset($_POST[$key]);
        }
      }
      else
      {
        // Website already submitted
        $smarty->assign("link_warning",$lang['already_existing_link']);
      }
    }
    else
    {
      $smarty->assign("link_warning",$lang['url_notresponding']);
    }
  }
  else if (empty($name) xor empty($description))
  {
    $smarty->assign("link_warning",$lang['fill_allfields']);
  }
}

?>

#20 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

c'est bien par rapport à ce morceau de script ?

                  $user->setVars($attributes);
                  $user->setNew();

?

#21 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

oui oui, je comprends le principe, mais c'est vrai que ce n'est pas un petit script...
sad

#23 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

Euh j'ai trouvé...

<?php

if(!defined("SCRIPT_ROOT_PATH"))
{
  echo 'SCRIPT_ROOT_PATH not defined in class.config.php';
  exit();
}

/*
* Configuration file manager
* @class ConfigManager
* @package Kernel
*/

class ConfigManager
{
  // Config file by absolut path
  var $file = "";
  // config values loaded into class member
  var $config = array();
  // Has anyone of the config values been modified ?
  var $is_dirty = false;
  // has the config file been loaded successfully
  var $loaded = false;
 
  /*
  * Constructor with 1 parameter
  * @param string file : config file indicated by absolut path
  */

  function ConfigManager($file = "")
  {
    if (!empty($file) && file_exists($file))
    {
      $this->file = $file;
    }
    $this->loadConfig();
  }
 
  /*
  * Loads the config file after it has been specified
  * @param void
  * @return bool : TRUE if success
  */

  function loadConfig()
  {
    if(!$this->loaded)
    {
      include_once($this->file);
      if(isset($CONFIG))
      {
        $this->config =& $CONFIG;
        $this->loaded = true;
        return true;
      }
      else
      {
        include_once(SCRIPT_ROOT_PATH.'/conf/default.php');
        $this->config =& $default;
        return false;
      }
    }
    else if($this->loaded)
    {
      return true;
    }
    else
    {
      include_once(SCRIPT_ROOT_PATH.'/conf/default.php');
      $this->config =& $default;
      return false;
    }
  }
 
  /*
  * Method allowing to modify a specific config value, if it exists
  * @param string key
  * @param string value
  * @return bool : TRUE if success
  */

  function setVar($key, $value)
  {
    if(!empty($key) && isset($this->config[$key]))
    {
      if(!$this->isDirty())
      {
        $this->setDirty();
      }
      $this->config[$key] = $value;
      return true;
    }
    return false;
  }
 
  /*
  * Method allowing to modify a couple of config values
  * @param array : key is name of the config item, value is the new value
  * @return bool : TRUE if success
  */

  function setVars($array)
  {
    if(isset($array) && count($array) > 0)
    {
      foreach($array as $key => $value)
      {
        $this->setVar($key,$value);
      }
      return true;
    }
    return false;
  }

  /*
  * Method allowing to modify a couple of config values
  * @param array : key is name of the config item, value is the new value
  * @return bool : the requested value, else FALSE
  */

  function getVar($key)
  {
    if(isset($this->config[$key]))
    {
      return $this->config[$key];
    }
    return false;
  }
 
  /*
  * Returns the config array
  * @param void
  * @return &array : associative array defined in config file
  */

  function &getConfig()
  {
    return $this->config;
  }
 
  /*
  * Sets the config file as dirty
  * @param void
  * @return void
  */

  function setDirty()
  {
    $this->is_dirty = true;
  }
 
  /*
  * Checks if the config file is dirty
  * @param void
  * @return bool : true if dirty
  */

  function isDirty()
  {
    return $this->is_dirty;
  }
 
  /*
  * Returns the config file absolut path
  * @param void
  * @return string file
  */

  function getFile()
  {
    return $this->file;
  }

  /*
  * Updates the config file if it's dirty and writeable
  * @param void
  * @return bool : true if success
  */

  function updateConfig()
  {
    if($this->isDirty())
    {
      $file_string = "<"."?php\n\n";

      foreach ($this->config as $cle => $valeur)
      {
        $file_string .= '$CONFIG['."'".$cle."'".']'."\t=\t\"".$valeur."\";\n";
      }
     
      $file_string .= "\n".'?'.'>';
     
      $fh = fopen( $this->file,'w');
     
      if ($fh)
      {
        fputs($fh, $file_string, strlen($file_string) );
        fclose($fh);
        return true;
      }
      else
      {
        return false;
      }
    }
    else
    {
      return true;
    }
  }
}

/*
* Singleton class used to instanciate a config Manager
* @class MyConfigManager
* @package Kernel
*/

class MyConfigManager
{
  /*
  * reference on a static instance
  * @function getInstance
  * @return void
  */

  function &getInstance()
  {
    static $config_manager;
    if(!isset($config_manager))
    {
      $config_manager = new ConfigManager(SCRIPT_ROOT_PATH.'/conf/config.php');
    }
    return $config_manager;
  }
}

?>

#24 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

Snif moi qui pensais avoir fait le plus gros sad
Effectivement dans le script il y a pas mal de class.atom.php , class.sitemap.php etc...

Je rgarde ça Merci bcp de m'aider en tout cas !

#25 Re : Forum Général PHP » [Résolu] Formulaire & checkbox » 19-05-2009 16:34:06

Maintenant comment puis-je faire pour insérer le mail du futur membre dans mon autre table "ntux2_users " champ " mail "  ?

Svp

Pied de page des forums

Propulsé par FluxBB