:: Easy-Script.com :: Index du Forum

Votre bannière ici !

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 RSS : Les 20 dernières discussions des forums d'Easy-Script.nom RSS   ProfilProfil   Messages PrivésMessages Privés   ConnexionConnexion 

Poster un nouveau sujet  Répondre au sujet
Problème pour enregistrer un membre
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
Bonjour.
Je suis entrain de créer un espace membre mais le problème, c'est qu'il y a une erreur dans ce script
PHP:
<?
if((trim($login!=""))&&(trim($pass!=""))
$db mysql_connect('localhost''root'''); // A modifier !
mysql_select_db('mysql',$db);
$sql "INSERT INTO membres_tbl(id,Login,Pass) VALUES('','$login','$pass')";
mysql_query($sql) or die('Erreur SQL !'); 
mysql_close();
print(
"<script>alert(\"Bienvenue $login :]\")</script>"); }
?>

Lorsque je valide un formulaire, il me dit qu'il y a une erreur dans cette ligne:
Code:
{ $db = mysql_connect('localhost', 'root', ''); // A modifier !

mais je ne la trouve pas.
Pourriez vous rechercher toutes les erreurs dans ce script svp et les corriger.
Merci d'avance.
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Salut,

Et l'erreur, elle dit quoi au juste: utilises mysql_error pour avoir des informartions précises sur 'l'essence' de l'erreur !
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Sinon, pour toi code, j'énonce tes erreurs:

- utilises les balises longues <?php plutôt que les balises courtes <? !

- la fonction trim s'exécute sur un variable: trim($login) et non trim($login!="") !

- utilises and plutôt que && !

- il faut enlever les simple quote autour des variables dans ta requête !

- Comme préciser dans mon précédent post, pour avoir plus d'unfos sur les éventuelles erreurs MySQL générées par le code utilise mysql_error dans ton or die('')...

- Et enfin, dans ton envoi de texte à la fin, concatène tes variables (en entre autre, ici, $login) !

Après toutes ces corrections cela devrait marcher...
Voir le profil de l'utilisateurEnvoyer un message privé
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
Je vais essayer et je te tiens au courrant.
Est ce que le script peut fonctionner si j'enlève cette partie:
PHP:
<?php
             
print("<script>alert("Bienvenue $login :]")</script>"); }
             
?>

Pour les "quot;", ce n'est pas moi qui l'ai tapé. A la base, s'était des guillemets comme celà " ". C'est en mettant le script entre les balises [php] et [/ph.] que les guillemets sont devenus "quot;"
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Est ce que le script peut fonctionner si j'enlène cette partie:
PHP:
Code:
print("<script>alert(\"Bienvenue $login :]\")</script>");

Bah oui ! (sans l'accolade!)

Utilises les balises [ code ] et [/ code ] pour ton code s'il y a des double quote dedans...
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Tiens, voici le code écrit correctement en suivant les différents points qui n'allaient pas cités plus haut:

Code:
<?php

if(trim($login)!='')) and (trim($pass)!='')
{

$db = mysql_connect('localhost', 'root', ''); // A modifier !
mysql_select_db('mysql',$db);
$sql = "INSERT INTO membres_tbl(id,Login,Pass) VALUES('', $login, $pass)";
mysql_query($sql) or die ('Erreur '.mysql_errno().' : ' . mysql_error()); 
mysql_close();

echo '<script>alert("Bienvenue ',$login,' :]")</script>';
}

?>
Voir le profil de l'utilisateurEnvoyer un message privé
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
Il y a encore une erreur dans le script. J'ai faits exactement ce que tu m'a dis.
L'erreur provient de
Code:
if(trim($login)!='')) and (trim($pass)!='')


L'erreur pourrai provenir du formulaire si les valeurs ne sont pas les même mais j'ai vérifié et je n'ai pas trouvé d'erreur.
Voici le code de mon formulaire
Code:
  <form action="inscriptionadmin.php">
    <p><span class="Style5">Pseudo</span></p>
    <p>
      <input name="login" type="text" id="login" />
    </p>
    <p class="Style5">Mot de passe </p>
    <p>
      <input name="pass" type="password" id="pass" />
    </p>
    <p>
      <input type="submit" name="Submit" value="Cr&eacute;er l'adimnistrateur" />
    </p>
  </form>

Merci encore de ton aide dont j'ai encore besoin.
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Il y a encore une erreur dans le script.

Quoi comme erreur ?!! Penses à préciser car nous ne sommes pas des devins !

NB: Pour récupérer les valeurs d'un formulaire, c'est $_POST['nom du champ']...
Voir le profil de l'utilisateurEnvoyer un message privé
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
J'aurai bien voulu vous dire d'où viens l'erreur mais il me dit juste qu'il y a une erreur à la page "inscriptionadmin" et que l'erreur ce trouve a la ligne 3.
Voici ce qui y a d'écrit:
[code]
Parse error: parse error in c:\program files\easyphp1-8\www\verif.php on line 3


En fait, je voudrai qu'avec ce formulaire, le membre soit inscrit sur la base de donnée. Donc pourrai tu me modifier les lignes qu'il faut modifier en m'expliquant. Je c'est que je dois me débouiller tout seul pour y arriver et comprendre mais je ne trouve pas de tutos pour apprendre à enregistrer des variables sur une base de donnée.
Merci encore
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
C'est justement cela que je voulais comme précision pour l'erreur, dans ce cas essaie plutôt ce code:

Code:
<?php

if((trim($login)!='') and (trim($pass)!='') )
{

$db = mysql_connect('localhost', 'root', ''); // A modifier !
mysql_select_db('mysql',$db);
$sql = "INSERT INTO membres_tbl(id,Login,Pass) VALUES('', $login, $pass)";
mysql_query($sql) or die ('Erreur '.mysql_errno().' : ' . mysql_error()); 
mysql_close();

echo '<script>alert("Bienvenue ',$login,' :]")</script>';
}

?>


Pour ce qui est des tutos, rien de mieux que les tutos de http://www.phpdebutant.org (à droite) pour bien débuter !
Voir le profil de l'utilisateurEnvoyer un message privé
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
Grâce au site que tu m'as donné, j'ai modifié mon script.
Voici le code:
Code:
<?php


if(isset($_POST['login']))      $nom=$_POST['login'];
else      $login="";

if(isset($_POST['pass']))      $prenom=$_POST['pass'];
else      $pass="";

if(isset($_POST['email']))      $email=$_POST['email'];
else      $email="";

//on peut enregistrer dans la table
    {
    $db = mysql_connect('localhost', 'root', '');  // connexion à la base
    mysql_select_db('admin',$db);                  // sélection de la base
        // on regarde si l'url existe déjà
    $sql = "SELECT id FROM admin_tbl WHERE login='$login'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
    // on compte le nombre de résultats
    $res = mysql_num_rows($req);

    if($res!=0)  // le pseudo existe déjà, on affiche un message d'erreur
        {
        echo '<font color="red"><strong>Désolé, mais ce peudo existe déjà dans notre base.</strong></font>';
        }
    else  {
   echo '<font color="red"><strong>Votre pseudo est disponible</strong><font>';
   }
   // on regarde si l'url existe déjà
    $sql = "SELECT id FROM admin_tbl WHERE email='$email'";
    $mal = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
          // on compte le nombre de résultats
    $mail = mysql_num_rows($mal);

    if($mail!=0)  // le pseudo existe déjà, on affiche un message d'erreur
        {
        echo '<font color="red"><strong>Désolé, mais cette adresse e-mail existe déjà dans notre base.</strong></font>';
        }
    else  {
   echo '<font color="red"><strong>Votre adresse e-mail est disponible</strong><font>';
   }
   if(($mail!=0) and ($res!=0))
   echo "<font color='red'><strong>Vous etes admin. Vous pouvez acceder à la partie d'administration. Bienvenue parmis les administrateurs du site.</strong></font>";
      {   
        $sql = "INSERT INTO admin_tbl(id, login, pass, email) VALUES('', $login, $pass , $email)";
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

          }
    mysql_close();  // on ferme la connexion
    }
   
?>

Tout fonctionne sauf qu'il y a un truc qui est marrant: quand je créé le membre, une nouvelle ligne apparait dans la base de donnée, la case "id" est remplie mais le login et le mot de passe ('pass') n'apparraissent pas.
Pourrais-tu m'arranger ce problème stp Pray Pray

Je vais encore t'embetter mais est-ce que cette ligne peut fonctionner?
PHP:
<?php
             
if(($mail!=0) and ($res!=0))
             
?>
Parce qu'en fait, j'ai fais une vérification pour voir si le login et le pass n'existe pas déjà sur la base de donnée et j'aimerai que, si le login et le pass n'existe pas déjà, qu'y ait marqué: "Vous etes admin. Vous pouvez acceder à la partie d'administration. Bienvenue parmis les administrateurs du site." Est ce que la ligne que j'ai sité précedement fonctionne??

Merci encore. Au fait, tu tiens très bien ton rôle de modérateur Applause Pray
Voir le profil de l'utilisateurEnvoyer un message privé
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
UP svp. Pray Pray
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Parce qu'en fait, j'ai fais une vérification pour voir si le login et le pass n'existe pas déjà sur la base de donnée et j'aimerai que, si le login et le pass n'existe pas déjà, qu'y ait marqué: "Vous etes admin. Vous pouvez acceder à la partie d'administration. Bienvenue parmis les administrateurs du site." Est ce que la ligne que j'ai sité précedement fonctionne??

Justement ici, il y a un problème car tu fais un echo avant l'accolade correspondant à cette condition ! Donc il faudrait plutôt mettre ta sortie de texte après l'accolade...

D'autre part pour plus d'optimisation de ton code, et pour éviter une suite de if et de else, il serait mieux que tu fasses tes vérifications suivant le schéma ci-dessous:
PHP:
<?php
if ($res != '0')
 {
 echo 
'blablabla';
 }
elseif(
$mail != '0')
 {
 echo 
'blablabla';
}else{
 echo 
'Vous etes admin. Vous pouvez acceder à la partie d\'administration. Bienvenue parmis les administrateurs du site';
}
?>


Voir le profil de l'utilisateurEnvoyer un message privé
Age


Inscrit le: 08 Avr 2006
Messages: 16
Répondre en citant
Je n'avais pas pensé à cette astuce. Je vais de ce pas changer mon script.

J'avais posté une autre question qui m'embette plus qu'au quel tu m'a répondu.
Voici le second problème:

Tout fonctionne sauf qu'il y a un truc qui est marrant: quand je créé le membre, une nouvelle ligne apparait dans la base de donnée, la case "id" est remplie mais le login et le mot de passe ('pass') n'apparraissent pas.
Pourrais-tu m'arranger ce problème stp Pray Pray

Encore un grand merci
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Vérifies que tes variables $login et $pass sont bien renseignées ! Et sinon quelle est la structure de ta table admin_tbl ?
Voir le profil de l'utilisateurEnvoyer un message privé
Annonces && Topic Scooping
Problème pour enregistrer un membre
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 2  

  
  
 Poster un nouveau sujet  Répondre au sujet  


Powered by phpBB © 2001, 2002 phpBB Group
Traduction par : phpBB-fr.com
Design by Vjacheslav Trushkin
phpBB SEO

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions / messages bloqués: 2668 / 609