Voilà, j'ai depuis quelques jours une erreur 500 sur la page d'inscription d'un site en cours de construction.
Pour information, tous mes dossier sont en chmod 755 et je n'ai aucun .htaccess dans mes répertoires.
L'erreur 500 survient chaque fois que le formulaire est envoyé et lorsque le formulaire est complet, la base de donnée enregistre les information envoyés et le mail est envoyé.
Voici le code de la page :
Code:
<?php
$erreur = '';
include('config.php');
if (isset($_POST['inscription'])) {
require("ptitcaptcha.php");
if(PtitCaptchaHelper::checkCaptcha()) {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])) && (isset($_POST['mail']) && !empty($_POST['mail']))) {
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
mysql_connect($heb, $pseu,$pass);
mysql_select_db($base);
$inscription_login = 'SELECT count(*) FROM Smembre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$inscription_login_test = mysql_query($inscription_login) or die('Erreur SQL !<br />'.$inscription_login.'<br />'.mysql_error());
$inscription_login_test_donnee = mysql_fetch_array($inscription_login_test);
if ($inscription_login_test_donnee[0] == 0) {
$syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
if (preg_match($syntaxe,$_POST['mail'])) {
$string = $_POST['login']; include('remplac_inscription.php'); $login_inscription = $string;
$string = $_POST['sexe']; include('remplac_inscription.php'); $_POST['sexe'] = $string;
$string = $_POST['z']; include('remplac_inscription.php'); $_POST['z'] = $string;
$string = $_POST['localisation']; include('remplac_inscription.php'); $_POST['localisation'] = $string;
$string = $_POST['loisir']; include('remplac_inscription.php'); $_POST['loisir'] = $string;
$string = $_POST['site']; include('remplac_inscription.php'); $_POST['site'] = $string;
$string = $_POST['emploi']; include('remplac_inscription.php'); $_POST['emploi'] = $string;
$string = $_POST['mois']; include('remplac_inscription.php'); $_POST['mois'] = $string;
$string = $_POST['jours']; include('remplac_inscription.php'); $_POST['jours'] = $string;
$string = $_POST['annee']; include('remplac_inscription.php'); $_POST['annee'] = $string;
$string = $_POST['mail']; include('remplac_inscription.php'); $_POST['mail'] = $string;
$inscription_membre = 'INSERT INTO Smembre VALUES("", "'.$login_inscription.'", "'.md5($_POST['pass']).'", "'.$_POST['mail'].'", "'.$_POST['sexe'].'","'.$_POST['z'].'")';
mysql_query($inscription_membre) or die('Erreur SQL !'.$inscription_membre.'<br />'.mysql_error());
$inscription_id = 'SELECT * FROM Smembre WHERE login="'.htmlentities(trim($_POST['login'])).'"';
$inscription_id_test = mysql_query($inscription_id) or die('Erreur SQL !<br />'.$inscription_id.'<br />'.mysql_error());
$inscription_id_test_donnee = mysql_fetch_array($inscription_id_test);
$annee_now = date(Y);
$mois_now = date(m);
$jours_now = date(d);
$age = $annee_now - $_POST['annee'];
if ($mois_now < $_POST['mois'])
{
$age = $age - 1;
}
else {
if ($jours_now < $_POST['jours'])
{
$age = $age - 1;
}
}
if ($_POST['z'] != '1') {
/* en construction */
if ($_POST['z'] == '2') {
/* en construction */
}
}
$inscription_membre2 = 'INSERT INTO Smembre2 VALUES("", "'.$inscription_id_test_donnee['id'].'", "'.$inscription_id_test_donnee['login'].'", "'.$age.'", "'.$_POST['jours'].'","'.$_POST['mois'].'","'.$_POST['annee'].'","'.$_POST['localisation'].'","'.$_POST['loisir'].'","'.$_POST['emploi'].'","'.$_POST['site'].'","'.$_POST['z'].'","http://www.sagastream-p3.net/images/avatarSilhouette.jpg","0","'.time().'")';
mysql_query($inscription_membre2) or die('Erreur SQL !'.$inscription_membre2.'<br />'.mysql_error());
$expediteur = "admin@sagastream-p3.net";
$reponse = $expediteur;
if ($_POST['z'] == '2') {
$z2 = "Vous vous êtes inscrit en tant que créateur de sagas MP3.
Si vous n'êtes pas créateur de sagas MP3, vous devez supprimer votre compte dans votre Espace Membre et vous réinscrire.
Sinon, une fois connecté, vous pouvez vous rendre sur votre espace membre pour ajouter et configurer votre saga Saga Mp3";
}
if ($_POST['z'] == '3') {
$z2 = "Vous vous êtes inscrit en tant qu'acteur de sagas MP3.
Si vous n'êtes pas acteur de sagas MP3, vous devez supprimer votre compte dans votre Espace Membre et vous réinscrire.
Sinon, une fois connecté, vous pouvez vous rendre sur votre espace membre et paramétrer votre compte.";
}
if ($_POST['z'] == '1') {
$z2 = "Vous vous êtes inscrit en tant qu'auditeur.
Si vous vouliez vous inscrire en tant qu' acteur ou créateur de sagas MP3, vous devez supprimer votre compte dans votre Espace Membre et vous réinscrire";
}
mail($_POST['mail'], "Sagastream-p3| Inscription sur Sagastream-p3 !", "Bonjour ".$_POST['login'].".
Vous vous êtes bien inscrit sur Sagastream-p3! Merci!
".$z2."
Vous pouvez désormais vous abonner aux sagas mp3 que vous apréciez, poster des commentaires... Pour en savoir plus et afin de connaître toutes les fonctionnalités, explorez votre espace membre!
A bientôt!
Ne pas répondre, ceci est un mail automatique.",
"From: $expediteur\r\nReply-To: $reponse");
$inscription_terminee = '<h1>Vous êtes maintenant inscrit! <a href="membre.php">Cliquez ici pour vous connecter sur votre Espace Membre.</a></h1>';
}
else {
$erreur = "L'adresse e-mail n'est pas valide";
}
}
else {
$erreur = "Un membre possède déjà ce login...";
}
}
}
else {
$erreur = "Au moins un des champs obligatoire est vide.";
}
}
else{
$erreur = "Entrez un code robot valide";
}
}
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
mysql_connect($heb, $pseu,$pass);
mysql_select_db($base);
$inscription = 'SELECT count(*) FROM Smembre WHERE login="'.htmlentities(trim($_POST['login'])).'" AND password="'.md5($_POST['pass']).'"';
$req = mysql_query($inscription) or die('Erreur SQL !<br />'.$inscription.'<br />'.mysql_error());
$inscription_login_test_donnee = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
if ($inscription_login_test_donnee[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
elseif ($inscription_login_test_donnee[0] == 0) {
$erreur = "Connexion impossible. Compte non reconnu ou mot de passe incorrect.";
}
else {
$erreur = "Connexion impossible. Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.";
}
}
else {
$erreur = "Connexion impossible. Au moins un des champs est vide.";
}
}
$interdiction = 0;
$page = 'Inscription';
include('header_interdiction.php');
include('header_head.php');
include('header_droite.php');
include('menu_gauche_principal.php');
include('menu_gauche_connexion.php');
include('menu_gauche_lien.php');
include('menu_gauche_statistique.php');
if (isset($inscription_terminee)) {
echo $inscription_terminee;
}
?>
<div id="conteneur-centre">
<div class='bloc-contenu-centre'>
<div class="conteneur-centre-titre">
Inscription</div><?php if ($inscrit == '0') { ?>
<h1><?php echo $erreur; ?></h1>
<div class="message_important">
<p>
En vous inscrivant sur, vous acceptez de ne publier aucun contenu à caractère abusif, obscène, vulgaire, diffamatoire, choquant, menaçant, pornographique ou autre qui pourrait transgresser la loi internationale.
<br />
Vous vous engagez aussi à respecter l'orthographe et vous bannissez le langage SMS afin de rendre vos messages plus lisible aux yeux de tout le monde...</p>
</div>
<p></p>
<form method="post" action="inscription.php">
Login :
<input type="text" name="login" value="<?php echo $_POST['login']; ?>" />
(Evitez les logins comportant des caractères spéciaux) * champ obligatoire <br />
Mot de passe : <input type="password" name="pass" value="" /> * champ obligatoire <br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="" /> * champ obligatoire <br />
Mail : <input type="text" name="mail" value="<?php echo $_POST['mail']; ?>" /> * champ obligatoire <br />
Statut : <select name="z">
<option value="1">Auditeur</option>
<option value="3">Acteur</option>
<option value="2">Créateur</option>
</select> * champ obligatoire. <br />
Attention! Ce choix est important! Seuls les Créateurs peuvent enregistrer des sagas mp3 sur ce site. Il est très difficile de changer de statut après l'inscription! (Si vous vous êtes trompés, effacez votre compte, et créez en un autre). Cependant, si vous êtes créateur, vous êtes aussi considérés comme Acteur et Auditeur. Si vous êtes Acteur, vous êtes aussi considéré comme Auditeur.<br />
<br />
Sexe : <?php $select = 'sexe'; $var = $_POST['sexe']; include('config_formulaire.php'); ?> <br />
Date de naissance : <?php $select = 'naissance'; $var1 = $_POST['jours']; $var2 = $_POST['mois']; $var3 = $_POST['annee']; include('config_formulaire.php'); ?>
<br />
Localisation : <input class="post" name="localisation" size="15%" type="text" value="<?php echo $_POST['localisation']; ?>"><br />
Loisir-passion : <input class="post" name="loisir" size="15%" type="text" value="<?php echo $_POST['loisir']; ?>"><br />
Emploi : <input class="post" name="emploi" size="15%" type="text" value="<?php echo $_POST['emploi']; ?>"><br />
Site internet : <input class="post" name="site" size="15%" type="text" value="<?php echo $_POST['site']; ?>">
<?php require("ptitcaptcha.php"); ?>
<?=PtitCaptchaHelper::generateImgTags("./")?>
<?=PtitCaptchaHelper::generateHiddenTags()?>
<?=PtitCaptchaHelper::generateInputTags()?>
<input type="submit" name="inscription" value="Inscription" />
</form>
</p><?php } else { ?> Vous êtes inscrit<?php }?>
</div>
</div>
<?php
include('menu_droite_new.php');
include('menu_droite_evenement.php');
include('footer.php');
?>
Dans config.php, j'ai mes identifiants ftp
Voici le code de header_interdiction.php
Code:
<?php
$inscrit = '0';
if ($interdiction == 1) {
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: connection.php');
exit();
}
$login = htmlentities(trim($_SESSION['login']));
mysql_connect($heb, $pseu,$pass);
mysql_select_db($base);
$membre = mysql_query("SELECT * FROM Smembre WHERE login='".$login."'");
$membre_donnees = mysql_fetch_array($membre);
$mail = htmlentities(trim($membre_donnees['mail']));
$sexe = htmlentities(trim($membre_donnees['sexe']));
$rang = htmlentities(trim($membre_donnees['rang']));
$id = htmlentities(trim($membre_donnees['id']));
$membre2 = mysql_query("SELECT * FROM Smembre2 WHERE login='".$login."'");
$membre2_donnees = mysql_fetch_array($membre2);
$age = htmlentities(trim($membre2_donnees['age']));
$jours = htmlentities(trim($membre2_donnees['jour']));
$mois = htmlentities(trim($membre2_donnees['mois']));
$annee = htmlentities(trim($membre2_donnees['annee']));
$localisation = htmlentities(trim($membre2_donnees['localisation']));
$emploi = htmlentities(trim($membre2_donnees['emploi']));
$loisir = htmlentities(trim($membre2_donnees['loisir']));
$site = htmlentities(trim($membre2_donnees['site']));
$avatar = htmlentities(trim($membre2_donnees['avatar']));
$date_inscription = htmlentities(trim($membre2_donnees['timestamp']));
mysql_close();
$inscrit = '1';
}
if ($interdiction == 0) {
session_start();
if (isset($_SESSION['login'])) {
$login = htmlentities(trim($_SESSION['login']));
$inscrit = '1';
}
}
?>
le code de remplac_inscription.php
Code:
<?php
$string = str_replace("'","’", $string);
$string = htmlentities(trim($string));
?>
et le code de menu_gauche_connexion.php (je doute qu'il y ait un problème sur ce coté là).
Code:
<?php if ($page != 'Inscription') { if (isset($login)) { ?>
<div id="sommaire">
<a href='membre_profil.php'>Profil</a></a>
<a href='membre_abonnement.php'>Abonnement</a></a>
<a href='membre_commentaire.php'>Commentaires</a></a>
<a href='membre_parametre.php'>Paramètres</a></a>
<a href="#">Liens</a>
<a></a>
<?php if ($rang > '1') {
if ($rang == '2') {?>
<a href="#">Activer acteur</a>
<?php } ?>
<a href="#">A jouer dans... </a>
<a href="#">Rôle et disponibilité </a>
<a href="#">Echantillion de voix </a>
<?php } ?>
<a></a>
<?php if ($rang == '2') { ?>
<a href="#">Page Auteur </a>
<a href="#">Sagas Mp3</a>
<a href="#">Statistiques</a>
<a href="#">Evenements</a>
<?php } ?>
<a></a>
<a href="deconnexion.php">Déconnexion</a>
</div> <?php } else {?>
<div class="bloc-liens-gauche">
<div class="bloc-liens-titre-gauche">
Connexion
</div>
<div align="center"><p>
<form action="inscription.php" method="post" class="Style1">Login :<br />
<input type="text" width="10%" name="login" value="" />
<br/>
Mot de passe :<br/>
<input type="password" WIDTH="10%" name="pass" value="">
<br/>
Connexion automatique.<br/>
<input type="submit" WIDTH="10%" name="connexion" value="Connexion">
</form>
</div>
</p>
<p><a href="#">Mot de passe perdu</a>
<a href="inscription.php">inscription</a></p>
</div><?php } } ?>
le reste des includes sont du code HTML. Au besoin, je les dévoileraient.
Merci de votre aide!