Besoin d'aide pour organiser le code

ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011 - 10 avril 2011 à 23:43
ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011 - 12 avril 2011 à 23:31
Bonsoir,

voila j'ai fait un code en php pour valider un formulaire d'inscription mais il ne fonctionne pas, je c'est que je m'y suis pris mal, mais je n'arrive pas à comprendre comment organisé le code pour qu'il fasse se que je li demande, voilà le code :
<?php 

//check et validation du MAIL.
if(isset($_POST['inscr_mail']) and filter_var($_POST['inscr_mail'], FILTER_VALIDATE_EMAIL)) // si le mail d'inscription est reçu en POST sur la page
{ 

$mail = $_POST['inscr_mail'];//debut de verification du mail, attribution du POST à une variable

$valeur_checkmail $bdd->prepare('SELECT user_mail FROM user WHERE user_mail ?') or die(print_r($bdd->errorInfo()));
$valeur_checkmail->execute(array($mail));
$valeur_checkmail_count= $valeur_checkmail->rowCount(array($mail));// check si doublon

if (!$valeur_checkmail_count == 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le mail existe déjà 

'; 

}
else //mail ok
{
$mail = $_POST['inscr_mail'];
$valeur_mail = true;
return $mail;	
    }
}
//fin du check et validation du MAIL.

//insertion du PASS.
if(isset($_POST['inscr_pass'])) // si le mail d'inscription est réçu en POST sur la page
{ 
$pass = $_POST['inscr_log'];
$valeur_pass = true;
return $pass;
}
//fin de l'insertion PASS.

//check et insertion du TELEPHONE.
if(isset($_POST['inscr_phone'])) // si le TELEPHONE d'inscription est réçu en POST sur la page
{ 

$phone = $_POST['inscr_phone'];//debut de verification du TELEPHONE, attribution du POST à une variable

$valeur_checkphone $bdd->prepare('SELECT user_phone FROM user WHERE user_phone ? WHERE user_mail = '.$mail.'') or die(print_r($bdd->errorInfo()));
$valeur_checkphone->execute(array($phone));
$valeur_checkphone_count= $valeur_checkphone->rowCount(array($phone));// check si doublon

if (!$valeur_checkphone_count == 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le numéro de téléphone existe déjà 

'; 

 }
else //inscription du TELEPHONE dans la base
{
$phone = $_POST['inscr_phone'];
$valeur_phone = true;
return $phone;
}
}
//fin du check et validation du numéro de TELEPHONE.	

//insertion du de la localisation.
if(isset($_POST['inscr_loc'])) // si la localisation est réçu en POST sur la page
{ 
$loc = $_POST['inscr_loc'];//debut d'insertion dde la localisation, attribution du POST à une variable
$valeur_loc = true;
return $loc;
}
//fin de la validation de la localisation.

//insertion dans la base
if($valeur_mail true and $valeur_pass true or $valeur_phone = true or $valeur_loc = true) 
{

$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :phone, :loc)') or die(print_r($bdd->errorInfo()));
$valeur_inscr->execute(array('mail' => $mail,
     'pass' => $pass,
 'phone' => $phone,
 'loc' => $loc,
));
echo ' Bienvenue nouveau membre';
}

?>


voilà en espérant que vous pourrez m'aider.

7 réponses

ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011
11 avril 2011 à 00:19
enfaite c bon j'ai réorganiser mon code, plus de message d'erreur, par contre, rien ne s’écrit dans ma base

voila le code
<?php

//check et validation du MAIL.
if(isset($_POST['inscr_mail']) and filter_var($_POST['inscr_mail'], FILTER_VALIDATE_EMAIL)) // si le mail d'inscription est reçu en POST sur la page
{ 

$mail = $_POST['inscr_mail'];//debut de verification du mail, attribution du POST à une variable

$valeur_checkmail $bdd->prepare('SELECT user_mail FROM user WHERE user_mail ?') or die(print_r($bdd->errorInfo()));
$valeur_checkmail->execute(array($mail));
$valeur_checkmail_count= $valeur_checkmail->rowCount(array($mail));// check si doublon

if (!$valeur_checkmail_count == 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le mail existe déjà 

'; 

}
else //mail ok
{
//validation du PASS.
if(isset($_POST['inscr_pass'])) // si le pass est réçu en POST sur la page
{ 
$pass = $_POST['inscr_log'];
$valeur_pass = true;

if(isset($_POST['inscr_phone'])) // si le TELEPHONE d'inscription est réçu en POST sur la page
{ 
$phone = $_POST['inscr_phone'];//debut de verification du TELEPHONE, attribution du POST à une variable
$valeur_checkphone $bdd->prepare('SELECT user_phone FROM user WHERE user_phone ?') or die(print_r($bdd->errorInfo()));
$valeur_checkphone->execute(array($phone));
$valeur_checkphone_count= $valeur_checkphone->rowCount(array($phone));// check si doublon

if (!$valeur_checkphone_count == 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le numéro de téléphone existe déjà 

'; 
 }
else //telephone ok
{
$phone = $_POST['inscr_phone'];
$valeur_phone = true;

//validationde la localisation.
if(isset($_POST['inscr_loc'])) // si la localisation est réçu en POST sur la page
{ 
$loc = $_POST['inscr_loc'];//attribution du POST à une variable
$valeur_loc = true;

//insertion dans la base
if($valeur_mail true , $valeur_pass true , $valeur_phone = true , $valeur_loc = true) 
{
$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :phone, :loc)') or die(print_r($bdd->errorInfo()));
$valeur_inscr->execute(array('mail' => $mail,
 'pass' => $pass,
 'phone' => $phone,
 'loc' => $loc,
));
echo ' Bienvenue nouveau membre';
}
//fin insertion dans la base
}
//fin de la validation de la localisation.

}
}
//fin du check et validation du numéro de TELEPHONE.

}
}//fin de validation du PASS.	
}
//fin du check et validation du MAIL.

?>
0
ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011
11 avril 2011 à 00:19
correction : if($valeur_mail = true and $valeur_pass = true and $valeur_phone = true and $valeur_loc = true)
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
11 avril 2011 à 08:25
Je n'ai hélas pas le temps de regarder le code d'un point de vue algorithmique mais il y a pas mal de bons reflexes en développement:
1. Les commentaires, c'est si rare dans le code de la plupart des gens
2. Requetes préparées, bonne notion même si dans ce cas ce n'est pas vraiment nécessaire, mais c'est un bon point.
Quant à
if($valeur_mail true and $valeur_pass true and $valeur_phone = true and $valeur_loc = true)

transforme tes '=' en '=='..
Je verrai si je peux repasser voir ton code et t'aider, mais j'ai hélas peu de temps.
Bonne continuation..
S.
0
ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011
11 avril 2011 à 16:17
voila j'ai essayé ça et ma base n'est toujours incrémenter des données

//check et validation du MAIL.
if(isset($_POST['inscr_mail']) and filter_var($_POST['inscr_mail'], FILTER_VALIDATE_EMAIL)) // si le mail d'inscription est reçu en POST sur la page
{ 

$mail = $_POST['inscr_mail'];//debut de verification du mail, attribution du POST à une variable

$valeur_checkmail $bdd->prepare('SELECT user_mail FROM user WHERE user_mail ?') or die(print_r($bdd->errorInfo()));
$valeur_checkmail->execute(array($mail));
$valeur_checkmail_count= $valeur_checkmail->rowCount(array($mail));// check si doublon

if (!$valeur_checkmail_count == 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le mail existe déjà 

'; 

}
else //mail ok
{
//validation du PASS.
if(isset($_POST['inscr_pass'])) // si le pass est réçu en POST sur la page
{ 
$pass = $_POST['inscr_log'];
$valeur_pass = true;

if(isset($_POST['inscr_phone'])) // si le TELEPHONE d'inscription est réçu en POST sur la page
{ 
$phone = $_POST['inscr_phone'];//debut de verification du TELEPHONE, attribution du POST à une variable
$valeur_checkphone $bdd->prepare('SELECT user_phone FROM user WHERE user_phone ?') or die(print_r($bdd->errorInfo()));
$valeur_checkphone->execute(array($phone));
$valeur_checkphone_count= $valeur_checkphone->rowCount(array($phone));// check si doublon

if (!$valeur_checkphone_count == 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le numéro de téléphone existe déjà 

'; 
 }
else //telephone ok
{
$phone = $_POST['inscr_phone'];
$valeur_phone = true;

//validationde la localisation.
if(isset($_POST['inscr_loc'])) // si la localisation est réçu en POST sur la page
{ 
$loc = $_POST['inscr_loc'];//attribution du POST à une variable
$valeur_loc = true;

//insertion dans la base
if($valeur_mail true and $valeur_pass true or $valeur_phone == true or $valeur_loc == true) {
try{
$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :phone, :loc)');
$valeur_inscr->execute(array('mail' => $mail,
 'pass' => $pass,
 'phone' => $phone,
 'loc' => $loc,
));
echo ' Bienvenue nouveau membre';

}//fn du try

catch (Exception $con_e) {

die('Erreur : '.$con_e->getMessage());
 }//fin du catch

} 
//fin insertion dans la base
}
//fin de la validation de la localisation.

}
}
//fin du check et validation du numéro de TELEPHONE.

}
}//fin de validation du PASS.	
}
//fin du check et validation du MAIL.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011
11 avril 2011 à 16:37
elle est ou la fonction "edit" pour les post?

j'ai fait quelque modification encore :

<?php 

//check et validation du MAIL.
if(isset($_POST['inscr_mail']) and filter_var($_POST['inscr_mail'], FILTER_VALIDATE_EMAIL)) // si le mail d'inscription est reçu en POST sur la page
{ 

$mail = $_POST['inscr_mail'];//debut de verification du mail, attribution du POST à une variable

$valeur_checkmail $bdd->prepare('SELECT user_mail FROM user WHERE user_mail ?') or die(print_r($bdd->errorInfo()));
$valeur_checkmail->execute(array($mail));
$valeur_checkmail_count= $valeur_checkmail->rowCount();// check si doublon

if ($valeur_checkmail_count != 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le mail existe déjà 

'; 

}
else //mail ok
{
//validation du PASS.
if(isset($_POST['inscr_pass'])) // si le pass est réçu en POST sur la page
{ 
$pass = $_POST['inscr_pass'];
$pass = htmlentities($pass);
$valeur_pass = true;

if(isset($_POST['inscr_phone'])) // si le TELEPHONE d'inscription est réçu en POST sur la page
{ 
$phone = $_POST['inscr_phone'];//debut de verification du TELEPHONE, attribution du POST à une variable
$valeur_checkphone $bdd->prepare('SELECT user_phone FROM user WHERE user_phone ?') or die(print_r($bdd->errorInfo()));
$valeur_checkphone->execute(array($phone));
$valeur_checkphone_count= $valeur_checkphone->rowCount();// check si doublon

if ($valeur_checkphone_count != 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le numéro de téléphone existe déjà 

'; 
 }
else //telephone ok
{
$phone = $_POST['inscr_phone'];
$phone = htmlentities($phone);
$valeur_phone = true;

//validationde la localisation.
if(isset($_POST['inscr_loc'])) // si la localisation est réçu en POST sur la page
{ 
$loc = $_POST['inscr_loc'];//attribution du POST à une variable
$valeur_loc = true;

//insertion dans la base
if($valeur_mail true and $valeur_pass true or $valeur_phone == true or $valeur_loc == true) {
try{
$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :phone, :loc)');
$valeur_inscr->execute(array('mail' => $mail,
 'pass' => $pass,
 'phone' => $phone,
 'loc' => $loc,
));
echo ' Bienvenue nouveau membre';

}//fn du try

catch (Exception $con_e) {

die('Erreur : '.$con_e->getMessage());
 }//fin du catch

} 
//fin insertion dans la base
}
//fin de la validation de la localisation.

}
}
//fin du check et validation du numéro de TELEPHONE.

}
}//fin de validation du PASS.	
}
//fin du check et validation du MAIL.

?>


le problème est qu'il n'y a pas d'écriture dans la base, ça n'affiche pas d'erreur php, par contre j'ai testé si le check des doublon fonctionnait et ça marche, maintenant pourquoi ça n'implémente pas ma base ?

pourriez vous m'éclairer svp
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
11 avril 2011 à 21:38
bonsoir
as tu déjà essayé sans rien en mettent des valeurs par defaut
$pass ="kchose" ...
tu as oublié les : dans execute (array
<?php
try{
$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :phone, :loc)');
$valeur_inscr->execute(array(':mail' => $mail,
':pass' => $pass,
':phone' => $phone,
':loc' => $loc,
));
echo ' Bienvenue nouveau membre';

}//fn du try

catch (Exception $con_e) {

die('Erreur : '.$con_e->getMessage());
}//fin du catch

}
?>
0
ravid87 Messages postés 8 Date d'inscription vendredi 11 mars 2011 Statut Membre Dernière intervention 23 avril 2011
12 avril 2011 à 23:31
voila j'ai finalement réussis, en exportant le traitement dans un HTML de traitement

voila le code :
<?php 
include('../includes/connectiondb_inc.php');
//check et validation du MAIL.
if(isset($_POST['inscr_mail']) and filter_var($_POST['inscr_mail'], FILTER_VALIDATE_EMAIL)) // si le mail d'inscription est reçu en POST sur la page
{ 

$mail = $_POST['inscr_mail'];//debut de verification du mail, attribution du POST à une variable

$valeur_checkmail $bdd->prepare('SELECT user_mail FROM user WHERE user_mail ?') or die(print_r($bdd->errorInfo()));
$valeur_checkmail->execute(array($mail));
$valeur_checkmail_count= $valeur_checkmail->rowCount();// check si doublon

if ($valeur_checkmail_count != 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le mail existe déjà 

'; 

}
else //mail ok
{
echo 'mail ok';
//validation du PASS.
if(isset($_POST['inscr_pass'])) // si le pass est réçu en POST sur la page
{ 
$pass = $_POST['inscr_pass'];
$pass = htmlentities($pass);
$valeur_pass = true;
echo 'pass ok';

//validationde la localisation.
if(isset($_POST['inscr_loc'])) // si la localisation est réçu en POST sur la page
{ 
$loc = $_POST['inscr_loc'];//attribution du POST à une variable
$loc = htmlentities($loc);
$valeur_loc = true;
echo 'location ok';

if(isset($_POST['inscr_phone']) and (!empty($_POST['inscr_phone']))) // si le TELEPHONE d'inscription est réçu en POST sur la page
{ 
$phone = $_POST['inscr_phone'];//debut de verification du TELEPHONE, attribution du POST à une variable
$valeur_checkphone $bdd->prepare('SELECT user_phone FROM user WHERE user_phone ?') or die(print_r($bdd->errorInfo()));
$valeur_checkphone->execute(array($phone));
$valeur_checkphone_count= $valeur_checkphone->rowCount();// check si doublon

if ($valeur_checkphone_count != 0) 
{// si doublon positif on renvoi un message d'erreur
echo ' le numéro de téléphone existe déjà 

'; 
}
else //telephone ok
{
$phone = $_POST['inscr_phone'];
$phone = htmlentities($phone);
echo 'telephone ok';
//insertion dans la base si téléphone existe
if($valeur_mail true and $valeur_pass true or $valeur_loc == true) 
{
try
{
$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :phone, :loc)');
$valeur_inscr->execute(array('mail' => $mail,
 'pass' => $pass,
 'phone' => $phone,
 'loc' => $loc,
));
echo ' Bienvenue nouveau membre';

}//fn du try

catch (Exception $con_e) 
{

die('Erreur : '.$con_e->getMessage());
}//fin du catch
} 

}//fin insertion dans la base si téléphone ok						
}//fin du check et validation du numéro de TELEPHONE.

if (isset($_POST['inscr_phone']) and (empty($_POST['inscr_phone']))) 
{//insertion dans la base si téléphone inexistant
if($valeur_mail true and $valeur_pass true or $valeur_loc == true) 
{
try
{
$valeur_inscr = $bdd->prepare('INSERT INTO user(user_mail, user_pass, user_phone, user_loc) VALUES(:mail, :pass, :loc)');
$valeur_inscr->execute(array('mail' => $mail,
 'pass' => $pass,
 'loc' => $loc,
));
echo ' Bienvenue nouveau membre noublier pas de fournir un numéro de tél si vous voulez recevoir les deals par sms';

}//fn du try

catch (Exception $con_e) 
{

die('Erreur : '.$con_e->getMessage());
}//fin du catch
} 

}//fin insertion dans la base si téléphone inexistant
}//fin de la validation de la localisation	
}//fin de validation du PASS.	
}//fin du check et validation du MAIL.
}	



?>
0
Rejoignez-nous