RDV+DIAL chat illimit� dans ta r�g!
no save
Assistance
Achat
News

Forum | programmation
Formulaire d'inscription PHP et BD PHPMYADMIN
cyberpunk, le lun. 15 sept. 2008 à 15:56:21
Bonjour,
je suis legerement novice en php et je tente de créer un formulaire d'inscription afin que les gens puissent s'inscrire a une partie d'un site.
Le probleme est que je n'arrive pas a ecrire les donnée d'inscription dans la bd !

Voici le code du fichier inscription.php :

<?
function ValideLogin($QuelleLogin)
{
// SI le nom est carrément vide :
if ($QuelleLogin == "")
return "<font color='#FF0000'>Le login ne peut pas être vide</font><BR>";
// *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
// Si on arrive ici, c'est que tout va bien : Le login est syntaxiquement correct :
return "";
}

function ValidePass ($QuellePass)
{
// SI le pass est carrément vide :
if ($QuellePass == "")
return "<font color='#FF0000'>Le Pass ne peut pas être vide</font><BR>";
// *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
// Si on arrive ici, c'est que tout va bien : Le pass est syntaxiquement correct :
return "";
}

function ValideEMail($QuelleAdresse)
{
// SI l'E-Mail est carrément vide :
if ($QuelleAdresse == "")
return "<font color='#FF0000'>L'E-Mail ne peut pas être vide</font><BR>";
// Si l'E-Mail contient des caractères non autorisés dans une adresse mail correcte :
if (strspn(strtolower($QuelleAdresse), "abcdefghijklmnopqrstuvwxyz0123456789-_@.") < strlen($QuelleAdresse))
return "<font color='#FF0000'>L'E-Mail que vous avez fourni contient des caractères non-autorisés</font><BR>";
if (substr_count($QuelleAdresse , "@") == 0)
return "<font color='#FF0000'>Un E-Mail DOIT contenir le signe @</font><BR>";
if (substr_count($QuelleAdresse , "@") > 1)
return "<font color='#FF0000'>Un E-Mail ne peut contenir plus d'un signe @</font><BR>";
// *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
if ((strpos($QuelleAdresse , "@")==0) || (strpos($QuelleAdresse , "@")==strlen($QuelleAdresse)-1))
return "<font color='#FF0000'>Un E-Mail ne peut commencer ni finir avec le signe @</font><BR>";
if (($QuelleAdresse[strlen($QuelleAdresse)-3] == ".") || ($QuelleAdresse[strlen($QuelleAdresse)-4] == "."))
{}
else
return "<font color='#FF0000'>Il manque un point dans votre E-Mail, ou il est mal placé</font><BR>";

if (strlen($QuelleAdresse) < 6)
return "<font color='#FF0000'>L'E-Mail doit mesurer au moins 6 caractères</font><BR>";
if (strlen($QuelleAdresse) >= 50)
return "<font color='#FF0000'>L'E-Mail ne peut excéder 50 caractères</font><BR>";

if ((strspn($QuelleAdresse[0], "abcdefghijklmnopqrstuvwxyz") == 0) || (strspn($QuelleAdresse[strlen($QuelleAdresse)-1], "abcdefghijklmnopqrstuvwxyz") == 0))
return "<font color='#FF0000'>Le premier et le dernier catactère de l'E-Mail doit être une lettre</font><BR>";
echo strpos("ab@.ef", "@.");
echo strpos("ab@cd", "@.");

// *** PLACER ICI LES INSTRUCTIONS DE VALIDATION ***
// Si on arrive ici, c'est que tout va bien : Le mail est syntaxiquement correct :
return "";
}
?>
<html>
<head>
<title>Inscription</title>
"<font color="grey">Veuillez remplir les champs obligatoires </font><font color="red">*</font>
<link rel="SHORTCUT ICON" href="/favicon.ico"/>
<link href="styles.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<?
if (($Login <> "") && ($Pass <> "") && (ValideEMail($EMail)==""))
{
echo " Merci de vous être inscrit, "$Login" , votre inscription a bien été prise en compte. ";
exit;
}
?>

<form method="post" action="inscription.php">

<!-- Gestion du Login : -->
<? if ($EnvoyerDonnee <> "") echo ValideLogin($Login); ?>
<FONT color="white"><H1>* Votre login :</H1></FONT> <input type="text" name="Login" value=<?echo $Login;?>> <br>
<!-- Gestion du Pass : -->
<? if ($EnvoyerDonnee <> "") echo ValidePass($Pass); ?>
<FONT color="blue"><H1>* Votre pass :</H1></FONT> <input type="text" name="Pass" value=<?echo $Pass;?>> <br>

<!-- Gestion de l'E-Mail : -->
<? if ($EnvoyerDonnee <> "") echo ValideEMail($EMail); ?>
<FONT color="red"><H1>* Votre E-Mail :</H1></FONT> <input type="text" name="EMail" value=<?echo $EMail;?>> <br>

<input type="submit" name="EnvoyerDonnee" value="Envoyer">
</form>
</body>
</html>


Ensuite j'ai un fichier pour la connexion sql connect_mysql.php :

<?php

//Parametre de connection
$serveur = "";
$admin = "" ;
$pass = "";
$db = "";
$table = "tbl_user";

?>

Et un fichier insertion_mysql.php qui pose surement probleme :

<?php

if ($correct){
$mail=$_POST["email"];
$utili= $_POST["login"];

require('includes/login.php');
// on ouvre la table

$requete="SELECT * FROM member where login='$login'";
$valeur=mysql_query($requete);
if (mysql_affected_rows()<>0){
echo'login existe déjà';
echo'<br>Rentrez un autre login';
// retour en arrière
}else{

$requete="SELECT * FROM member where email='$email'";
$valeur=mysql_query($requete);
if (mysql_affected_rows()<>0){
echo'Adresse mail existe déjà';
// procédure pour récupérer le mot de passe
}else{
// nom utilisateur et adresse mail inconnue, on peut rentrer l'utilisateur
echo'Inscription utilisateur';
}
}
require('includes/login.php');
}


// on commence par vérifier si le formulaire est correctement rentré
if ($correct){
$email=$_POST["email"];
$login= $_POST["login"];
$pass=$_POST['pass'];

echo'<br>';
echo'Valeurs correctes';
echo'<br>';
require('includes/login.php');
// on ouvre la table
$requete="SELECT * FROM member where login='$login'";
$valeur=mysql_query($requete);
if (mysql_affected_rows()<>0){
echo'Login existe déjà';
echo'<br>Rentrez un autre login';
// retour en arrière
}else{
$requete="SELECT * FROM member where email='$email'";
$valeur=mysql_query($requete);
if (mysql_affected_rows()<>0){
echo 'Adresse mail existe déjà';
// procédure pour récupérer le mot de passe
}else{
// nom utilisateur et adresse mail inconnue, on peut rentrer l'utilisateur
echo 'Je rentre login';
$requete="INSERT member SET login='$login',pass='$pass',email='$email'";
$erreur=mysql_query($requete);
$erreur1=mysql_error();
print($erreur);
print($erreur1);
}
}
require('includes/login.php');
}

?>

Et enfin un dernier fichier login.php :

<?
//variable pour notre connexion

$serveur = "mysql5-4";
$admin = "cyberpuncyber" ;
$password = "HoqNRkK9";
$database = "cyberpuncyber";
$table = "tbl_user";

//Etape 1 connexion au serveur Mysql
$link = @mysql_connect($serveur,$admin,$password) or die ("connexion impossible");
//Etape 2 sélectionner une database
$success = @mysql_select_db($database,$link) or die ("connexion réussie");

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pwd from tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['pwd'] != $pass) {
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('index2.htm'); // On inclut le formulaire d'identification
exit;
}
else {
session_start();
$_SESSION['login'] = $login;

echo 'Vous etes bien logué';

{
echo "<script language='Javascript'>document.location='telechargement.php'</script>";
}
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('index2.htm'); // On inclut le formulaire d'identification
exit;
}


?>


Je vous avoue sincèrement arrivé a ce stade, je pédale un peux ds la semoule ^^ Merci d'avance pour votre aide!Configuration: Windows Vista
Firefox 3.0.1


giheller
sept. 08
Suivant
REPONSES
giheller
sept. 08
cyberpunk
sept. 08
toto
sept. 08
cyberpunk
sept. 08
Deephaser
sept. 08
cyberkevin
déc. 08
Version Web
Réalisé par RedShift
no save