[RESOLU] probleme d'insertion dans la dbb

Mammouth du PHP | 619 Messages

27 avr. 2013, 09:52

Bonjour,

Il a déjà quelque erreur tu demandes que $_POST['pseudo'] ou $commentaire ne sois pas vide alors que tu veux aucun des deux vide donc on mets des && et $commentaire n'ai pas encore pressent donc $_POST['commentaire']

en suite tu veux récupéré $_POST['email'] alors que ton formulaire se nome mail donc $_POST['mail'];
if (empty($_POST['pseudo']) || empty($commentaire)) { 

j'ai modifie un peu ton code essaie si cela marche reprotege les champs et vire mon commentaire pour le refrech

dans la page commentaire tu sélectionne le champ commentaire et la tu insert dans com et email mail
<?php

include('config.php');

// on verifie que la variable esiste et ne sois pas vide
if (isset($_POST['pseudo']) && !empty($_POST['pseudo']) && isset($_POST['commentaire']) && !empty($_POST['commentaire'])) {
	$db = mysql_connect($host,$login,$pass);
mysql_select_db($base,$db);
	

        $date = date("d-m-Y");		
	$pseudo=$_POST['pseudo'];
	$commentaire=$_POST['commentaire'];	
       $email=$_POST['mail'];

	$query = "INSERT INTO comment set login='$pseudo',`mail`='$email',commentaire='$commentaire',`date`='$date'";
	$req = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); 
	
	
	//$query = "INSERT INTO comment set login='". mysqli_real_escape_string($db,$_POST['pseudo']) . '\', email=\'' . mysqli_real_escape_string($db,$_POST['email']) . '\', com=\'' . mysqli_real_escape_string($db,$_POST['commentaire']) . '\', date=\'now()\'';

// Exécution de la requête et affichage de l'erreur éventuelle $insert = mysqli_query($db,$query); if ($insert === false) { echo 'Erreur SQL : ' . mysqli_error($db) . '<br />Avec la requête : ' . $query; }

	mysql_close();
	
	
}
else{
	echo '<span style="font: normal 12px Verdana;">Attention, seul le champ e-mail peut rester vide !</span>'; 	
}


//echo '<meta http-equiv="Refresh" content="0; URL=comment.php">';

?>
 

 

Eléphanteau du PHP | 37 Messages

27 avr. 2013, 14:35

Bonjour, j'ai remplacer la page comment.php par le code de ghost5922 ça affiche un message d'erreur

Code : Tout sélectionner

Parse error: syntax error, unexpected '}' in /membri/thetutorielsfr/comment/comment.php on line 17

Mammouth du PHP | 619 Messages

27 avr. 2013, 16:55

Bonjour,

faut modifier le fichier add.php par mon code et non commentaire.php

pour l'erreur

peux tu donne ta table comment stp

edit : je viens de voir que ton champ se nome pseudo et non login
<?php
include(config.php);

if (isset($_POST['pseudo']) && !empty($_POST['pseudo']) && isset($_POST['commentaire']) && !empty($_POST['commentaire'])){
        $db = mysql_connect($host,$login,$pass);
		mysql_select_db($base,$db);

        $date = date("d-m-Y");          
        $pseudo=$_POST['pseudo'];
        $commentaire=$_POST['commentaire'];     
        $email=$_POST['mail'];

        $query = "INSERT INTO comment set pseudo='$pseudo',`mail`='$email',commentaire='$commentaire',`date`='$date'";
        $req = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); 
        mysql_close();
   
}
else{
        echo '<span style="font: normal 12px Verdana;">Attention, seul le champ e-mail peut rester vide !</span>';      
}


//echo '<meta http-equiv="Refresh" content="0; URL=comment.php">';


?>
je viens de faire un test avec une table : comment (id,pseudo,mail,commentaire,date) l'insert marche nikel

Mammouth du PHP | 619 Messages

27 avr. 2013, 17:25

Bonjour,

voila une DEMO en ligne

mes pages

add.php
<?php
include('config.php');

if (isset($_POST['pseudo']) && !empty($_POST['pseudo']) && isset($_POST['commentaire']) && !empty($_POST['commentaire'])){
        $db = mysql_connect($host,$login,$pass);
		mysql_select_db($base,$db);

        $date = date("d-m-Y");          
        $pseudo=$_POST['pseudo'];
        $commentaire=$_POST['commentaire'];     
        $email=$_POST['mail'];

        $query = "INSERT INTO comment set pseudo='$pseudo',`mail`='$email',commentaire='$commentaire',`date`='$date'";
        $req = mysql_query($query) or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error()); 
        mysql_close();
   
}
else{
        echo '<span style="font: normal 12px Verdana;">Attention, seul le champ e-mail peut rester vide !</span>';      
}


echo '<meta http-equiv="Refresh" content="0; URL=comment.php">';


?>

comment.php
.             <? include('config.php'); ?>
<html>
<head>
<title>Commentaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="220" border="1" cellpadding="0" cellspacing="1" bordercolordark="#0066FF">
  <!--DWLayoutTable-->
  <tr> 
    <td width="356" height="287" valign="top"><div align="center"> 
        <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif">:: Commentaire ::</font></p>
        <p><font color="#0066FF">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font> 
          <?
$db = mysql_connect($host,$login,$pass);
mysql_select_db($base,$db);
$req = mysql_query("SELECT * FROM comment");
$res = mysql_numrows($req);

echo "<font face=verdana size=1>Il y a actuellement <b>$res</b> commentaire</font>";

mysql_close();
?>
        </p>
        <p><br>
          <?
                  
$db = mysql_connect($host,$login,$pass);
mysql_select_db($base,$db);
$req = mysql_query("SELECT * FROM comment ORDER BY id DESC");
$res = mysql_numrows($req);

$i=0;
WHILE($res!=$i)
  {
   $pseudo = mysql_result($req,$i,"pseudo");
   $date = mysql_result($req,$i,"date");
   $commentaire = mysql_result($req,$i,"commentaire");
   $mail = mysql_result($req,$i,"mail");
if($mail=='')
{
    print"<p align=left><font face=verdana size=1>Le <b>$date</b> par <b>$pseudo</b><br><br><i>$commentaire</i></font></p>";
}
else
{
    print"<p align=left><font face=verdana size=1>Le <b>$date</b> par <a href=mailto:$mail><b>$pseudo</b></a><br><br><i>$commentaire</i></font></p>";
}
   $i++;
  }
mysql_close();
?>
        </p>
        <p><font color="#0066FF">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></p>
        <form method="post" action="add.php">
          <table width="356" border="0" align="center" cellpadding="0" cellspacing="0">
            <!--DWLayoutTable-->
            <tr> 
              <td width="126" height="22" valign="top"><font size="1" face="Verdana"><u>Votre 
                pseudo :</u></font></td>
              <td colspan="2" valign="top"> <input type="text" class=text name="pseudo"> 
              </td>
              <td width="2">&nbsp;</td>
              <td width="19">&nbsp;</td>
            </tr>
            <tr> 
              <td height="23" colspan="2" valign="top"><font size="1" face="Verdana"><u><em>Votre 
                e-mail :</em></u></font></td>
              <td colspan="2" valign="top"> <input type="text" class=text name="mail"> 
              </td>
              <td>&nbsp;</td>
            </tr>
            <tr> 
              <td height="70" colspan="2" valign="top"><font size="1" face="Verdana"><u>Commentaire 
                :</u></font></td>
              <td colspan="2" valign="top"> <textarea name="commentaire" cols="18" rows="3" id="commentaire"></textarea> 
              </td>
              <td>&nbsp;</td>
            </tr>
            <tr> 
              <td height="24" colspan="5" valign="top"> <div align="center"> 
                  <input type="submit" class=bouton name="Submit" value="Ok">
                </div></td>


            </tr>
            <tr> 
              <td height="19">&nbsp;</td>
              <td width="1">&nbsp;</td>
              <td width="208">&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
          </table>
        </form>
        </div></td>
  </tr>
</table>
</body>
</html>
 
config.php
<?php

$host='localhost';
$login='test';
$pass='test';
$base='test';

?>

Eléphanteau du PHP | 37 Messages

27 avr. 2013, 18:30

Ça marche !
Merci a tout les internautes de phpfrance pour l'aide qu'ils m'ont fournit ! :wink:

Mammouth du PHP | 619 Messages

27 avr. 2013, 19:06

Bonjour,

super news peut tu mettre ton sujet en résolus

je vais aussi efface la page demo si le sujet et regle