par
kurtspirit » 02 avr. 2013, 22:03
Salut,
voilà donc quelques nouvelles :
Avec un ami, nous avons donc créé tout ce qui est login, empêcher un user de faire deux fois le questionnaire et bien sur tester tout ça ainsi que les inscriptions dans la base de données.
Il me manque donc la création de statistiques simples... Je veux dire même des pourcentages simple me conviendrait.
Allons y , voici le script actuel :
Les tables SQL :
Code : Tout sélectionner
CREATE TABLE IF NOT EXISTS `formulaire` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`idaccount` int(11) NOT NULL,
`quest10` varchar(150) NOT NULL,
`quest11` varchar(150) NOT NULL,
`quest20` varchar(150) NOT NULL,
`quest21` varchar(150) NOT NULL,
`quest22` varchar(150) NOT NULL,
`q2other` text NOT NULL,
`quest30` varchar(150) NOT NULL,
`quest31` varchar(150) NOT NULL,
`quest32` varchar(150) NOT NULL,
`quest40` varchar(150) NOT NULL,
`quest41` varchar(150) NOT NULL,
`quest42` varchar(150) NOT NULL,
`quest43` varchar(150) NOT NULL,
`q3other` text NOT NULL,
`message` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `identification` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`civilite` varchar(5) NOT NULL,
`nom` varchar(150) NOT NULL,
`prenom` varchar(150) NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
La page ident.php en rapport donc avec l'index :
Code : Tout sélectionner
<?php
session_start();
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'test'); // nom de la base
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter ! ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$msg ="";
//je valide le form
if(isset($_POST))
{
//protection des variables
foreach ($_POST as $key => $val) {
$formval[$key] = mysql_real_escape_string($val);
}
//test si le user existe
$result = mysql_query("SELECT id FROM identification WHERE nom='".$formval['nom']."' AND prenom='".$formval['prenom']."'");
if( mysql_num_rows($result)>0)
echo $msg = "vous avez deja rempli le formulaire";
else
{
//j'ajoute le nom à la table
mysql_query("INSERT INTO identification VALUES ('','".$formval['civilite']."', '".$formval['nom']."','".$formval['prenom']."', NOW())");
//recup l'id enregistre
$id = mysql_insert_id();
//j'enregistre dans une session
$_SESSION['id']=$id;
// Puis on redirige vers le questionnaire
header('Location: ./formulaire.php');
exit();
}
}
?>
Le traitement.php :
Code : Tout sélectionner
<?php
session_start();
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'test'); // nom de la base
$DATE = date("Y/m/d H:i:s");
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$quest10 = "";
if(isset($_POST['quest10']))
{
$temp = implode(",",$_POST['quest10']);
$quest10 = mysql_real_escape_string($temp);
}
$quest11 = "";
if(isset($_POST['quest11']))
{
$temp = implode(",",$_POST['quest11']);
$quest11 = mysql_real_escape_string($temp);
}
$quest20 = "";
if(isset($_POST['quest20']))
{
$temp = implode(",",$_POST['quest20']);
$quest20 = mysql_real_escape_string($temp);
}
$quest21 = "";
if(isset($_POST['quest21']))
{
$temp = implode(",",$_POST['quest21']);
$quest21 = mysql_real_escape_string($temp);
}
$quest22 = "";
if(isset($_POST['quest22']))
{
$temp = implode(",",$_POST['quest22']);
$quest22 = mysql_real_escape_string($temp);
}
$quest30 = "";
if(isset($_POST['quest30']))
{
$temp = implode(",",$_POST['quest30']);
$quest30 = mysql_real_escape_string($temp);
}
$quest31 = "";
if(isset($_POST['quest31']))
{
$temp = implode(",",$_POST['quest31']);
$quest31 = mysql_real_escape_string($temp);
}
$quest32 = "";
if(isset($_POST['quest32']))
{
$temp = implode(",",$_POST['quest32']);
$quest32 = mysql_real_escape_string($temp);
}
$quest40 = "";
if(isset($_POST['quest40']))
{
$temp = implode(",",$_POST['quest40']);
$quest40 = mysql_real_escape_string($temp);
}
$quest41 = "";
if(isset($_POST['quest41']))
{
$temp = implode(",",$_POST['quest41']);
$quest41 = mysql_real_escape_string($temp);
}
$quest42 = "";
if(isset($_POST['quest42']))
{
$temp = implode(",",$_POST['quest42']);
$quest42 = mysql_real_escape_string($temp);
}
$quest43 = "";
if(isset($_POST['quest43']))
{
$temp = implode(",",$_POST['quest43']);
$quest43 = mysql_real_escape_string($temp);
}
{
$q2other = isset($_POST["q2other"]) ? mysql_real_escape_string($_POST['q2other']) : "";
}
$q3other = isset($_POST["q3other"]) ? mysql_real_escape_string($_POST['q3other']) : "";
{
$message = isset($_POST['message']) ? mysql_real_escape_string($_POST['message']) : "";
}
$sql = "INSERT INTO formulaire(id,idaccount,quest10,quest11, quest20, quest21, quest22, quest30, quest31, quest32, quest40, quest41, quest42, quest43, q2other, q3other, message)
VALUES ('',".$_SESSION['id'].",'$quest10','$quest11','$quest20','$quest21','$quest22','$quest30','$quest31','$quest32','$quest40','$quest41','$quest42','$quest43','$q2other','$q3other','$message')";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
session_destroy();
?>
Bon il y avait des implode à la base mais j'ai choisi de tout séparé peut être pour faire plus simple pour les statistiques...
Pourriez vous m'aider à finaliser tout ça s'il vous plais?
Merci par avance!
Salut,
voilà donc quelques nouvelles :
Avec un ami, nous avons donc créé tout ce qui est login, empêcher un user de faire deux fois le questionnaire et bien sur tester tout ça ainsi que les inscriptions dans la base de données.
Il me manque donc la création de statistiques simples... Je veux dire même des pourcentages simple me conviendrait.
Allons y , voici le script actuel :
Les tables SQL :
[code]CREATE TABLE IF NOT EXISTS `formulaire` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`idaccount` int(11) NOT NULL,
`quest10` varchar(150) NOT NULL,
`quest11` varchar(150) NOT NULL,
`quest20` varchar(150) NOT NULL,
`quest21` varchar(150) NOT NULL,
`quest22` varchar(150) NOT NULL,
`q2other` text NOT NULL,
`quest30` varchar(150) NOT NULL,
`quest31` varchar(150) NOT NULL,
`quest32` varchar(150) NOT NULL,
`quest40` varchar(150) NOT NULL,
`quest41` varchar(150) NOT NULL,
`quest42` varchar(150) NOT NULL,
`quest43` varchar(150) NOT NULL,
`q3other` text NOT NULL,
`message` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `identification` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`civilite` varchar(5) NOT NULL,
`nom` varchar(150) NOT NULL,
`prenom` varchar(150) NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;[/code]
La page ident.php en rapport donc avec l'index :
[code]<?php
session_start();
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'test'); // nom de la base
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter ! ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$msg ="";
//je valide le form
if(isset($_POST))
{
//protection des variables
foreach ($_POST as $key => $val) {
$formval[$key] = mysql_real_escape_string($val);
}
//test si le user existe
$result = mysql_query("SELECT id FROM identification WHERE nom='".$formval['nom']."' AND prenom='".$formval['prenom']."'");
if( mysql_num_rows($result)>0)
echo $msg = "vous avez deja rempli le formulaire";
else
{
//j'ajoute le nom à la table
mysql_query("INSERT INTO identification VALUES ('','".$formval['civilite']."', '".$formval['nom']."','".$formval['prenom']."', NOW())");
//recup l'id enregistre
$id = mysql_insert_id();
//j'enregistre dans une session
$_SESSION['id']=$id;
// Puis on redirige vers le questionnaire
header('Location: ./formulaire.php');
exit();
}
}
?>[/code]
Le traitement.php :
[code]<?php
session_start();
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', 'root'); // nom d utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', 'test'); // nom de la base
$DATE = date("Y/m/d H:i:s");
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$quest10 = "";
if(isset($_POST['quest10']))
{
$temp = implode(",",$_POST['quest10']);
$quest10 = mysql_real_escape_string($temp);
}
$quest11 = "";
if(isset($_POST['quest11']))
{
$temp = implode(",",$_POST['quest11']);
$quest11 = mysql_real_escape_string($temp);
}
$quest20 = "";
if(isset($_POST['quest20']))
{
$temp = implode(",",$_POST['quest20']);
$quest20 = mysql_real_escape_string($temp);
}
$quest21 = "";
if(isset($_POST['quest21']))
{
$temp = implode(",",$_POST['quest21']);
$quest21 = mysql_real_escape_string($temp);
}
$quest22 = "";
if(isset($_POST['quest22']))
{
$temp = implode(",",$_POST['quest22']);
$quest22 = mysql_real_escape_string($temp);
}
$quest30 = "";
if(isset($_POST['quest30']))
{
$temp = implode(",",$_POST['quest30']);
$quest30 = mysql_real_escape_string($temp);
}
$quest31 = "";
if(isset($_POST['quest31']))
{
$temp = implode(",",$_POST['quest31']);
$quest31 = mysql_real_escape_string($temp);
}
$quest32 = "";
if(isset($_POST['quest32']))
{
$temp = implode(",",$_POST['quest32']);
$quest32 = mysql_real_escape_string($temp);
}
$quest40 = "";
if(isset($_POST['quest40']))
{
$temp = implode(",",$_POST['quest40']);
$quest40 = mysql_real_escape_string($temp);
}
$quest41 = "";
if(isset($_POST['quest41']))
{
$temp = implode(",",$_POST['quest41']);
$quest41 = mysql_real_escape_string($temp);
}
$quest42 = "";
if(isset($_POST['quest42']))
{
$temp = implode(",",$_POST['quest42']);
$quest42 = mysql_real_escape_string($temp);
}
$quest43 = "";
if(isset($_POST['quest43']))
{
$temp = implode(",",$_POST['quest43']);
$quest43 = mysql_real_escape_string($temp);
}
{
$q2other = isset($_POST["q2other"]) ? mysql_real_escape_string($_POST['q2other']) : "";
}
$q3other = isset($_POST["q3other"]) ? mysql_real_escape_string($_POST['q3other']) : "";
{
$message = isset($_POST['message']) ? mysql_real_escape_string($_POST['message']) : "";
}
$sql = "INSERT INTO formulaire(id,idaccount,quest10,quest11, quest20, quest21, quest22, quest30, quest31, quest32, quest40, quest41, quest42, quest43, q2other, q3other, message)
VALUES ('',".$_SESSION['id'].",'$quest10','$quest11','$quest20','$quest21','$quest22','$quest30','$quest31','$quest32','$quest40','$quest41','$quest42','$quest43','$q2other','$q3other','$message')";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
session_destroy();
?>[/code]
Bon il y avait des implode à la base mais j'ai choisi de tout séparé peut être pour faire plus simple pour les statistiques...
Pourriez vous m'aider à finaliser tout ça s'il vous plais?
Merci par avance!