Bon je vais faire plus simple car je viens de relire le post et c po tres clair tout ca
Alors disons que j'ai un formulaire "inscriptions.php", une page principale "clan.php". Sur cette page principale j'utilise des pseudo frame donc pour afficher mon formulaire j'ai le lien <a href="clan.php?inscriptions">Inscriptions</a>
Là j'ai bien mon formulaire qui s'affiche no souci.
Pour gérer le traitement des données du dit formulaire, j'utilise une class Inscription, qui contient 2 méthodes, inscript et filled_out. La première est chargée de traiter les données, c à d rentrer les infos ds une base MySQL. La deuxième méthode est censer vérifier que certains qui sont obligatoires, soient remplis par l'utilisateur.
Quand je clique sur le bouton "Submit" je crée une instance de la class Inscription, j'utilise la fonction filled_out pour vérifier si les champs sont biens remplis puis je traite les données avec inscript.
Comme j'utilise des pseudo frame, ces 2 actoins s'executent sur ma page principale, seulement le pb est que la fonction filled_out bug et je me retrouve avec un message qui me dit que je n'ai pas remplis les champs du formulaire.(cf code)
Je fais un if(filled_out...) et ds le else j'ai ma fonction inscript pour traiter les données. Donc si les champs sont bien remplis je devrais soumettre les données pour traitement non ??
Bon voici le code des fonctions si vous trouvez des erreurs plizz
@+
CODE
---------------------
ds la page principale j'ai ça:
<?
include ($header);
include($page);
switch($act)
{
case "inser" : $admin_news = new news;
$admin_news->inser($titre,$contenu,$auteur,$mail,$site);
echo "<meta http-equiv=\"refresh\" content=\"0; url=http://clanwto.free.fr/clan.php?cat=a1\">\n";
break;
case "suppr" : $admin_news= new news;
$admin_news->efface($id);
echo "<meta http-equiv=\"refresh\" content=\"0; url=http://clanwto.free.fr/clan.php?cat=a1&menu=del\">\n";
break;
case "submit" : $insc = new Inscriptions;
if($insc->filled_out($nom, $passwd, $conf_pass, $mail, $ville, $motivations)){
$insc->inscript($nom, $passwd, $conf_pass, $mail, $site, $icq, $armes, $maps, $ville, $motivations, $commentaires);
}
else{
echo "<script language=javascript>\n";
echo "alert(\"Veuillez remplir tous les champs svp.\" );\n";
echo "history.back();\n";
echo "</script>";
}
break;
}
include ($footer);
?>
Les fonctions de la class Inscription:
class Inscriptions{
function dbconnect()
{
global $host;
global $user;
global $pass;
global $bdd;
// Connexion à la Base de données
$id_connect = mysql_connect($host, $user, $pass);
if(!$id_connect)
echo 'Connexion impossible !<br>' ;
// Selection de la base de données
$my_db = mysql_select_db($bdd);
if(!$my_db)
echo 'Sélection de la base impossible' ;
}
function filled_out ($nom, $passwd, $conf_pass, $mail, $ville, $motivations)
{
if (!isset ($nom) || $nom == "" ){
return 0;
}
if (!isset ($passwd) || $pass == "" ){
return 0;
}
if (!isset ($conf_pass) || $conf_pass == "" ){
return 0;
}
if (!isset ($ville) || $ville == "" ){
return 0;
}
if (!isset ($mail) || $mail == "" ){
return 0;
}
if (!isset ($motivations) || $motivations == "" ){
return 0;
}
return 1;
}
function inscript ($nom, $pass, $conf_pass, $mail, $site, $icq, $armes, $maps, $ville ,$motivations, $commentaires)
{
$pass = md5 ($pass);
$conf_pass = md5 ($conf_pass);
// connexion à la base de données
dbconnect ();
$sql = "SELECT * FROM membres WHERE m_pseudo = '$nom'";
$result = mysql_query($sql);
$ligne=mysql_fetch_array($result);
if($ligne["m_pseudo"] == $nom){
//Le pseudo existe déjà
echo "<script language=javascript>\n";
echo "alert(\"Le pseudo existe déjà. Veuillez saisir un nouveau pseudo svp.\" );\n";
echo "</script>";
}
else{
$motivations = nl2br ($motivations);
$commentaires = nl2br ($commentaires);
$temps = date("Y-m-d" );
$nom = htmlspecialchars ($nom);
$mail = htmlspecialchars ($mail);
$site = htmlspecialchars ($site);
$icq = htmlspecialchars ($icq);
$armes = htmlspecialchars ($armes);
$maps = htmlspecialchars ($maps);
$ville = htmlspecialchars ($ville);
$config = htmlspecialchars ($config);
$sql = "Insert into membres (m_pseudo, m_pass, m_mail, m_icq, m_date_insc, m_ville, m_config, m_commentaires, m_motivations)";
$sql .= "values ('$nom', '$pass', '$mail', '$icq', '$temps', '$ville', '$config', '$commentaires', '$motivations'
";
$result = mysql_query ($sql);
if($result==false){
mysql_close();
echo "Problème";
return 1;
}
else {
mysql_close();
return 0;
}
}
}
}
---------------
Q.G Tutoriaux ici