Help! bugs en php...

Fermé
Signaler
Messages postés
144
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
10 avril 2010
-
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
-
Bonjour,
voici où j'en suis dans dans la page de connexion pour mon site web mais ça bug encore, pouvez-vous me dire ce qui ne va po, svp?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Bienvenue</title>
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if ($_POST['Pseudo'] != NULL AND $_POST['MotDePasse'] != NULL) // Si on a quelque chose à enregistrer
{
if ($Pseudo = $_POST['Pseudo']AND$MotDePasse = $_POST['MotDePasse'])
{
mysql_connect("monhebergeur", "Monnom", "XXX");
mysql_select_db("mabd");
$Pseudo = mysql_real_escape_string(htmlspecialchars($_POST['Pseudo']));
$MotDePasse = mysql_real_escape_string(htmlspecialchars($_POST['MotDePasse']));
mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>GoTox.php</title>
<?php
header("Location: https://www.google.be/?gws_rd=ssl");
?>
</head>
<body>
</body>
</html>
}
<?php
else
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>GoTox.php</title>
<?php
header("Location: https://www.google.be/?gws_rd=ssl");
?>
</head>
<body>
<?php
if ($_POST['Pseudo'] != NULL AND $_POST['MotDePasse'] != NULL AND $_POST['NomClient'] != NULL AND $_POST['PrenomClient'] != NULL AND $_POST['CodePostalClient'] != NULL AND $_POST['$VilleClient'] != NULL AND $_POST['PaysClient'] != NULL AND $_POST['TelephoneClient'] != NULL AND $_POST['E-mailClient'] != NULL AND $_POST['SiteClient'] != NULL AND $_POST['TypeClient'] != NULL)
{
mysql_connect("monhebergeur", "Monnom", "XXX");
mysql_select_db("mabd");
$Pseudo = mysql_real_escape_string(htmlspecialchars($_POST['Pseudo']));
$MotDePasse = mysql_real_escape_string(htmlspecialchars($_POST['MotDePasse']));
$NomClient = mysql_real_escape_string(htmlspecialchars($_POST['NomClient']));
$PrenomClient = mysql_real_escape_string(htmlspecialchars($_POST['PrenomClient']));
$CodePostalClient = mysql_real_escape_string(htmlspecialchars($_POST['CodePostalClient']));
$VilleClient = mysql_real_escape_string(htmlspecialchars($_POST['VilleClient']));
$PaysClient = mysql_real_escape_string(htmlspecialchars($_POST['PaysClient']));
$TelephoneClient = mysql_real_escape_string(htmlspecialchars($_POST['TelephoneClient']));
$E-mailClient = mysql_real_escape_string(htmlspecialchars($_POST['E-mailClient']));
$SiteClient = mysql_real_escape_string(htmlspecialchars($_POST['SiteClient']));
$TypeClient = mysql_real_escape_string(htmlspecialchars($_POST['TypeClient']));
mysql_query("INSERT INTO Clients VALUES('', '$NomClient', '$PrenomClient', '$CodePostalClient', '$VilleClient', '$PaysClient', '$TelephoneClient', '$E-mailClient', '$SiteClient', '$TypeClient', '$Pseudo')");
mysql_query("INSERT INTO MotDePasses VALUES('', "Pseudo', '$MotDePasse')");
mysql_close();
}
}
</body>
</html>


Par avance, merci.

5 réponses

Faudrait préciser un peut plus qu'est ce qui bug parce que là le code est dégueulasse si en plus faut chercher.

"Ce qui se conçoit bien s''énonce clairement"
Messages postés
144
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
10 avril 2010
36
bonjour Hotrod,

dans un premier temps, j'ai ceci:

Parse error: syntax error, unexpected T_ELSE in /home/emarketstudy2/www/index.php on line 39


mais il est possible que j'aie d'autres erreurs...

en quoi mon bug est-il dégueulasse?

dsl, suis noob en php, alors si on pouvait m'expliquer en quoi je fais qqch qui ne va pas, ce serait sympa.

merci
Messages postés
144
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
10 avril 2010
36
oh, me suis rendu compte d'une erreur de copier-coller, la voilà rectifiée mais ça ne change rien à mon problème apparement, la lignefautive est le

else (ligne 39)



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Bienvenue</title>
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if ($_POST['RegistClient'] != NULL AND $_POST['KPClient'] != NULL) // Si on a quelque chose à enregistrer
{
if ($RegistClient = $_POST['RegistClient']AND$KPClient = $_POST['KPClient'])
{
mysql_connect("sql5.power-heberg.net", "emarketstudy2", "dyy6k47z");
mysql_select_db("emarketstudy2");
$RegistClient = mysql_real_escape_string(htmlspecialchars($_POST['RegistClient']));
$KPClient = mysql_real_escape_string(htmlspecialchars($_POST['KPClient']));
mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>GoTox.php</title>
<?php
header("Location: https://www.google.be/?gws_rd=ssl");
?>
</head>
<body>
</body>
</html>
}
<?php
else
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inscription</title>
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
if ($_POST['RegistClient'] != NULL AND $_POST['KPClient'] != NULL AND $_POST['NomClient'] != NULL AND $_POST['PrenomClient'] != NULL AND $_POST['CodePostalClient'] != NULL AND $_POST['$VilleClient'] != NULL AND $_POST['PaysClient'] != NULL AND $_POST['TelephoneClient'] != NULL AND $_POST['E-mailClient'] != NULL AND $_POST['SiteClient'] != NULL AND $_POST['TypeClient'] != NULL)
{
mysql_connect("sql5.power-heberg.net", "emarketstudy2", "dyy6k47z");
mysql_select_db("emarketstudy2");
$RegistClient = mysql_real_escape_string(htmlspecialchars($_POST['RegistClient']));
$KPClient = mysql_real_escape_string(htmlspecialchars($_POST['KPClient']));
$NomClient = mysql_real_escape_string(htmlspecialchars($_POST['NomClient']));
$PrenomClient = mysql_real_escape_string(htmlspecialchars($_POST['PrenomClient']));
$CodePostalClient = mysql_real_escape_string(htmlspecialchars($_POST['CodePostalClient']));
$VilleClient = mysql_real_escape_string(htmlspecialchars($_POST['VilleClient']));
$PaysClient = mysql_real_escape_string(htmlspecialchars($_POST['PaysClient']));
$TelephoneClient = mysql_real_escape_string(htmlspecialchars($_POST['TelephoneClient']));
$E-mailClient = mysql_real_escape_string(htmlspecialchars($_POST['E-mailClient']));
$SiteClient = mysql_real_escape_string(htmlspecialchars($_POST['SiteClient']));
$TypeClient = mysql_real_escape_string(htmlspecialchars($_POST['TypeClient']));
mysql_query("INSERT INTO Clients VALUES('', '$NomClient', '$PrenomClient', '$CodePostalClient', '$VilleClient', '$PaysClient', '$TelephoneClient', '$E-mailClient', '$SiteClient', '$TypeClient', '$RegistClient')");
mysql_query("INSERT INTO KPClients VALUES('', "RegistClient', '$KPClient')");
mysql_close();
}
}
</body>
</html>


merci à ceux qui prendront la peine de m'expiquer
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 004
Bonjour,

Utilise les balises < code> et </code> autour de ton code, sinon c'est illisible.
Ensuite, une page xhtml ne contient qu'un seul doctype, qu'une seule balise html, qu'un seul head ce qui n'est pas le cas ici.
Troisièmement, tu utilises des variables qui ne sont pas déclarées ni affectées : $RegistClient par exemple.
Quatrièmement, tu as collé un AND aux deux opérandes sur ta troisième ligne de code php.
Cinquièmement, tu fermes ton accolade } avant de revenir dans une section de code php, elle est donc prise pour de l'html et ne ferme pas ton IF : d'où l'erreur qui fait que ton else n'est pas accepté.

C'est en tout ça que ton code est dégueulasse ;)

Xavier
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 004
Ah, et j'ai oublié : un test dégalité ne se fait pas avec = mais avec ==
Car = est un symbole d'affectation et non pas un comparateur.