Pk ma requete INSERT ds mon php ne marche pas ?

Pk ma requete INSERT ds mon php ne marche pas ? - PHP - Programmation

Marsh Posté le 08-05-2004 à 23:53:20    

En fait, a partir de 6 formulaires, je souhaite remplir ma table .
code php, dans Admin.php
 
<?php
include("connexion.php" );
 
$cadre1=$_POST['cadre1'];
$cadre2=$_POST['cadre2'];
$cadre3=$_POST['cadre3'];
$cadre4=$_POST['cadre4'];
$cadre5=$_POST['cadre5'];
$cadre6=$_POST['cadre6'];
 
$Query="INSERT INTO artistes VALUES '".$cadre1."','".$cadre2."','".$cadre3."','".$cadre4."','".$cadre5."',,'".$cadre6."')";
 
?>
 
et voici le code de mes formaulare dans adminn.htm
 
<div id="Layer1" style="position:absolute;
width:267px; height:49px; z-index:2; left: 362px; top: 221px;">
     
<p align="center">font color="#FFFFFF">INSERER VOS DONNEES AVEC LES FORMULARIRES</font>
 </p>
 <p>
<input name="cadre1" type="text" value="Inserer" size="30" maxlength="40">
 </p>
 <p>
<input name="cadre2" type="text" value="Inserer" size="30" maxlength="40">
 </p>
 <p>
<input name="cadre3" type="text" value="Inserer" size="30" maxlength="40">
 </p>
 <p>
<input name="cadre4" type="text" value="Inserer" size="30" maxlength="40">
 </p>
 <p>
<input name="cadre5" type="text" value="Inserer" size="30" maxlength="40">
 </p>
 <p>
<input name="cadre6" type="text" value="Inserer" size="30" maxlength="40">
 </p>
 <p>
<input type="submit" name="submit" value="Ajouter">
 </p>
</form>
</div>
 
 
je suis a la rue ???

Reply

Marsh Posté le 08-05-2004 à 23:53:20   

Reply

Marsh Posté le 09-05-2004 à 00:09:32    

ton codage est pas très très clair.
Voici la soluce:
 

Code :
  1. <?php
  2. include("connexion.php" );
  3. $cadre1=$_POST['cadre1'];
  4. $cadre2=$_POST['cadre2'];
  5. $cadre3=$_POST['cadre3'];
  6. $cadre4=$_POST['cadre4'];
  7. $cadre5=$_POST['cadre5'];
  8. $cadre6=$_POST['cadre6'];
  9. // Ta requete corrigée
  10. $req = "INTER INTO artistes VALUES('$cadre1', '$cadre2', '$cadre3', '$cadre4', '$cadre5', '$cadre6')";
  11. // La requète conseillée:
  12. $req = "INTER INTO artistes VALUES('', '$cadre1', '$cadre2', '$cadre3', '$cadre4', '$cadre5', '$cadre6')";
  13. // Le '' correspond au champ ID dont elle sera configurée dans MySQL en auto-incrementation. Ca facilite pas mal la vie.
  14. // On envoie la requete
  15. $sql = mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
  16. // Oublie pas le fameux mysql_close() pour fermé la connexion à ta base.
  17. mysql_close();
  18. ?>

Reply

Marsh Posté le 09-05-2004 à 00:13:56    

merci ,j'vai oublier une " ) " au debut deja, faute de frappe !! ..
 
je vais corrgé et voir, sinon javai une autre question, je me souvien avoir vu a la place des "POST" , des "REQUEST", c'est quoi la différence ?
 
et pourquoi INTER au lieu de INSERT ???


Message édité par marcooo le 09-05-2004 à 00:19:11
Reply

Marsh Posté le 09-05-2004 à 11:47:25    

AlphaZone a écrit :

ton codage est pas très très clair.
Voici la soluce:
 
......


Qu'est ce qui te fait croire qu'il a besoin d'un champ id en auto-increment? (et qu'il en a un)  [:romn]


Message édité par Ayuget le 09-05-2004 à 11:47:38
Reply

Marsh Posté le 09-05-2004 à 16:52:55    

marcooo a écrit :


et pourquoi INTER au lieu de INSERT ???


 
c'est une erreur sans aucun doute

Reply

Marsh Posté le 09-05-2004 à 19:46:37    

ok je pensai bien.
j'aimerai tjs votre aide, paske j'arrive tjs pas a inserer.
j'ai refais mon code. le voici :
 
// Si action d'enregistrement
if($submit){
// connection a la base en local
$connect = mysql_connect("localhost","root","" );
 // selection de la base
mysql_select_db("apmusic", $connect);
// votre requete d'insertion
$sql="INSERT INTO artistes(Id,NomMagazine,NumPage,Date,Pays,TitreMag,Type,NomArtistes) VALUES ('', '$cadre1', '$cadre2', '$cadre3', '$cadre4', '$cadre5', '$cadre6')";
mysql_query("$sql", $connect);
// fermeture de la connection
mysql_close($connect);
echo"insertion réussie";
}
?>
 
dc la variable Submit n'est pas déclaré.
j'avais donc marqué $submit=$_POST['submit']; et ca ne marche pas non
plus, ca me marque erreur index ....
 
J'ai le message d'erruer suvant qui apparait:
Notice: Undefined variable: submit in c:\program files\easyphp1-7\www\admin2.php on line 3
 
voici le code de mes forulaires
 
<form method="post" action="admin.php">
<p>
<input type="text" name="cadre1" value="?" size="30" maxlength="40">
</p>
<p>
<input type="text" name="cadre2"value="?" size="30" maxlength="40">
</p>
<p>
<input type="text" name="cadre3"value="?" size="30" maxlength="40">
</p>
<p>
<input type="text" name="cadre4"value="?" size="30" maxlength="40">
</p>
<p>
<input type="text" name="cadre5"value="?" size="30" maxlength="40">
</p>
<p>
<input type="text" name="cadre6"value="?" size="30" maxlength="40">
</p>
<p>
<input type="submit" name="submit" value="Inserer les données">
</form>
 
je suis perdu !!!
pourtant c pas un truc compliqué ...juste entré des valeur ds des formulaires et et kils entrent dans la base de donné
 
 
 
 
 

Reply

Marsh Posté le 09-05-2004 à 22:37:53    

marcooo a écrit :

merci ,j'vai oublier une " ) " au debut deja, faute de frappe !! ..
 
je vais corrgé et voir, sinon javai une autre question, je me souvien avoir vu a la place des "POST" , des "REQUEST", c'est quoi la différence ?
 
et pourquoi INTER au lieu de INSERT ???


 
Je suis me précipité. C'est INSERT et pas INTER comme je l'ai noté bêtement.

Reply

Marsh Posté le 10-05-2004 à 08:12:05    

Pour le submit

Code :
  1. If (!empty($_POST['submit']))
  2. {$submit=$_POST['submit'];}
  3. Else
  4. {$submit='';}


 
En effet lorsque la page de ton formulaire s'ouvre, $_POST['submit'] ne correspond à rien, il faut donc lui mettre une valeur par défaut pour éviter la notice.
 
Ensuite, pour tes problèmes d'insertion :
-petit détail dans ton formulaire : pas d'espace entre
name="cadre"value="?". Je sais pas si c'est en copiant que l'espace a disparu, mais faudrait vérifier.
 
- fais un echo $sql; après ta requête^
->regarde si les valeurs sont présentes et cohérentes
->copie la dans phpmyadmin et regarde si tu obtiens un message d'erreur.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed