Insérer dans une BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insérer dans une BDD

par charabia » 17 mai 2006, 10:37

de rien ;) n'oublies pas le résolu :)

par béka » 17 mai 2006, 10:35

oui je viens de m'apercevoir que mon id n'était pas en auto_increment
j'ai honte !! :oops: :oops:
Je vous ai fait perdre votre temps pour rien... lol
Désolé tout le monde et marci quand meme.

par charabia » 17 mai 2006, 10:33

Oki je comprend mieux.

Tu as deux solutions :
- soit tu fais pour que ton ID soit unique.
- soit tu le met en primary key auto-increment.
Après tu n'auras plus de souci.

par béka » 17 mai 2006, 10:31

lorsque j'éxecute la commande directement sur phpMyadmin, il me met qu'il y a un duplicata de l'id zéro.
Comment résoudre ceci car mon probleme vient de là

par béka » 17 mai 2006, 10:28

oui je ne peux insérer qu'une seule fois
après, les autres je ne peux insérer.
Purquoi?

par charabia » 17 mai 2006, 10:27

Il n'y a que le premier qui fonctionne et après plus rien avec ton code final ??

par béka » 17 mai 2006, 10:24

je viens de m'apercevoir que quand je vide ma table et que j'insére le premier et ben ca marche.

Alors voici désormais mon code :
		<?php
/*********************************************************************/
/*				  Ajout des informations dans la base			     */
/*********************************************************************/

$db = mysql_connect("localhost", "root");
mysql_select_db("hippolyte",$db);


	$nom_entreprise=$_POST['nom_entreprise'];
	$adresse_entreprise=$_POST['adresse_entreprise'];
	$ville_entreprise=$_POST['ville_entreprise'];
	$cp_entreprise=$_POST['cp_entreprise'];
	$email_entreprise=$_POST['email_entreprise'];
	$tel_entreprise=$_POST['tel_entreprise'];
	$fax_entreprise=$_POST['fax_entreprise'];
	$site_entreprise=$_POST['site_entreprise'];
	$login_entreprise=$_POST['login_entreprise'];
	$password_entreprise=$_POST['password_entreprise'];
	$mail_hippo= "[email protected]";

if (!ereg("^.+@.+\\..+$",$email_entreprise)) //on vérifie la validité de l'email
{
	echo "<p class=\"Texte2\">Votre email n'est pas valide, corrigez, svp <br></p>";
	echo "<center><p class=\"Texte2\"><a href=\"../inscription.php\">Recommencer</a></p></center>"; 
}
else 
{
	if (!ereg("^[0-9 -.]{10,10}",$tel_entreprise)) //on vérifie la validité du numéro de tel
	 {
		echo "<p class=\"Texte2\">Votre numéro de téléphone n'est pas valide, corrigez, svp <br></p>";
		echo "<center><p class=\"Texte2\"><a href=\"../inscription.php\">Recommencer</a></p></center>"; 
	 }
}

//on vérifie si le login choisi existe déja
$sql = "SELECT login_entreprise FROM entreprise WHERE login_entreprise='$login_entreprise'";
$resultat = mysql_query($sql);
$num = mysql_num_rows($resultat);
		if ($num > 0)
		{
		echo "login deja utilisé";
			if (!headers_sent()) 
			{
			header ("Location: inscription.php");
			exit();
			}
		}
		else {
//on insère dans la base
$query = "INSERT INTO entreprise(id,nom_entreprise,adresse_entreprise,ville_entreprise,cp_entreprise,email_entreprise,tel_entreprise,fax_entreprise,site_entreprise,login_entreprise,password_entreprise) VALUES('','$nom_entreprise','$adresse_entreprise','$ville_entreprise','$cp_entreprise','$email_entreprise','$tel_entreprise','$fax_entreprise','$site_entreprise','$login_entreprise','$password_entreprise')";

//echo $query;
$result = mysql_query($query);

mysql_close($db);
echo "<p class=\"Texte2\"><img src=\"../../graphisme/icones/cle.jpg\">vos données ont bien été ajoutées dans la base, vous recevrez un mail vous récapitulant toutes les informations.</p>";

//envoyer un mail au nouveau membre
$message = "Un nouveau compte de membre viens d'être créé pour vous.\n
Voila les renseignements saisis : \n
Nom de la société : $nom_entreprise\n
Adresse de votre société : \n$adresse_entreprise\n$cp_entreprise\n$ville_entreprise\n
Numéro de téléphone et de fax : $tel_entreprise ; $fax_entreprise\n
Votre site Internet : $site_entreprise\n\n
Votre identificateur et votre mot de passe sont : \n\n\t$login_entreprise\n\t$password_entreprise.\n
Nous appécions l'intérêt que vous portez à notre établissement.\n
Si vous avez des questions, n'hésitez pas à nous contacter à l'adresse $mail_hippo.";

$sujet = "Nouveau compte au lycée Hippolyte Fontaine";

$adresse = $email_entreprise;

$entete = "De : [email protected]";

$mailsend=mail("$adresse","$sujet","$message","$entete");
}?>

Je ne comprends plus rien là.

par béka » 17 mai 2006, 10:22

oui j'ai le meme probleme avec les deux

par charabia » 17 mai 2006, 10:12

Tu as essayé des 2 sortes de requêtes que je t'ai donné ? Même problème avec les deux ?

par béka » 17 mai 2006, 10:11

oui et là ca marche quand j'insère directement depuis la phpMyadmin

par charabia » 17 mai 2006, 10:08

C'est bizarre, c'est pourtant un varchar...

tu as essayer d'intégrer directement à partir de phpMyAdmin un numéro commençant par 03....?

par béka » 17 mai 2006, 09:57

je crois savoir d'ou vien le probleme
j'ai essayer d'insérer de deux maniere :
avec un numéro de tel qui commence par 13.80.... et un numéro de tel qui commence par 03.80...
Dans le premier cas, les données sont ajoutées dans la base, dans le second, rien n'est inséré.
Comment résoudre ce probleme?

par charabia » 17 mai 2006, 09:48

1er test :
$query = "INSERT INTO entreprise(id,nom_entreprise,adresse_entreprise,ville_entreprise,cp_entreprise,email_entreprise,tel_entreprise,fax_entreprise,site_entreprise,login_entreprise,password_entreprise) VALUES('','$nom_entreprise','$adresse_entreprise','$ville_entreprise','$cp_entreprise','$email_entreprise','$tel_entreprise','$fax_entreprise','$site_entreprise','$login_entreprise','$password_entreprise')";

2è test :
$query = "INSERT INTO entreprise(id,nom_entreprise,adresse_entreprise,ville_entreprise,cp_entreprise,email_entreprise,tel_entreprise,fax_entreprise,site_entreprise,login_entreprise,password_entreprise) VALUES('','".$_POST['nom_entreprise']."','".$_POST['adresse_entreprise']."','".$_POST['ville_entreprise']."','".$_POST['cp_entreprise']."','".$_POST['email_entreprise']."','".$_POST['tel_entreprise']."','".$_POST['fax_entreprise']."','".$_POST['site_entreprise']."','".$_POST['login_entreprise']."','".$_POST['password_entreprise']."')";

par skyangel » 17 mai 2006, 09:45

autant pour moi par habitude je le mets :)

par béka » 17 mai 2006, 09:43

il ne me semble pas que le champs password dans mysql_connect soit obligatoire car dans mes autrees pages, je ne l'utilise pas