dragoon25

Inscris le 06/02/2014 à 16:56
  • Nombre de sujets
    1
  • Nombre de messages
    10
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

dragoon25
le 13/02/2014 à 11:18
Formulaire avec envoi BDD
J'ai mis ceci et les champs ne sont plus en erreur.

$email = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["email"])));
dragoon25
le 13/02/2014 à 09:17
Formulaire avec envoi BDD
Ok pour la sécurité je comprend bien.

J'ai intégrer ton code LupusMic mais ca me bascule en erreur sur les champs email et téléphone.

$societe = mysqli_real_escape_string(htmlentities(strip_tags(trim(stripcslashes($_POST["societe"])))));
[code

Y'a til quelque chose à rajouter justement pour ce type de données ou les valeur de contrôle ''preg_match'' suffise pour la sécurité. ??


//Valeurs des contrôles
$cont_email = '/([\w\-]+\@[\w\-]+\.[\w\-]+)/';
$cont_tel = '#^0[1-9][0-9]{8}$#';
dragoon25
le 12/02/2014 à 09:14
Formulaire avec envoi BDD
Merci ninonicochan j'ai fais la modif comme ceci :

<input name="societe" size="22" value="<?php echo @$_POST['societe'];?>" type="text"/>


Merci Morganpog , ta modif est plus claire et plus carrée que ce que j'avais fais.

<?php if(!empty($succes)) { echo $succes;die("</center></body></html>");} ?>


Pour la sécurisation , j'avais fais cela mais retirer en attendant de terminer le formulaire. ( étant sur mon serveur nas je risque rie npour le moment )

$societe = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["societe"])));
dragoon25
le 11/02/2014 à 17:59
Formulaire avec envoi BDD
je partage le code complet , il reste encore à l'alléger.

Qu'en pensez vous ?

<html>

<head>
<title>Formulaire de TEST</title>
<link href="styles.css" media="all" rel="stylesheet" type="text/css" />

</head>

<?php
//Valeurs du serveur SQL
$host = '127.0.0.1';
$user = 'root';
$pass = 'admin';



//Si l'action de validation a été faite
if(isset($_POST["Valider"]))
{

// On récupère les valeurs du formulaire
$societe = strtoupper($_POST ['societe']);
$nom = strtoupper($_POST['nom']);
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];

//on vérifie les champs pour voir si ils ne sont pas vides
if (empty($_POST['societe']) ) {
$Erreur_societe = '<span class="erreur">Société manquante.</span>';
}
if
(empty($_POST['nom']) ) {
$Erreur_nom = '<span class="erreur">Nom manquant.</span>';
}
if
(empty($_POST['prenom']) ) {
$Erreur_prenom = '<span class="erreur">Prénom manquant.</span>';
}
if
(empty($_POST['email']) )
{
$Erreur_email = '<span class="erreur">Email manquant.</span>';
}
elseif (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$Erreur_email1 = '<span class="erreur">Email invalide (@).</span>';
}
if
(empty($_POST['telephone']) )
{
$Erreur_telephone = '<span class="erreur">Téléphone manquant.</span>';
}
elseif (!preg_match("#^0[1-9][0-9]{8}$#", $telephone))
{
$Erreur_telephone1 = '<span class="erreur">Téléphone invalide (0xxxxxxxxx).</span>';
}

else{

}

// si tout les champs sont remplis (non vides), on continue.
if (($societe != "") && ($nom != "") && ($prenom != "") && ($email != "") && ($telephone != "") && preg_match("#^0[1-9][0-9]{8}$#", $telephone) && preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))

{


// on se connecte au serveur
$link=mysql_connect ($host,$user,$pass);
if (!$link) {
die ('Erreur de connection au serveur '.mysql_error() ) ;
}

// on se connecte à la base de données
$db=mysql_select_db('Stammtisch');
if (!$db)
{
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

// on enregistre les valeurs
$table=mysql_query("insert into inscriptions (societe, nom, prenom, email, telephone) values ( '$societe' , '$nom' , '$prenom' , '$email' , '$telephone');");

//Si il y a une erreur
if (!$table) {
die('<p style="color:#ff0000;">Requête invalide :</p>' . mysql_error());
}
else
{
$succes = '<span class="succes">Merci de votre inscription.</span>';
}
}
}





?>

<body>
<center><img border="0" src="IMAGE.jpg" width="422" height="72"></font><br><br>


<?php if($succes !=""){ echo $succes;die("</center></body></html>");} ?>


<form id="formulaire" action="index.php" method="post"/>
<p><font color="#FFFFFF">Société:</font>
<input name="societe" size="22" value="<?echo $societe;?>" type="text"/><br />
<?php echo $Erreur_societe;?>
</p>

<p><font color="#FFFFFF">Nom:</font>
<input name="nom" size="22" value="<?echo $nom;?>" type="text"/><br />
<?php echo $Erreur_nom;?>
</p>

<p><font color="#FFFFFF">Prénom:</font>
<input name="prenom" size="22" value="<?echo $prenom;?>" type="text"/><br />
<?php echo $Erreur_prenom;?>
</p>

<p><font color="#FFFFFF">Email:</font>
<input name="email" size="22" value="<?echo $email;?>" type="text"/><br />
<?php echo $Erreur_email; echo $Erreur_email1;?>
</p>

<p><font color="#FFFFFF">Téléphone:</font>
<input name="telephone" size="22" value="<?echo $telephone;?>" type="text"/><br />
<?php echo $Erreur_telephone; echo $Erreur_telephone1; ?>
</p>

<br />

<input name="Valider" value="Valider" type="submit"/>




</form>
</center>
</body>
</html>
dragoon25
le 10/02/2014 à 20:06
Formulaire avec envoi BDD
J'ai donc rajouter un contrôle sur chaque champ comme ceci :

<?php 
if (empty($_POST['societe']) ) {
$Erreur_societe = '<p style="color:#ff0000;">Société manquante.</p>';
} if
(empty($_POST['nom']) ) {
$Erreur_nom = '<p style="color:#ff0000;">Nom manquant.</p>';
} if
(empty($_POST['prenom']) ) {
$Erreur_prenom = '<p style="color:#ff0000;">Prénom manquant.</p>';
} if
(empty($_POST['email']) ) {
$Erreur_email = '<p style="color:#ff0000;">Email manquante.</p>';
} if
(empty($_POST['telephone']) ) {
$Erreur_telephone = '<p style="color:#ff0000;">Téléphone manquant.</p>';

} else{

if (($societe <> "") && ($nom <> "") && ($prenom <> "") && ($email <> "") && ($telephone <> ""))
{
$succes = '<span class="succes">Merci de votre inscription.';


php ?>


J'aimerais faire disparaitre le formulaire une fois $succes affiché au lieu de l'afficher en haut de celui ci.

Une idée ?
dragoon25
le 10/02/2014 à 20:03
Formulaire avec envoi BDD
Je suis parti sur votre aide et j'ai reussi à faire cela et ca fonctionne .

<input name="societe" size="22" value="<?echo $societe?>" type="text"/><br />
<?php echo $Erreur_societe;?>
dragoon25
le 10/02/2014 à 09:55
Formulaire avec envoi BDD
Bonjour niconicochan

je viens de tester ta solution mais je n'ai rien qui s'affiche.

Pourrais tu m'indiquer ou je dois les intégrer ??

Moi j'ai fais ceci :

<input name="societe" size="22" value="<?php echo @_$POST['societe'] ?>"" type="text"/>
dragoon25
le 07/02/2014 à 15:06
Formulaire avec envoi BDD
Bon j'avance mais si quelqu'un pourrais m'aider maintenant car je sèche.

SI je clique sur ''Valider'' j'ai bien mon info d'erreur mais ca m'efface les champs déjà rempli...

Une idée ??

<html>

<head>
<title>Formulaire de TEST</title>
</head>

<?php
//Valeurs du serveur SQL
$host = '127.0.0.1';
$user = 'root';
$pass = 'admin';



//Si l'action de validation a été faite
if(isset($_POST["Valider"]))
{

// On récupère les valeurs du formulaire
$societe = $_POST ['societe'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];

//on vérifie les champs pour voir si ils ne sont pas vides
if(empty($societe) && empty($nom) && empty($prenom) && empty($email) && empty($telephone)) {
$alerte ='<p style="color:#ff0000;">Info manquante.</p>';
} else{

// on se connecte à la base de données
$link=mysql_connect ($host,$user,$pass);
if (!$link) {
die ('Erreur de connection au serveur '.mysql_error() ) ;
}

$db=mysql_select_db('Stammtisch');
if (!$db)
{
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

// on enregistre les valeurs
$table=mysql_query("insert into inscriptions (societe, nom, prenom, email, telephone) values ( '$societe' , '$nom' , '$prenom' , '$email' , '$telephone');");

//Si il y a une erreur
if (!$table) {
die('<p style="color:#ff0000;">Requête invalide :</p>' . mysql_error());
}
else {
$alerte1 ='<p style="color:#ff0000;">SUCCES.</p>';
}

}
}

?>

<body bgcolor="#000000">
<center><img border="0" src="IMAGE.jpg" width="422" height="212"></font><table border="1" width="588" cellspacing="0" cellpadding="0"><br><br>
<form action="index2.php" method="post">

<p><font color="#FFFFFF">Société:</font><br/>
<input name="societe" size="22" value="" type="text"/>
</p>

<p><font color="#FFFFFF">Nom:</font><br/>
<input name="nom" size="22" value="" type="text"/>
</p>

<p><font color="#FFFFFF">Prénom:</font><br/>
<input name="prenom" size="22" value="" type="text"/>
</p>

<p><font color="#FFFFFF">Email:</font><br/>
<input name="email" size="22" value="" type="text"/>
</p>

<p><font color="#FFFFFF">Téléphone:</font><br/>
<input name="telephone" size="22" value="" type="text"/>
</p>

<input name="Valider" value="Valider" type="submit"/>
<input name="Effacer" value="Effacer" type="reset"/>

<?php
echo $alerte;
echo $alerte1;
?>

</form>
</center>
</body>
</html>


Merci !!
dragoon25
le 07/02/2014 à 11:51
Formulaire avec envoi BDD
J'ai refais le code et réussi à ne plus envoyer des infos vides.

Par contre mes erreurs ($alerte) ne s'affichent pas et je ne trouve pas pourquoi.

<html>

<head>
<title>Formulaire de TEST</title>
</head>

<body bgcolor="#000000">
<center><img border="0" src="IMAGE.jpg" width="422" height="212"></font><table border="1" width="588" cellspacing="0" cellpadding="0"><br><br>
<form action="index.php" method="post">
<?php echo $alerte0;?>
<p><font color="#FFFFFF">Pseudo:</font><br/>
<input name="pseudo" size="22" value="" type="text"/>
</p>
<?php echo $alerte1;?>
<p><font color="#FFFFFF">Email:</font><br/>
<input name="email" size="22" value="" type="text"/>
</p>
<?php echo $alerte2;?>
<p><font color="#FFFFFF">Commentaire:</font><br/>
<input name="commentaire" size="22" value="" type="text"/>
</p>

<input name="Valider" value="Valider" type="submit"/>
<input name="Effacer" value="Effacer" type="reset"/>

</form>
</center>
<br>
<br>
</body>
</html>

<?php
//Valeurs du serveur SQL
$host = '127.0.0.1';
$user = 'root';
$pass = 'admin';
$base = 'Stammtisch';

//Si l'action de validation a été faite
if(isset($_POST["Valider"]))
{
// on se connecte à la base de données
mysql_connect("$host","$user","$pass");
mysql_select_db("$base") or die('Impossible de s&eacute;lectionner une base
de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es de
connections.');

//On attribue une variable pour chaque champ du formulaire
//pseudo
$lechamp0 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["pseudo"])));
//email
$lechamp1 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["email"])));
//commentaire
$lechamp2 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["commentaire"])));

//on vérifie les champs 1 par 1 pour voir si ils ne sont pas vides
if (empty($lechamp0)){
$alerte0 ='<p style="color:#ff0000;">Erreur Pseudo.</p>';
}
else if(empty($lechamp1)){
$alerte1 ='<p style="color:#ff0000;">Erreur Email.</p>';
}
else if(empty($lechamp2)){
$alerte2 ='<p style="color:#ff0000;">Erreur Commentaire</p>';
}
//Si tout est ok
else
{
// on enregistre les données
$result = mysql_query(" INSERT INTO inscriptions VALUES
(
'',
'$lechamp0',
'$lechamp1',
'$lechamp2'
)
");
//Si il y a une erreur
if (!$result) {
die('<p style="color:#ff0000;">Requête invalide :</p>' . mysql_error());
}
else {
echo '<p style="color:#ff0000;">SUCCES.</p>';
}
//on ferme if(isset($_POST["Valider"]))
}
}
?>
dragoon25
le 06/02/2014 à 17:02
Formulaire avec envoi BDD
Bonjour

Je viens vers vous pour un peu d'aide au niveau d'un formulaire qui envoie ces données dans une base de données.

Le formulaire fonctionne et envoie bien les infos dans ma base ( déjà pas mal )

Mais j'ai 2 soucis :

- dès que j'arrive sur la page, cela envoi des infos vides sur ma BDD ( dc on se connecte et on rempli
le formulaire, ca me fais une ligne vid eet une ligne pleine)

- je n'arrive pas à faire un contrôle de champ vide, testé avec empty et isset mais ca ne fonctionne pas.


Merci d'avance !

-------------------ma page php--------------------------------

<html>

<head>
<title>Formulaire de TEST</title>
</head>

<body>
<center><img border="0" src="IMAGE.jpg" width="422" height="212"></font><table border="1" width="588" cellspacing="0" cellpadding="0"><br><br>
<form method="post" action="index.php">
Société : <input type="text" name="societe" size="12"><br>
Nom : <input type="text" name="nom" size="12"><br>
Prénom : <input type="text" name="prenom" size="12"> <br>
Email : <input type="text" name="email" size="12"> <br>
Téléphone : <input type="text" name="telephone" size="12"> <br><br>
<input type="submit" value="Envoyer">
<input type="reset" value="Effacer">
</form>
</center>
<br>
<br>
</body>
</html>

<?php
//Valeurs du serveur SQL
$host = '127.0.0.1';
$user = 'root';
$pass = 'admin';

// On récupère les valeurs du formulaire
$societe = $_POST ['societe'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];

if(!empty($societe)) {
echo 'Société est vide';
} else{
echo 'Société n\'est pas vide';}



/*
print("$societe, $nom, $prenom, $email, $telephone");
*/


$link=mysql_connect ($host,$user,$pass);
if (!$link) {
die ('Erreur de connection au serveur '.mysql_error() ) ;
}

$db=mysql_select_db('Stammtisch');
if (!$db)
{
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

//Tables
$table=mysql_query("insert into inscriptions (societe, nom, prenom, email, telephone) values ( '$societe' , '$nom' , '$prenom' , '$email' , '$telephone');");
if (!$table)
{
die ('ERREUR'.mysql_error() ) ;
}

?>

--------------------------------------------------------------------------------
LoadingChargement en cours