le 21/04/2010 à 20:38
AndroWiiid
Bonsoir,
Je me tourne vers vous parce que j'ai beau cherché une réponse à mon problème parmi mes bouquins ou les tutoriels, je ne trouve rien qui puisse m'aider.
Voici la situation :
J'ai développé mon site Web en local (Sans blague :p !) et je suis arrivé à un résultat que je juge plus que satisfaisant.
Une fois sure que tout était parfait, j'ai placé mon site web sur mon serveur (OVH).
Là, catastrophe. Une multitude de petites erreurs se glissent dans mon code. Certains notables, d'autres beaucoup moins.
Pour la plupart, j'ai réussis à résoudre le problème mais deux points persistent et sont plus qu'embêtant :
- mysql_real_escape_string : La fonction php mysql_real_escape_string() ne semble pas marché sur le Web. Est-ce normal
Voici un exemple de l'utilisation de cette fonction :
Il me semble me manquer un paramètre mais je ne vois pas lequel.
- Session : Là repose mon plus gros problème. J'ai développé un système d'espace membre pour les visiteurs qui désirent s'inscrire mais voilà, une fois que quelqu'un se connecte sur mon site. Il se connecte bien mais s'il clique sur un lien interne au site, il est automatiquement connecté en tant que AndroWiid (moi). J'ai d'abord pensé un souci dans les variables $_SESSION mais je les ai affiché. Quand il se conecte, il y a bien ses identifiants dans les variables Sessions. J'ai beau cherché, je ne vois pas ce qui pourrait provoquer cela =/.
- Serveur : C'est la seule chose à laquelle j'ai pensé. Est-ce possible que cela soit la configuration chez OVH qui fasse déconner mon site comme ça ?
Merci d'avance pour vos réponses !
Je me tourne vers vous parce que j'ai beau cherché une réponse à mon problème parmi mes bouquins ou les tutoriels, je ne trouve rien qui puisse m'aider.
Voici la situation :
J'ai développé mon site Web en local (Sans blague :p !) et je suis arrivé à un résultat que je juge plus que satisfaisant.
Une fois sure que tout était parfait, j'ai placé mon site web sur mon serveur (OVH).
Là, catastrophe. Une multitude de petites erreurs se glissent dans mon code. Certains notables, d'autres beaucoup moins.
Pour la plupart, j'ai réussis à résoudre le problème mais deux points persistent et sont plus qu'embêtant :
- mysql_real_escape_string : La fonction php mysql_real_escape_string() ne semble pas marché sur le Web. Est-ce normal
Voici un exemple de l'utilisation de cette fonction :
<?php
$_POST['pseudo'] = mysql_real_escape_string(htmlentities($_POST['pseudo']));
?>
Il me semble me manquer un paramètre mais je ne vois pas lequel.
- Session : Là repose mon plus gros problème. J'ai développé un système d'espace membre pour les visiteurs qui désirent s'inscrire mais voilà, une fois que quelqu'un se connecte sur mon site. Il se connecte bien mais s'il clique sur un lien interne au site, il est automatiquement connecté en tant que AndroWiid (moi). J'ai d'abord pensé un souci dans les variables $_SESSION mais je les ai affiché. Quand il se conecte, il y a bien ses identifiants dans les variables Sessions. J'ai beau cherché, je ne vois pas ce qui pourrait provoquer cela =/.
<?php
// Traitement du formulaire de connexion
if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
{
$erreur_txt = '';
$erreur = 0;
//Mesure de sécurité.
$_POST['pseudo'] = mysql_real_escape_string(htmlentities($_POST['pseudo']));
$_POST['passwd'] = mysql_real_escape_string(htmlentities($_POST['passwd']));
// On vérifie si le pseudo est bien spécifié
if (!isset($_POST['pseudo']) || empty($_POST['pseudo']))
{
$erreur_txt .= 'Vous devez remplir le champ du pseudo !<br />';
$erreur++;
}
// On vérifie si le password est bien spécifié
if (!isset($_POST['passwd']) || empty($_POST['passwd']))
{
$erreur_txt .= 'Vous devez remplir le champ du password !<br />';
$erreur++;
}
if ($erreur == 0)
{
$_POST['pseudo'] = addslashes($_POST['pseudo']);
$_POST['passwd'] = md5($_POST['passwd']);
connexionbdd();
$sql = 'SELECT COUNT(*), rang, avatar, id
FROM membres
WHERE pseudo = "'.$_POST['pseudo'].'"
AND passwd = "'.$_POST['passwd'].'"';
$req = mysql_query($sql)
or die('Erreur SQL : <br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_close();
// On trouve le couple pseudo/passwd dans la bdd
if($data[0] == 1)
{
$_SESSION['admin'] = false;
$_SESSION['acces_autorise'] = true;
$_SESSION['pseudo'] = stripslashes($_POST['pseudo']);
$_SESSION['id'] = $data['id'];
$_SESSION['avatar'] = $data['avatar'];
if($data['rang'] >= 1)
{
$_SESSION['admin'] = true;
}
//header('Location: index.php');
//exit();
}
// On ne trouve pas le couple pseudo/passwd
elseif ($data[0] == 0)
{
header('Location: ?pages=erreur&err=20');
exit();
}
// Erreur avec la base de donnée
else
{
header('Location: ?pages=erreur&err=10');
exit();
}
}
}
?>
- Serveur : C'est la seule chose à laquelle j'ai pensé. Est-ce possible que cela soit la configuration chez OVH qui fasse déconner mon site comme ça ?
Merci d'avance pour vos réponses !