[PHP - PDO] Problème accès sécurisé à un site via bdd
Posté : 12 sept. 2010, 17:48
Bonjour,
je me permet de vous contacter car j'essaye de protéger un site par login/pass via une base de donnée.
Pour cela je me suis basé sur un script réalisé par Didier sur site ASP-PHP.net.
Voici ce qui marche :
+suppression d'un membre
+connexion d'un membre
+modification d'un membre
Voici ce qui ne marche pas :
+ajout d'un membre
+envoie d'un mail : quand je recoit un mail après la demande d'inscription d'un nouveau membre, je ne reçoit pas ce qu'il a rentré mais les données du premier membre que j'ai supprimé (là je ne comprends vraiment pas pourquoi...)
Si vous voulez regarder, ce sera plus parlant : <lien>http://www.delamotte-bouloumie.fr/10/admin.php</lien> (log : Hugues1 pass : 2609881)
Si vous voulez savoir ce qui se passe avec le mail, inscrivez vous sur le site et demandez moi le mail reçu. ^^
Enfin voici les différents codes :
_conn.php
<code>
<?
try
{
$bdd = new PDO('mysql:host=****.amen.fr;dbname=****', '****', '****');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
</code>
_mail.php
<code>
<?
function doMail($msg,$ID) {
try
{
$bdd = new PDO('mysql:host=****.amen.fr;dbname=****', '****', '****');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$n="delamotte-bouloumie.fr";
$n2="Administrateur";
$m="****";
$url="http://".getenv("SERVER_NAME").getenv("SCRIPT_NAME");
$tete = "From: ".$n." <".$m.">\n";
$tete .= "Reply-To: ".$m."\n";
$sujet="Adhesion au site ".$n;
// fiche concernée
$SQL = "SELECT * FROM exo_pass";
if($ID)
$SQL .= " WHERE ID=" . $ID;
else // ou la dernière
$SQL .= " ORDER BY ID DESC LIMIT 1";
echo gettype($bdd);
$result = $bdd->query($SQL);
$val = $result->fetch();
$nT=$val["login"];
$mT=$val["email"];
$result->closeCursor();
// messages
switch($msg) {
case "new":
$body="Demande soumise par :\n\n";
$body.="Login : ".$nT."\n";
$body.="Email : ".$mT."\n";
$body.="\n".$url."\n";
// destinataires
$tete .= "Bcc: ".$m;
$SQL = "SELECT email FROM exo_pass";
$SQL .= " WHERE nivo < 3";
$result = $bdd->query($SQL);
while($val = $result->fetch())
if($val["email"]!="")
$tete .= ",".$val["email"];
$tete .= "\n";
$result->closeCursor();
break;
case "ok":
$body="Votre demande a ete acceptee !!!\n\n";
$body.="Login : ".$nT."\n";
$body.="Passe : ".$val["pass"]."\n";
$body.="Acces : ".$url."\n";
$body.="\nCordialement,\n".$n2."\n".$m."\n";
}
if(getenv("SERVER_NAME")=="localhost")
echo "En local le message ne peut pas partir !...";
else
return mail($nT." <".$mT.">",$sujet,$body,$tete);
}
?>
</code>
_protect.php
<code>
<? // Libellés des niveaux
$nivo=array("WebMaster","Collaborateur","Membre");
// On lit le cookie
$protect=$passe10;
// si vide >> niveau 4
if($protect=="") $protect="4";?>
<center>
<? // si identifié >> lien vers page Admin
if($protect<"4") {
?><A href="admin.php">Page
<? echo $nivo[$protect-1];
// sinon >> Devenir membre
} else {?><A href="admin.php?membre=new"
>Devenir membre<?
} ?></A> -
<A href="page1.php">Page 1</A> -
<A href="page2.php">Page 2</A> -
<A href="page3.php">Page 3</A>
</center><hr>
</code>
admin.php
<code>
<? include("_conn.php");
include("_mail.php");
if(isset($pass))
{
// === DECONNEXION ===
if($pass=="no")
{
setcookie("passe10");
setcookie("passe10id");
}
// === IDENTIFICATION ===
elseif(isset($login))
{
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE login='$login'";
$SQL .= " AND pass='$pass'";
$result = $bdd->query($SQL);
if($val = $result->fetch())
{
// on stocke le niveau/id dans un cookie
setcookie("passe10",$val["nivo"]);
setcookie("passe10id",$val["ID"]);
$result->closeCursor();
}
else
{
$temp = "?membre=new";
$result->closeCursor();
}
}
// on valide le cookie
Header("Location: ".$PHP_SELF.$temp);
}
// === NOUVELLE FICHE ===
elseif(isset($newlogin) && isset($newpass))
{
// Vérifie la non existence du login
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE login = '$newlogin'";
$result = $bdd->query($SQL);
// si login inconnu, ajoute la fiche
if($result->rowCount()==0)
{
$SQL = "INSERT INTO exo_pass(login,pass,nivo)";
$SQL .= " VALUES('$newlogin','$newpass',$newtype)";
$result = $bdd->query($SQL);
// sinon messages d'erreur
}
else
{
echo "<b>Login déjà pris !</b>";
}
}
elseif(isset($newtype))
{
echo "<b>Formulaire incomplet !</b>";
// === INSCRIPTION ===
}
elseif(($login!="") && ($newmail!=""))
{
// Vérifie la non existence du login
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE login = '$login'";
$result = $bdd->query($SQL);
if($result->rowCount()==0)
{
$SQL = "INSERT INTO exo_pass(login,nivo,email)";
$SQL .= " VALUES('$login',4,'$newmail')";
$result = $bdd->query($SQL);
//$result->closeCursor();
$OKinsc=true;
// envoi msg
doMail("new","");
// sinon messages d'erreur
}
else
{
$result->closeCursor();
echo "<b>Choisissez un autre login !</b>";
}
}
include("_protect.php");
if($protect<"3")
{
// === DESTRUCTION ===
if(isset($del))
{
$SQL = "DELETE FROM exo_pass";
$SQL .= " WHERE ID=" . $del;
$result = $bdd->query($SQL);
$result->closeCursor();
// === VALIDATION ===
}
elseif(isset($OK))
{
$SQL = "UPDATE exo_pass SET pass=email";
$SQL .= ",nivo=3 WHERE ID=" . $OK;
$result = $bdd->query($SQL);
$result->closeCursor();
// envoi msg
doMail("ok",$OK);
}
}
// === MODIFICATION ===
if(isset($modlogin) && isset($modpass))
{
$SQL = "UPDATE exo_pass SET";
$SQL .= " login='" . $modlogin;
$SQL .= "',pass='" . $modpass;
$SQL .= "',nivo=" . $modtype;
$SQL .= ",email='" . $modmail;
$SQL .= "' WHERE ID=" . $modid;
$result = $bdd->query($SQL);
$result->closeCursor();
}
// === CONSTRUCTION DE LA PAGE ===
// LIEN DE DECONNEXION
if($protect<"4")
{
?>
<A href="?pass=no">Déconnecter</A><br>
<? // FORMULAIRE D'EDITION DE LA FICHE
if($protect<>"1")
{
$SQL = "SELECT * FROM exo_pass WHERE ID=";
$SQL .= $passe10id;
$result = $bdd->query($SQL);
$val = $result->fetch();
$result->closeCursor();
?>
<form method="post" action="admin.php">
<table bgcolor=#EEEEFF><tr>
<input type="hidden" name="modid"
value="<?echo $val["ID"];?>">
<input type="hidden" name="modlogin"
value="<?echo $val["login"];?>">
<input type="hidden" name="modtype"
value="<?echo $val["nivo"];?>">
<td>Password<br>
<input type="password" name="modpass"
value="<?echo $val["pass"];?>"></td>
<th><b><?echo $val["login"];?></b><br>
<input type="submit" value="Modifier"></th>
</tr><tr><td colspan=2>E-mail<br>
<input size=40 name="modmail"
value="<?echo $val["email"];?>"></td>
</tr></table>
</form>
<? }
// SI NIVEAU 1 OU 2
if($protect<"3") { ?>
<br><table bgcolor=#EEEEFF>
<tr><th colspan=3 nowrap
>Liste des mots de passe</th></tr>
<form method="post" action="admin.php"><tr>
<tr bgcolor=#DDDDEE>
<td> LOGIN </td>
<td> PASSWORD </td>
<th><input type="submit" value="Ajouter"></th>
</tr><tr>
<td><input name="newlogin"></td>
<td><input name="newpass"></td>
<td><select name="newtype">
<? for($i=$protect;$i<sizeof($nivo);$i++) { ?>
<option value="<? echo ($i+1)."\">".$nivo[$i];?>
</option>
<? } ?>
</select></td>
</tr></form>
<? // LISTE DES LOGIN/PASS
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE nivo > " . $protect;
$SQL .= " AND nivo < 4 ORDER BY nivo,login";
$result = $bdd->query($SQL);
while ($val = $result->fetch())
{ ?>
<tr>
<? // Edition/supression si niveau 1
if($protect=="1")
{
?>
<form method="post" action="admin.php">
<input type="hidden" name="modid"
value="<? echo $val["ID"]; ?>">
<input type="hidden" name="modmail"
value="<? echo $val["email"]; ?>">
<td nowrap><input name="modlogin"
value="<? echo $val["login"]; ?>"></td>
<td nowrap><input name="modpass"
value="<? echo $val["pass"]; ?>"></td>
<td><select name="modtype">
<?for($i=1;$i<sizeof($nivo);$i++) { ?>
<option value="<?echo $i+1;?>"
<?if($i+1==$val["nivo"])
echo "SELECTED"; ?>
><?echo $nivo[$i]; ?></option>
<? } ?>
</select></td>
<td><input type="submit" value="OK"></td>
</form>
<td>
<A href="?del=<? echo $val["ID"]; ?>">del</A>
</td>
<? // sinon affichage simple
} else { ?>
<td nowrap><? echo $val["login"]; ?></td>
<td nowrap><? echo $val["pass"]; ?></td>
<td><? echo $nivo[$val["nivo"]-1]; ?></td>
<? }
// Lien pour envoyer le login/pass
if($val["email"]!="") { ?>
<td nowrap><A href="mailto:<?
echo $val["email"];
echo "?subject=Mot de passe";
echo "&body=Login: " . $val["login"];
echo " - Pass: " . $val["pass"];
echo " a entrer sur la page http://";
echo $SERVER_NAME;
echo $SCRIPT_NAME;
?>">SEND Login/Pass</A></td>
<? } ?>
</tr>
<? }
$result->closeCursor();
// LISTE DES MEMBRES EN ATTENTE
?><tr><th colspan=3 nowrap
>Membres en attente</th></tr>
<? $SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE nivo = 4 ORDER BY login";
$result = $bdd->query($SQL);
while ($val = $result->fetch()) { ?>
<tr>
<td><? echo $val["login"]; ?></td>
<td colspan=2>
<A href="mailto:<? echo $val["email"]; ?>"
><? echo $val["email"]; ?></A></td>
<td><A href="?OK=<? echo $val["ID"]; ?>"
>OK</A></td>
<td><A href="?del=<? echo $val["ID"]; ?>"
>del</A></td>
</tr>
<? } $result->closeCursor();?>
</table>
<? }
}
// sinon si MESSAGE D'INSCRIPTION
elseif($OKinsc) { ?>
<b>Si votre inscription est acceptée </b>
<br>Vous recevrez votre mot de passe par E-mail
<? // FORMULAIRE D'IDENTIFICATION/INSCRIPTION sinon
} else {
if($membre=="new") { ?>
Pour devenir membre, veuillez remplir le formulaire
<? } ?>
<form method="post" action="admin.php">
<table><tr>
<td>Login<br><input name="login"></td>
<?if($membre=="new") { ?>
<td><br>
<input type="Submit" value="Inscription">
</td></tr><tr><td colspan=2>E-mail<br>
<input size=40 name="newmail">
<? } else { ?>
<td>Password<br>
<input type="password" name="pass">
</td><td><br>
<input type="Submit" value="Entrer">
<? } ?>
</td></tr></table>
</form>
<? }
// Déconnexion
?>
</code>
Si quelqu'un pouvait trouver mon problème ce serait vraiment cool car je dois vous l'avouer je suis dépassé...
En tout cas merci d'avoir pris le temps de me lire.
Lalalallal
je me permet de vous contacter car j'essaye de protéger un site par login/pass via une base de donnée.
Pour cela je me suis basé sur un script réalisé par Didier sur site ASP-PHP.net.
Voici ce qui marche :
+suppression d'un membre
+connexion d'un membre
+modification d'un membre
Voici ce qui ne marche pas :
+ajout d'un membre
+envoie d'un mail : quand je recoit un mail après la demande d'inscription d'un nouveau membre, je ne reçoit pas ce qu'il a rentré mais les données du premier membre que j'ai supprimé (là je ne comprends vraiment pas pourquoi...)
Si vous voulez regarder, ce sera plus parlant : <lien>http://www.delamotte-bouloumie.fr/10/admin.php</lien> (log : Hugues1 pass : 2609881)
Si vous voulez savoir ce qui se passe avec le mail, inscrivez vous sur le site et demandez moi le mail reçu. ^^
Enfin voici les différents codes :
_conn.php
<code>
<?
try
{
$bdd = new PDO('mysql:host=****.amen.fr;dbname=****', '****', '****');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
</code>
_mail.php
<code>
<?
function doMail($msg,$ID) {
try
{
$bdd = new PDO('mysql:host=****.amen.fr;dbname=****', '****', '****');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$n="delamotte-bouloumie.fr";
$n2="Administrateur";
$m="****";
$url="http://".getenv("SERVER_NAME").getenv("SCRIPT_NAME");
$tete = "From: ".$n." <".$m.">\n";
$tete .= "Reply-To: ".$m."\n";
$sujet="Adhesion au site ".$n;
// fiche concernée
$SQL = "SELECT * FROM exo_pass";
if($ID)
$SQL .= " WHERE ID=" . $ID;
else // ou la dernière
$SQL .= " ORDER BY ID DESC LIMIT 1";
echo gettype($bdd);
$result = $bdd->query($SQL);
$val = $result->fetch();
$nT=$val["login"];
$mT=$val["email"];
$result->closeCursor();
// messages
switch($msg) {
case "new":
$body="Demande soumise par :\n\n";
$body.="Login : ".$nT."\n";
$body.="Email : ".$mT."\n";
$body.="\n".$url."\n";
// destinataires
$tete .= "Bcc: ".$m;
$SQL = "SELECT email FROM exo_pass";
$SQL .= " WHERE nivo < 3";
$result = $bdd->query($SQL);
while($val = $result->fetch())
if($val["email"]!="")
$tete .= ",".$val["email"];
$tete .= "\n";
$result->closeCursor();
break;
case "ok":
$body="Votre demande a ete acceptee !!!\n\n";
$body.="Login : ".$nT."\n";
$body.="Passe : ".$val["pass"]."\n";
$body.="Acces : ".$url."\n";
$body.="\nCordialement,\n".$n2."\n".$m."\n";
}
if(getenv("SERVER_NAME")=="localhost")
echo "En local le message ne peut pas partir !...";
else
return mail($nT." <".$mT.">",$sujet,$body,$tete);
}
?>
</code>
_protect.php
<code>
<? // Libellés des niveaux
$nivo=array("WebMaster","Collaborateur","Membre");
// On lit le cookie
$protect=$passe10;
// si vide >> niveau 4
if($protect=="") $protect="4";?>
<center>
<? // si identifié >> lien vers page Admin
if($protect<"4") {
?><A href="admin.php">Page
<? echo $nivo[$protect-1];
// sinon >> Devenir membre
} else {?><A href="admin.php?membre=new"
>Devenir membre<?
} ?></A> -
<A href="page1.php">Page 1</A> -
<A href="page2.php">Page 2</A> -
<A href="page3.php">Page 3</A>
</center><hr>
</code>
admin.php
<code>
<? include("_conn.php");
include("_mail.php");
if(isset($pass))
{
// === DECONNEXION ===
if($pass=="no")
{
setcookie("passe10");
setcookie("passe10id");
}
// === IDENTIFICATION ===
elseif(isset($login))
{
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE login='$login'";
$SQL .= " AND pass='$pass'";
$result = $bdd->query($SQL);
if($val = $result->fetch())
{
// on stocke le niveau/id dans un cookie
setcookie("passe10",$val["nivo"]);
setcookie("passe10id",$val["ID"]);
$result->closeCursor();
}
else
{
$temp = "?membre=new";
$result->closeCursor();
}
}
// on valide le cookie
Header("Location: ".$PHP_SELF.$temp);
}
// === NOUVELLE FICHE ===
elseif(isset($newlogin) && isset($newpass))
{
// Vérifie la non existence du login
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE login = '$newlogin'";
$result = $bdd->query($SQL);
// si login inconnu, ajoute la fiche
if($result->rowCount()==0)
{
$SQL = "INSERT INTO exo_pass(login,pass,nivo)";
$SQL .= " VALUES('$newlogin','$newpass',$newtype)";
$result = $bdd->query($SQL);
// sinon messages d'erreur
}
else
{
echo "<b>Login déjà pris !</b>";
}
}
elseif(isset($newtype))
{
echo "<b>Formulaire incomplet !</b>";
// === INSCRIPTION ===
}
elseif(($login!="") && ($newmail!=""))
{
// Vérifie la non existence du login
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE login = '$login'";
$result = $bdd->query($SQL);
if($result->rowCount()==0)
{
$SQL = "INSERT INTO exo_pass(login,nivo,email)";
$SQL .= " VALUES('$login',4,'$newmail')";
$result = $bdd->query($SQL);
//$result->closeCursor();
$OKinsc=true;
// envoi msg
doMail("new","");
// sinon messages d'erreur
}
else
{
$result->closeCursor();
echo "<b>Choisissez un autre login !</b>";
}
}
include("_protect.php");
if($protect<"3")
{
// === DESTRUCTION ===
if(isset($del))
{
$SQL = "DELETE FROM exo_pass";
$SQL .= " WHERE ID=" . $del;
$result = $bdd->query($SQL);
$result->closeCursor();
// === VALIDATION ===
}
elseif(isset($OK))
{
$SQL = "UPDATE exo_pass SET pass=email";
$SQL .= ",nivo=3 WHERE ID=" . $OK;
$result = $bdd->query($SQL);
$result->closeCursor();
// envoi msg
doMail("ok",$OK);
}
}
// === MODIFICATION ===
if(isset($modlogin) && isset($modpass))
{
$SQL = "UPDATE exo_pass SET";
$SQL .= " login='" . $modlogin;
$SQL .= "',pass='" . $modpass;
$SQL .= "',nivo=" . $modtype;
$SQL .= ",email='" . $modmail;
$SQL .= "' WHERE ID=" . $modid;
$result = $bdd->query($SQL);
$result->closeCursor();
}
// === CONSTRUCTION DE LA PAGE ===
// LIEN DE DECONNEXION
if($protect<"4")
{
?>
<A href="?pass=no">Déconnecter</A><br>
<? // FORMULAIRE D'EDITION DE LA FICHE
if($protect<>"1")
{
$SQL = "SELECT * FROM exo_pass WHERE ID=";
$SQL .= $passe10id;
$result = $bdd->query($SQL);
$val = $result->fetch();
$result->closeCursor();
?>
<form method="post" action="admin.php">
<table bgcolor=#EEEEFF><tr>
<input type="hidden" name="modid"
value="<?echo $val["ID"];?>">
<input type="hidden" name="modlogin"
value="<?echo $val["login"];?>">
<input type="hidden" name="modtype"
value="<?echo $val["nivo"];?>">
<td>Password<br>
<input type="password" name="modpass"
value="<?echo $val["pass"];?>"></td>
<th><b><?echo $val["login"];?></b><br>
<input type="submit" value="Modifier"></th>
</tr><tr><td colspan=2>E-mail<br>
<input size=40 name="modmail"
value="<?echo $val["email"];?>"></td>
</tr></table>
</form>
<? }
// SI NIVEAU 1 OU 2
if($protect<"3") { ?>
<br><table bgcolor=#EEEEFF>
<tr><th colspan=3 nowrap
>Liste des mots de passe</th></tr>
<form method="post" action="admin.php"><tr>
<tr bgcolor=#DDDDEE>
<td> LOGIN </td>
<td> PASSWORD </td>
<th><input type="submit" value="Ajouter"></th>
</tr><tr>
<td><input name="newlogin"></td>
<td><input name="newpass"></td>
<td><select name="newtype">
<? for($i=$protect;$i<sizeof($nivo);$i++) { ?>
<option value="<? echo ($i+1)."\">".$nivo[$i];?>
</option>
<? } ?>
</select></td>
</tr></form>
<? // LISTE DES LOGIN/PASS
$SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE nivo > " . $protect;
$SQL .= " AND nivo < 4 ORDER BY nivo,login";
$result = $bdd->query($SQL);
while ($val = $result->fetch())
{ ?>
<tr>
<? // Edition/supression si niveau 1
if($protect=="1")
{
?>
<form method="post" action="admin.php">
<input type="hidden" name="modid"
value="<? echo $val["ID"]; ?>">
<input type="hidden" name="modmail"
value="<? echo $val["email"]; ?>">
<td nowrap><input name="modlogin"
value="<? echo $val["login"]; ?>"></td>
<td nowrap><input name="modpass"
value="<? echo $val["pass"]; ?>"></td>
<td><select name="modtype">
<?for($i=1;$i<sizeof($nivo);$i++) { ?>
<option value="<?echo $i+1;?>"
<?if($i+1==$val["nivo"])
echo "SELECTED"; ?>
><?echo $nivo[$i]; ?></option>
<? } ?>
</select></td>
<td><input type="submit" value="OK"></td>
</form>
<td>
<A href="?del=<? echo $val["ID"]; ?>">del</A>
</td>
<? // sinon affichage simple
} else { ?>
<td nowrap><? echo $val["login"]; ?></td>
<td nowrap><? echo $val["pass"]; ?></td>
<td><? echo $nivo[$val["nivo"]-1]; ?></td>
<? }
// Lien pour envoyer le login/pass
if($val["email"]!="") { ?>
<td nowrap><A href="mailto:<?
echo $val["email"];
echo "?subject=Mot de passe";
echo "&body=Login: " . $val["login"];
echo " - Pass: " . $val["pass"];
echo " a entrer sur la page http://";
echo $SERVER_NAME;
echo $SCRIPT_NAME;
?>">SEND Login/Pass</A></td>
<? } ?>
</tr>
<? }
$result->closeCursor();
// LISTE DES MEMBRES EN ATTENTE
?><tr><th colspan=3 nowrap
>Membres en attente</th></tr>
<? $SQL = "SELECT * FROM exo_pass";
$SQL .= " WHERE nivo = 4 ORDER BY login";
$result = $bdd->query($SQL);
while ($val = $result->fetch()) { ?>
<tr>
<td><? echo $val["login"]; ?></td>
<td colspan=2>
<A href="mailto:<? echo $val["email"]; ?>"
><? echo $val["email"]; ?></A></td>
<td><A href="?OK=<? echo $val["ID"]; ?>"
>OK</A></td>
<td><A href="?del=<? echo $val["ID"]; ?>"
>del</A></td>
</tr>
<? } $result->closeCursor();?>
</table>
<? }
}
// sinon si MESSAGE D'INSCRIPTION
elseif($OKinsc) { ?>
<b>Si votre inscription est acceptée </b>
<br>Vous recevrez votre mot de passe par E-mail
<? // FORMULAIRE D'IDENTIFICATION/INSCRIPTION sinon
} else {
if($membre=="new") { ?>
Pour devenir membre, veuillez remplir le formulaire
<? } ?>
<form method="post" action="admin.php">
<table><tr>
<td>Login<br><input name="login"></td>
<?if($membre=="new") { ?>
<td><br>
<input type="Submit" value="Inscription">
</td></tr><tr><td colspan=2>E-mail<br>
<input size=40 name="newmail">
<? } else { ?>
<td>Password<br>
<input type="password" name="pass">
</td><td><br>
<input type="Submit" value="Entrer">
<? } ?>
</td></tr></table>
</form>
<? }
// Déconnexion
?>
</code>
Si quelqu'un pouvait trouver mon problème ce serait vraiment cool car je dois vous l'avouer je suis dépassé...
En tout cas merci d'avoir pris le temps de me lire.
Lalalallal