Bonsoir,
alors mon problème va être long à expliquer mais je me lance :
Résumé : Je viens de créé un site à partir d'un cms connu de personne qui n'a même pas de nom, et un forum. Je viens de créé une BDD commune au forum et au site de façon à ce que l'identification sur le site serve aussi pour le forum. Donc j'ai en gros fusionné la table ddl_users (site) avec la table ddl_membres (forum) pour former une nouvelle ddl_membres contenant toutes les colonnes necessaires !
voici la structure :
Ensuite voici la structure de ma page d'identification :
[/code]
suite...
et voici le fichier contenant la fonction checkuser :
Modifié par yrul (21 Oct 2009 - 22:11)
alors mon problème va être long à expliquer mais je me lance :
Résumé : Je viens de créé un site à partir d'un cms connu de personne qui n'a même pas de nom, et un forum. Je viens de créé une BDD commune au forum et au site de façon à ce que l'identification sur le site serve aussi pour le forum. Donc j'ai en gros fusionné la table ddl_users (site) avec la table ddl_membres (forum) pour former une nouvelle ddl_membres contenant toutes les colonnes necessaires !
voici la structure :
CREATE TABLE IF NOT EXISTS `ddl_membres` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pseudo` varchar(64) NOT NULL DEFAULT '',
`mdp` varchar(32) NOT NULL DEFAULT '',
`mail` varchar(128) NOT NULL DEFAULT '',
`level` enum('1','2','3') NOT NULL DEFAULT '1',
`show_mail` enum('1','0') DEFAULT '0',
`rating` varchar(200) NOT NULL DEFAULT '',
`activation` varchar(100) NOT NULL DEFAULT '',
`status` enum('1','0') DEFAULT '0',
`uploads` varchar(100) DEFAULT '0',
`mbs` varchar(100) DEFAULT '0',
`list` enum('0','1') DEFAULT '0',
`nbpost` int(11) NOT NULL DEFAULT '0',
`valid` tinyint(4) NOT NULL DEFAULT '0',
`temps` int(11) NOT NULL DEFAULT '0',
`tempspost` int(11) NOT NULL DEFAULT '0',
`rang` tinyint(4) NOT NULL DEFAULT '0',
`avatar` varchar(128) NOT NULL DEFAULT '',
`localisation` varchar(64) NOT NULL DEFAULT '',
`www` varchar(128) NOT NULL DEFAULT '',
`mp` int(11) NOT NULL DEFAULT '0',
`co` int(11) NOT NULL DEFAULT '0',
`gmt` decimal(4,1) NOT NULL DEFAULT '0.0',
`he` tinyint(4) NOT NULL DEFAULT '0',
`sign` varchar(255) NOT NULL DEFAULT '',
`signaff` tinyint(4) NOT NULL DEFAULT '0',
`rangspec` tinyint(4) NOT NULL DEFAULT '0',
`afflist` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
Ensuite voici la structure de ma page d'identification :
<?
session_start();
include "includes/var.inc.php";
$section = $_GET['section'];
$username = $_SESSION['username'];
$user_sql = mysql_query("SELECT * FROM $users_table WHERE username='$username'");
$user_info = mysql_fetch_array($user_sql);
$user_id = $user_info['id'];
$user_level = $user_info['level'];
$user_uploads_num = $user_info['uploads'];
$user_uploads_size = $user_info['mbs'];
[/code]
suite...
<? if(!$username){
echo "<form method=\"post\" action=\"index.php?section=checkuser\">\n";
echo "<table width=\"190\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"5\">\n";
echo "<tr>\n";
echo "<td width=\"31\"><span class=\"small_font\">Identifiant</span></td>\n";
echo "<td align=\"center\" width=\"159\"><input type=\"text\" name=\"username\" class=\"input_text_small\" /></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><span class=\"small_font\">Pass</span></td>\n";
echo "<td align=\"center\"><input type=\"password\" name=\"password\" class=\"input_text_small\" /></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td colspan=\"2\"><a href=\"index.php?section=lost_pw\"><img src=\"images/lost_pw.png\" border=\"0\" alt=\"lost_pw\" /></a> <input type=\"image\" value=\"Login\" src=\"images/login_button.png\" /></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</form>\n";
} else {
....
et voici le fichier contenant la fonction checkuser :
<?
$section = $_GET['section'];
switch($section){
default:
echo "<form method=\"post\" action=\"index.php?section=checkuser\">\n";
echo "<table width=\"100\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"5\">\n";
echo "<tr>\n";
echo "<td width=\"31\"><span class=\"small_font\">Identifiant</span></td>\n";
echo "<td width=\"69\"><input type=\"text\" name=\"username\" class=\"input_small\" /></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><span class=\"small_font\">Pass</span></td>\n";
echo "<td><input type=\"password\" name=\"password\" class=\"input_small\" /></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td colspan=\"2\" ><a href=\"index.php?section=lost_pw\"><span class=\"very_small\">(Forgot Passwords)</span></a><input type=\"submit\" value=\"LogIn\" class=\"button\" /></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</form>\n";
; break;
case "checkuser":
$username = $_POST['username'];
$password = $_POST['password'];
if((!$username) || (!$password)){
echo "<script language='Javascript'>
alert('Veuillez remplir tous les champs !');
location.href = 'index.php';
</script>";
}
$pw = md5($password);
$sql = mysql_query("SELECT * FROM $users_table WHERE pseudo='$username' AND mdp='$pw' AND status='1'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
foreach( $row AS $key => $val ){
$$key = stripslashes( $val );
}
session_register('username');
$_SESSION['userame'] = $username;
echo "<script language='Javascript'>
alert('Identification reussie !');
location.href = 'index.php';
</script>"; ; break;
}
} else {
echo "<script language='Javascript'>
alert('Vous n'etes pas identifie !');
location.href = 'index.php';
</script>";
} ; break;
}
?>
Modifié par yrul (21 Oct 2009 - 22:11)