Posez votre question Signaler

Problème MySQL en PHP [Résolu]

jobertomeu 1014Messages postés 19 août 2007Date d'inscription 1 mai 2012Dernière intervention - Dernière réponse le 31 août 2009 à 23:00
Bonjour,
suite à l'execution du script suivant, ça me dit bien que l'inscription s'est bien déroulée, je reçois bien le mail avec toutes les données, mais il n'y a aucun enregistrement au niveau MySQL, lorsque je vais dans mon phpmyadmi, il n'y en a aucuns donc, voila ...
<?php
if ($_POST['password'] == $_POST['repassword'] and !empty($_POST['mail']) and !empty($_POST['nom']) and !empty($_POST['prenom']) and !empty($_POST['pseudo']) and !empty($_POST['password']) and !empty($_POST['repassword']))
{

// To
$to = 'jobertomeu@orange.fr';

// Subject
$subject = 'Inscription sur Musicmania';

// Message
$msg = 'Formulaire d/inscription de '.$_POST['prenom'];
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= 'Nom : '.$_POST['nom'];
$msg .= "\r\n\r\n";
$msg .= 'Prenom : '.$_POST['prenom'];
$msg .= "\r\n\r\n";
$msg .= 'Pseudo : '.$_POST['pseudo'];
$msg .= "\r\n\r\n";
$msg .= 'mot de passe 1 : '.$_POST['password'];
$msg .= "\r\n\r\n";
$msg .= 'mot de passe 2 : '.$_POST['repassword'];
$msg .= "\r\n\r\n";
$msg .= 'mail 1 : '.$_POST['mail'];
$msg .= "\r\n\r\n";


// Function mail()
mail($to, $subject, $msg);

//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------


$msg = 'Inscription sur MusicMania';
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= 'Votre inscription a bien été enregistrée dans notre base de donnée, vous pouvez utiliser dès à présent votre compte';
$msg .= "\r\n\r\n";
$msg .= 'Voici vos identifiants :';
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= 'Nom d\'utilisateur : '.$_POST['pseudo'];
$msg .= "\r\n\r\n";
$msg .= 'Mot de passe : '.$_POST['password'];
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";

 $recipient = $_POST['mail'];
 $subject = "Inscription sur MusicMania";

 $mailheaders = "From: MusicMania<> \n";

 mail($recipient, $subject, $msg, $mailheaders); 


//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mysql_connect("localhost","jorisags_joberto","pass");
mysql_select_db("jorisags_membres"); // Sélection de la base testst

$reponse = mysql_query("SELECT * FROM membres"); // Requête SQL
$donnees = mysql_fetch_array($reponse);

// On ajoute une entrée avec mysql_query
$pseudo = $_POST['pseudo'];
$mdp = $_POST['password'];
$mail = $_POST['mail'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$phone = $_POST['phone'];

//----------

$date = date("d-m-Y");
$heure = date("H:i");

//-----------
$date0 = $sate + " - " + $heure;
mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$prenom', '$nom', '$mail', '$phone', '$date0')");
mysql_close();
?>
<div id="body-right">
          <h2><b>Inscription</b></h2>
          <div class="box">
            <p>L'inscription s'est bien déroulée, vous pouvez désormais utiliser votre compte.</p>
            <p>&nbsp;</p>
            <p>Le Webmaster</p>
          </div>
        </div>
        <?php
} else {
?>

<div id="body-right">
          <h2><b>Inscription</b></h2>
          <div class="box">
            <p>Un problème s'est déroulée durant l'inscription, le pseudo est déja utilisé, veuillez en choisir un autre.</p>
            <p>&nbsp;</p>
            <p><a href="http://musicmania.user.fr/inscription">Retour</a></p>
            <p>&nbsp;</p>
            <p>Le Webmaster</p>
          </div>
        </div>
  
        <div class="clear"></div>
      </div>
      <div id="copyright">
        <div id="copyright-left"> Copyrigh 2009/2010t &copy; Tout droit reservé | Webmaster : </div>
      </div>
      <div class="clear">&nbsp;</div>
    </div>
  </div>
</div>
</body>
</html>
<?php } ?>

Voila ... Merci ;)
Lire la suite 

Problème MySQL en PHP »

5 réponses
Réponse
+0
moins plus
j'ai trouvé une petite erreur et modifié un peu ton code, voir commentaires:
<?php
if ($_POST['password'] == $_POST['repassword'] and !empty($_POST['mail']) and !empty($_POST['nom']) and !empty($_POST['prenom']) and !empty($_POST['pseudo']) and !empty($_POST['password']) and !empty($_POST['repassword']))
{

// To
$to = 'jobertomeu@orange.fr';

// Subject
$subject = 'Inscription sur Musicmania';

// Message
$msg = 'Formulaire d/inscription de '.$_POST['prenom'];
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= 'Nom : '.$_POST['nom'];
$msg .= "\r\n\r\n";
$msg .= 'Prenom : '.$_POST['prenom'];
$msg .= "\r\n\r\n";
$msg .= 'Pseudo : '.$_POST['pseudo'];
$msg .= "\r\n\r\n";
$msg .= 'mot de passe 1 : '.$_POST['password'];
$msg .= "\r\n\r\n";
$msg .= 'mot de passe 2 : '.$_POST['repassword'];
$msg .= "\r\n\r\n";
$msg .= 'mail 1 : '.$_POST['mail'];
$msg .= "\r\n\r\n";


// Function mail()
$env_mail1=mail($to, $subject, $msg);

//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------


$msg = 'Inscription sur MusicMania';
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= 'Votre inscription a bien été enregistrée dans notre base de donnée, vous pouvez utiliser dès à présent votre compte';
$msg .= "\r\n\r\n";
$msg .= 'Voici vos identifiants :';
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= 'Nom d\'utilisateur : '.$_POST['pseudo'];
$msg .= "\r\n\r\n";
$msg .= 'Mot de passe : '.$_POST['password'];
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";
$msg .= "\r\n\r\n";

 $recipient = $_POST['mail'];
 $subject = "Inscription sur MusicMania";

 $mailheaders = "From: MusicMania<> \n";

 $env_mail2=mail($recipient, $subject, $msg, $mailheaders); 


//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mysql_connect("localhost","jorisags_joberto","pass");
mysql_select_db("jorisags_membres"); // Sélection de la base testst
/*
ces deux lignes ne te servent a rien, car tu ne t'en sert pas pour verifier si pseudo existe déja
$reponse = mysql_query("SELECT * FROM membres"); // Requête SQL
$donnees = mysql_fetch_array($reponse);
*/
// On ajoute une entrée avec mysql_query
$pseudo = $_POST['pseudo'];
$mdp = $_POST['password'];
$mail = $_POST['mail'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$phone = $_POST['phone'];

//----------

$date = date("d-m-Y");
$heure = date("H:i");

//-----------
$date0 = $sate + " - " + $heure; //la tu as une erreur tu as mis sate au lieu de date
//ensuite tu peux faire plus simple par:
$date0=date("d-m-Y - H:i");
//rajout d'une trace en cas d'erreur
$insert=mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$prenom', '$nom', '$mail', '$phone', '$date0')") or die ("Pb requette: ".mysql_error());

mysql_close();

if($env_mail1 && $env_mail2 && $insert){ // si l'envoi des mail et l'enr dans BDD s'est bien fait
?>
<div id="body-right">
          <h2><b>Inscription</b></h2>
          <div class="box">
            <p>L'inscription s'est bien d&eacute;roul&eacute;e, vous pouvez désormais utiliser votre compte.</p>
            <p>&nbsp;</p>
            <p>Le Webmaster</p>
          </div>
        </div>
        <?php
} else {
?>

<div id="body-right">
          <h2><b>Inscription</b></h2>
          <div class="box">
            <p>Un probl&egrave;me s'est d&eacute;roul&eacute;e durant l'inscription, le pseudo est d&eacute;ja utilis&eacute;, veuillez en choisir un autre.</p>
            <p>&nbsp;</p>
            <p><a href="http://musicmania.user.fr/inscription">Retour</a></p>
            <p>&nbsp;</p>
            <p>Le Webmaster</p>
          </div>
        </div>
  
        <div class="clear"></div>
      </div>
      <div id="copyright">
        <div id="copyright-left"> Copyrigh 2009/2010t &copy; Tout droit reservé | Webmaster : </div>
      </div>
      <div class="clear">&nbsp;</div>
    </div>
  </div>
</div>
</body>
</html>
<?php 
} //fin du else enr et envoi mail
}//fin du if controle des saisies 
?>
Ajouter un commentaire
Réponse
+0
moins plus
Je teste ;)

Merci
Ajouter un commentaire
Réponse
+0
moins plus
C'est bon, j'ai copié/collé ton code en ne modifiant rien (sauf mon mdp ^^) et voila ce qu'il me répond :

Pb requette: Column count doesn't match value count at row 1


MErci beaucoup ;)
Ajouter un commentaire
Réponse
+0
moins plus
Alors ? :$
Ajouter un commentaire
Réponse
+0
moins plus
Trouvé !!! en fait, j'avais oublié une valeur dans "INTO etc..." donc, ça fait :

$insert=mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mdp', '$prenom', '$nom', '$mail', '$phone', '$date0', '')") or die ("Pb requette: ".mysql_error());


Voila, merci pour tout ;) Problème résolu


a++++++
Ajouter un commentaire
Ce document intitulé « Problème MySQL en PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?