Bonsoir, désolé de vous déranger encore une fois.
J'ai encore un problème, j'ai créer un espace membre, ainsi qu'un formulaire d'inscription (vraiment tout simple).
Le prob c'est quand il doit vérifier les champs, il me met que certain champs sont vides hors ils sont tous remplis.
Voici les codes :
Fichier config.php :
<?php
$sql_serveur="localhost";
$sql_user="root";
$sql_passwd="";
$sql_bdd="sub";
$limite_temps=120; //2 minutes
$max="20";
$champsrequis = "Des champs n'ont pas été remplis.<br>";
$Pseudomaxcar = "20 caractères maximum pour le pseudo.<br>";
$Pseudomincar = "3 caractères minimum pour le pseudo.<br>";
$Pseudocar = "Le pseudo doit contenir des lettres.<br>";
$Pseudospc = "Le pseudo ne doit pas comporter d'espace";
$mdpmaxcar = "10 caractères maximum pour le password.<br>";
$mdpmincar = "5 caractères minimum pour le password.<br>";
$mdpspc = "Le password ne doit pas comporter d'espace<br>";
$wrongident = "Mauvais identifiants.<br>";
$Pseudonamepris = "Ce pseudo est déjà utilisé, merci d'en choisir un autre.<br>";
$emailpris = "Cette adresse email est déjà utilisée, merci d'en choisir une autre.<br>";
function connect()
{
global $sql_serveur,$sql_user,$sql_passwd,$sql_bdd;
$connect_db = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
mysql_select_db($sql_bdd,$connect_db);
return $connect_db;
}
function close()
{
global $connect_db;
mysql_close($connect_db);
}
?>
Fichier inscription :
<link rel="stylesheet" type="text/css" href="style.css">
<?php
include("./config.php");
?>
<center><b>Formulaire d'inscription :</b></center>
<form action="verif_inscrip.php" method="post">
<table align="center" class="texte">
<tr><td>Pseudo*: </td><td><input type="text" name="Pseudo"></td></tr>
<tr><td>Mot de passe*: </td><td><input type="password" name="mdp"></td></tr>
<tr><td>Adresse e-mail*: </td><td><input type="text" name="email"></td></tr>
<tr><td>Sexe*: </td><td>
<input type="radio" name="sexe" value="f">F
<input type="radio" name="sexe" value="m">M
</td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Envoyer"></td></tr>
<tr><td colspan="2" align="center"><font size="1">* champs obligatoires</font></td></tr>
</table>
</form>
Et bien sur le fichier de vérification d'inscription (je me suis servi d'un fichier trouver sur le site) :
<?php
include('./config.php');
//vérification des données
if (empty($Pseudo) OR empty($mdp) OR empty($email) OR ($sexe))
{
echo"<b>$champsrequis</b>";
exit;
}
if (strlen($Pseudo) > 20) {
echo"<b>$Pseudomaxcar</b>";
exit;
}
if (strlen($Pseudo) < 3){
echo"<b>$Pseudomincar</b>";
exit;
}
if (strspn($Pseudo,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") == 0) {
echo"<b>$Pseudocar</b>";
exit;
}
if (strrpos($Pseudoname,' ') > 0){
echo"<b>$Pseudospc</b>";
exit;
}
if (strlen($mdp) > 10) {
echo"<b>$mdpmaxcar</b>";
exit;
}
if (strlen($mdpword) < 5){
echo"<b>$mdpmincar</b>";
exit;
}
if (strrpos($mdpword,' ') > 0){
echo"<b>$mdpspc</b>";
exit;
}
if(!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',
$email))
{
echo "Email non valide...<br>";
exit;
}
//connexion à la base de donées
$connect_db = connect();
//requete
$requete=mysql_db_query($sql_bdd,"select * from membres where Pseudo='$Pseudo'",$db) or die(mysql_error());
$num=mysql_num_rows($requete);
if($num!=0)
{
echo"<b>$Pseudonamepris<a href=\"javascript:history.back()\">retour</a></b>";
}
$requetem=mysql_db_query($sql_bdd,"select * from membres where email='$email'",$db) or die(mysql_error());
$numm=mysql_num_rows($requetem);
if($numm!=0)
{
echo"<b>$emailpris<a href=\"javascript:history.back()\">retour</a></b>";
exit;
}
else
{
$date = time();
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$smartid.=substr($lettres,(rand()%(strlen($lettres))),1);
}
$sql = "INSERT INTO membres (id, Pseudo, mdp, email, sexe, date_reg) VALUES
('$smartid',
'$Pseudo',
'$mdp',
'$email',
'$sexe',
'$date_reg')
";
mysql_query ($sql);
$expire = 365*24*3600;
setcookie("Pseudo","$Pseudo",time()+$expire,"/","");
setcookie("smartid","$smartid",time()+$expire,"/","");
session_start();
session_register('Pseudo');
session_register('smartid');
header("Location: home.php");
}
?>
Voici ma table :
CREATE TABLE `membres` (
`id_membres` int(11) NOT NULL auto_increment,
`smartid` int(11) NOT NULL default '0',
`Pseudo` varchar(20) NOT NULL default '',
`mdp` varchar(10) NOT NULL default '',
`email` varchar(100) NOT NULL default '',
`sexe` varchar(10) NOT NULL default '',
`date_reg` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id_membres`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Dois garder le champ id_membres et smartid ou juste un ?
Voila tout est la, ah oui j'oublié comment faire pour vérifier si des boutons radio sont cocher (ici le choix entre F ou M, juste un doit etre cocher).
Merci par avance de votre aide.