cs_batoule80
Messages postés13Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention23 février 2010
-
14 août 2008 à 20:30
cs_batoule80
Messages postés13Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention23 février 2010
-
16 août 2008 à 02:20
bonjour,
j'ai beau cherché sur les forum une solution à mon problème , mais en vain
<tt style="font-size: 9pt;"><?php
// Inclut le fichier de fonctions pour cette application.
require_once('fonctions.php');
// création des variables aux noms abrégés
$nom = isset($_POST[ 'nom' ]) ? $_POST[ 'nom' ] : '';
$prénom = isset($_POST['prénom']) ? $_POST['prénom'] : '';
$email = isset($_POST[ 'email']) ? $_POST[ 'email'] : '';
$login = isset($_POST[ 'login']) ?$_POST[ 'login'] : '';
$passwd = isset($_POST[ 'passwd']) ?$_POST[ 'passwd'] : '';
$passwd2 = isset($_POST[ 'passwd2']) ? $_POST[ 'passwd2'] : '';
$num_téléphone = isset($_POST[ 'num_téléphone'])? $_POST[ 'num_téléphone' ]: '';
$num_portable = isset($_POST[ 'num_portable' ])? $_POST[ 'num_portable' ]: '';
$poste_interne = isset($_POST[ 'poste_interne'])? $_POST[ 'poste_interne' ]: '';
$fax = isset($_POST[ 'fax' ])? $_POST[ 'fax' ]: '';
$adresse = isset($_POST[ 'adresse']) ? $_POST[ 'adresse' ]: '';
$division =isset($_POST[ 'division']) ? $_POST[ 'division' ]: '';
$profession =isset($_POST[ 'profession']) ? $_POST[ 'profession' ]: '';
$loginAttempts =isset($_POST[ 'loginAttempts']) ? $_POST[ 'loginAttempts' ]: '';
// Démarrage d'une session dont nous aurons besoin plus tard.
session_start();
// Vérifie les formulaires remplis.
if((isset($_POST["apply"]))||(isset($_POST["save"])))
{
$verif=true;
// connexion à la base
$result = db_connect();
if (!$result)
die(mysql_error());
// selection de la base de données
$select = @mysql_select_db($dbName,$result);
if (!$select)
die(mysql_error());
$res=mysql_query("select * from hd_utilisateur where username='$login'");
$num=mysql_num_rows($res);
if (!$num)
die(mysql_error());
if (!filled_out($HTTP_POST_VARS))
{
$verif=false;
echo ('Attention, veuillez remplir tout les champs ');
//on recharge la page :le meme formulaire : appliquer cette instruction ailleurs
header("Location:add_user.php") ;
}
// L'adresse e-mail n'est pas valide.
elseif (!valid_email($email))
{
$verif=false;
echo ('Entrez une adresse e-mail valide!!');
header("Location:add_user.php") ;
}
elseif($num >=1)
{
$verif=false;
echo "Désolé, ce login existe déja choisir un autre login S.V.P ";
}
//Les mots de passe ne sont pas identiques.
elseif ($passwd != $passwd2)
{
$verif=false;
echo ('Les mots de passes ne correspondent pas');
header("Location:add_user.php") ;
}
// Vérifie si la longueur du nom d'utilisateur est ok.
elseif (strlen($login)>16)
{
$verif=false;
echo ('Votre nom d\'utilisateur doit etre inférieur à 16 caractères');
//exit;
}
elseif (!ereg ("[a-zA-Z]", $nom, $regs) or ereg ("[0-9]", $nom, $regs))
{
$verif=false;
echo "Format de nom invalide : $nom";
}
elseif (!ereg ("[a-zA-Zéè'à]", $prenom, $regs) or ereg ("[0-9]", $prenom, $regs))
{
$verif=false;
echo "Format de prenom invalide : $prenom";
}
elseif (!ereg ("[0-9/-:+-]", $num_téléphone, $regs) or ereg ("[a-zA-Z]", $num_téléphone, $regs))
{
$verif=false;
echo "Format de telephone invalide : $num_téléphone";
}
elseif (!ereg ("[0-9/-:+-]", $num_portable, $regs) or ereg ("[a-zA-Z]", $num_portable, $regs))
{
$verif=false;
echo "Format de telephone invalide : $num_portable";
}
elseif (!ereg ("[0-9/-:+-]", $poste_interne, $regs) or ereg ("[a-zA-Z]", $poste_interne, $regs))
{
$verif=false;
echo "Format de telephone invalide : $poste_interne";
}
elseif (!ereg ("[0-9/-:+-]", $fax, $regs) or ereg ("[a-zA-Z]", $fax, $regs))
{
$verif=false;
echo "Format de fax invalide : $fax";
}
elseif(strlen($adresse)>255)
{
$verif=false;
echo "Format d'adresse invalide : elle a dépassé 255 caractères";
}
//Aucun champ n'est vide, on peut enregistrer dans la table
else
{
if($verif)
{
// connexion à la base
$result = db_connect();
if (!$result)
die(mysql_error());
// selection de la base de données
$select = @mysql_select_db($dbName,$result);
if (!$select)
die(mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO hd_utilisateur (nom, prenom,email, username, passwd,telephone,user_mobile,poste_interne,fax,adresse,division,profession) VALUES('$nom','$prénom','$email','$login','$passwd','$num_téléphone','$num_portable','$poste_interne','$fax ', '$adresse ','$division','$profession ')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !');
mysql_close();
// on affiche le résultat pour le visiteur
echo 'Vos données ont été ajoutées.';
} }
}
?>
</tt>
et le fichier fonctions.php :
<tt style="font-size: 9pt;"><?php
/*
-------------------------------------------------------------------------------------
*Fonction qui établit la connexion à la base de données MySQL
-----------------------------------------------------------------------------------------
*/
Function db_connect()
{
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbName = "db_helpdesk";
$result = @mysql_connect($dbHost, $dbUser, $dbPass) ;
$select= @mysql_select_db($dbName,$result);
if (!$select)
die (mysql_error());
if (!$result)
die(mysql_error());
else
return $result;
}
/*
-------------------------------------------------------------------------------------
*Fonction qui vérifie que le formulaire a bien été rempli
-----------------------------------------------------------------------------------------
*/
function filled_out($form_vars)
{
// Teste si chaque variable contient une valeur.
foreach ($form_vars as $key => $value)
{
if (!isset($key)||($value == ''))
return false;
}
return true;
}
/*
-------------------------------------------------------------------------------------
*Fonction qui vérifie que l'adresse e-mail est valide
-----------------------------------------------------------------------------------------
*/
function valid_email($address)
{
// Vérifie que l'adresse e-mail est valide.
if (ereg('^[a-zA-Z0-9 \._\-]+@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]+$', $address))
return true;
else
return false;
}
?>
</tt>
le fichier create.php qui permet de créer ma base et mes tables :
<tt style="font-size: 9pt;"> <?php
$link = "CREATE DATABASE db_helpdesk";
$res = mysql_query($link) or die(mysql_error());
mysql_select_db("db_helpdesk");
$link = "
CREATE TABLE `hd_utilisateur` (
`id_user` int(11) NOT NULL auto_increment PRIMARY KEY,
`nom` text NOT NULL,
`prenom` text NOT NULL,
`email` varchar(255) NOT NULL default '',
`username` varchar(16) NOT NULL,
`passwd` varchar(50) NOT NULL default '',
`telephone` varchar(50) NOT NULL default '',
`user_mobile` varchar(50) NOT NULL default '',
`poste_interne` varchar(50) NOT NULL default '',
`fax` varchar(50) NOT NULL default '',
`adresse` varchar(200) NOT NULL default '',
`profession` text NOT NULL,
`fk_division` int(11),
`user_type` text NOT NULL
) AUTO_INCREMENT=1;" ;
$res = mysql_query($link) or die(mysql_error());
$link = "
CREATE TABLE `hd_division` (
`id_division` int(11) NOT NULL auto_increment PRIMARY KEY,
`division` text NOT NULL,
`fk_centre_cout` int(11)
) AUTO_INCREMENT=1;";
$res = mysql_query($link) or die(mysql_error());
$link = "
CREATE TABLE `hd_centre_cout` (
`id_centre_cout` int(11) NOT NULL auto_increment PRIMARY KEY
) AUTO_INCREMENT=1;";
$res = mysql_query($link) or die(mysql_error());
$link = "
CREATE TABLE `hd_incident` (
`id_incident` int(11) NOT NULL auto_increment PRIMARY KEY,
`fk_type_incident` varchar(200) NOT NULL default '',
`fk_sous_type_incident` varchar(200) NOT NULL default '',
`fk_statut` int(11),
`fk_user` int(11),
`Date_creation` date,
`Date_échéance` date ,
`Date_fermeture` date ,
`objet` varchar(200) NOT NULL default '',
`message` varchar(200) NOT NULL
)AUTO_INCREMENT=1;";
$res = mysql_query($link) or die(mysql_error());
$link = "
CREATE TABLE `hd_statut` (
`id_statut` int(11) NOT NULL auto_increment PRIMARY KEY,
`nom_statut` text NOT NULL,
`description` text NOT NULL
)AUTO_INCREMENT=1;";
$res = mysql_query($link) or die(mysql_error());
$link = "
CREATE TABLE `hd_type_incident` (
`id_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY,
`description` text NOT NULL,
`fk_user` int(11)
)AUTO_INCREMENT=1;";
$res = mysql_query($link) or die(mysql_error());
$link = "
CREATE TABLE `hd_sous_type_incident` (
`id_sous_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY,
`description` text NOT NULL,
`fk_type_incident` int(11),
`fk_user` int(11)
)AUTO_INCREMENT=1;";
$res = mysql_query($link) or die(mysql_error());
if ($res)
die("Base de données créee avec succés . SVP supprimez ce fichier pour des raisons de sécurité .
");
?>
</tt>
une question qui m'intrigue concernant les clés étrangères , pourai-je
ajouter le type innodb dans le fichier create.php pour bien les gérer ?
si oui au niveau de quelles tables ? est_ce celles contenant les clés
étrangères ? et comment l'ajouter ?
désolée si vous trouvez mon code pas trés propre " je suis novice"
merci pour tous ceux qui prondront le temps pour lire mon message et de me dire où j'ai commis des erreurs