[Résolu] Erreur 500

Conseils et discussions sur les outils informatiques.
Répondre ↩
Message
Auteur
Avatar du membre
Delta
Créateur(trice)
Créateur(trice)
Messages : 70
Enregistré le : ven. 02 oct. 2009, 17:04
A travaillé sur : Quidamus
Localisation : Montpellier

[Résolu] Erreur 500

#1 Message par Delta » dim. 16 janv. 2011, 19:40

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 : Tout sélectionner

<?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&eacute;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&egrave;de d&eacute;j&agrave; 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&egrave;res sp&eacute;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 : Tout sélectionner

<?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 : Tout sélectionner

<?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 : Tout sélectionner

<?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&egrave;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&ocirc;le et disponibilit&eacute; </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&eacute;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!
Modifié en dernier par Delta le lun. 24 janv. 2011, 14:17, modifié 1 fois.
Voulez vous une tasse d'absurde? Jetez donc une oreille du côté de ma saga Quidamus !
FACEBOOK | PODCLOUD | YOUTUBE | TWITTER des nouvelles de la Saison 1 v2 et de la saison 2 dès que possible!
CHANGEMENT DE PSEUDO: Demoniak => Delta

Aspic
Créateur
Créateur
Masculin Messages : 1045
Enregistré le : jeu. 20 déc. 2007, 13:11
A travaillé sur : Velvorn : The Bladed Druid (Musiques) -
Tarentule Platinome - Claviériste de Magoyond - Projet saga mp3 sur les tueur à gage - Des voix ça et là dans diverses sagas...
Localisation : Paris
Contact :

Re: Erreur 500

#2 Message par Aspic » dim. 16 janv. 2011, 19:41

Voir les messages bonnet d ane de cet utilisateur (1)

Ça tombe bien, ici sur Netophonix, on est des grands spécialistes de l'erreur 500 :smt005

Ok, je sors, laissant quelqu'un de plus compétent répondre xD
Image
Une alim' fantôme qui se met en route, ça fait ça. :3 Cliquez et vous irez sur mon site !

Avatar du membre
Kak Miortvi Pengvin
Netophoniste
Netophoniste
Masculin Messages : 4793
Enregistré le : dim. 21 janv. 2007, 10:31
Contact :

Re: Erreur 500

#3 Message par Kak Miortvi Pengvin » dim. 16 janv. 2011, 19:44

La meilleure source pour régler un problème d'erreur 500 est de chercher dans les logs que te fournit peut être ton hébergeur.
→ Carton poussiéreux.

:}

Avatar du membre
TeruHi
Créateur
Créateur
Masculin Messages : 1323
Enregistré le : sam. 05 mai 2007, 11:25
A travaillé sur : Divers projets à retrouver sur ma page du NetoWiki.
Localisation : Paris

Re: Erreur 500

#4 Message par TeruHi » mer. 19 janv. 2011, 13:16

Voir les messages bonnet d ane de cet utilisateur (4)

Quel est l'hébergeur ?

Avatar du membre
Delta
Créateur(trice)
Créateur(trice)
Messages : 70
Enregistré le : ven. 02 oct. 2009, 17:04
A travaillé sur : Quidamus
Localisation : Montpellier

Re: Erreur 500

#5 Message par Delta » ven. 21 janv. 2011, 11:05

Désolé de ne pas avoir répondu avant, j'ai eu une semaine compliquée.
@TeruHi => Je suis hébergé sur Easyhergement.

J'ai tout d'abord tenter de chercher ces fameux fichiers logs sur mon ftp, mais je n'ai rien trouvé (d'après ce que j'avais compris de mes pérégrinations googlesques, il fallait chercher des dossiers ou fichier error_log quelque chose comme ça).
Alors je me suis rendu sur le site de mon hébergeur et j'ai découvert la rubrique "log" qui permettait de télécharger des fichiers logs correspondant à chaque jours passés.
Bon, je télécharge le fichier log correspondant au jour où j'ai tester ma page inscription et j'y ai rechercher le mot ERREUR, ERROR, FATAL, et... rien.
Ah? Alors que ce passe-t-il si je tape l'URL de ma page inscription? Je trouve quelque chose qui ressemble à toutes les lignes dans mon fichier log:
une ip, une date, le navigateur etc...
Ai-je mal chercher?
Voulez vous une tasse d'absurde? Jetez donc une oreille du côté de ma saga Quidamus !
FACEBOOK | PODCLOUD | YOUTUBE | TWITTER des nouvelles de la Saison 1 v2 et de la saison 2 dès que possible!
CHANGEMENT DE PSEUDO: Demoniak => Delta

Avatar du membre
Kak Miortvi Pengvin
Netophoniste
Netophoniste
Masculin Messages : 4793
Enregistré le : dim. 21 janv. 2007, 10:31
Contact :

Re: Erreur 500

#6 Message par Kak Miortvi Pengvin » ven. 21 janv. 2011, 11:13

Il n'indique nulle part le nom d'un tes scripts? S'il ne le fait pas, tu peux essayer de contacter le service d'assistance de ton hébergeur pour savoir si tu utilises une fonction non disponible ou foireuse chez lui. Si c'est autre chose, je ne sais pas trop quoi te dire.
→ Carton poussiéreux.

:}

Avatar du membre
Delta
Créateur(trice)
Créateur(trice)
Messages : 70
Enregistré le : ven. 02 oct. 2009, 17:04
A travaillé sur : Quidamus
Localisation : Montpellier

Re: Erreur 500

#7 Message par Delta » ven. 21 janv. 2011, 11:28

Voici un exemple de ligne:
82.231.25.119 - - [09/Jan/2011:14:08:54 +0100] "POST /SagastreamV2/inscription.php HTTP/1.1" 200 2150 "http://www.sagastream-p3.net/SagastreamV2/inscription.php" "Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.3) Gecko/20100401 BTRS28059 Firefox/3.6.3"
Par le nom d'un de mes script, tu veux dire la page, l'include, un bout de mon code ou la fonction que j'utilise (preg_match() ) ou autre chose?
Voulez vous une tasse d'absurde? Jetez donc une oreille du côté de ma saga Quidamus !
FACEBOOK | PODCLOUD | YOUTUBE | TWITTER des nouvelles de la Saison 1 v2 et de la saison 2 dès que possible!
CHANGEMENT DE PSEUDO: Demoniak => Delta

Avatar du membre
Kak Miortvi Pengvin
Netophoniste
Netophoniste
Masculin Messages : 4793
Enregistré le : dim. 21 janv. 2007, 10:31
Contact :

Re: Erreur 500

#8 Message par Kak Miortvi Pengvin » ven. 21 janv. 2011, 11:59

Par le nom d'un script, j'entendais le nom du fichier. Mais là, je ne suis pas certain que ces logs là puissent t'être utiles.
→ Carton poussiéreux.

:}

Avatar du membre
Mitch_dsm
Neto-Fondateur
Neto-Fondateur
Masculin Messages : 1722
Enregistré le : dim. 10 déc. 2006, 04:10
A travaillé sur : Matrick, Los Cojones de Yubejon (narrateur), Faites comme chez nous, Les blagues du jour, Tutophonix, guest dans La D.G.S.C.E.
Localisation : banlieue parisienne
Contact :

Re: Erreur 500

#9 Message par Mitch_dsm » ven. 21 janv. 2011, 12:01

Ça ne me semble pas être un log d'erreur mais simplement un log d'acces.

Au tout début, la première installation du forum netophonix s'est faite sur un espace free. J'ai très rapidement voulu changer car j'obtenais des erreurs 500 (toujours difficiles à interpréter). Il semble que par exemple, pour des accès sql importants ou d'un type particulier, certains hébergeurs ne sont pas adaptés. Je suis désolé tout ça ne t'aide pas beaucoup mais si en local (as tu un serveur local pour tes développements d'ailleurs ?) ça marche, alors il n'y pas vraiment d'autre explication que celle de l'hébergeur. Surtout si ça apparait du jour au lendemain...

Crée un fichier sur ton espace d'hébergement qui contient le code suivant

Code : Tout sélectionner

<?php
    phpinfo();
?>


Va dessus et consulte les variables php. (profites en pour relever la version de php)
Essayer d'évaluer si la config ne comporte pas des limites trop drastiques.

Tester si le code s'exécute en neutralisant les requêtes sql (éventuellement en attribuant des valeurs arbitraires pour test là où ça en a besoin.)

Généralement les erreurs 500 normales (dirons-nous) sont dû à une misconfig du serveur web, mais comme tu n'as pas de fichier .htaccess, là encore ce qui est en cause, ce serait plutôt l'hébergeur et pas ton code.
Mitch DSM Phantom Netophonist
Image

Avatar du membre
Delta
Créateur(trice)
Créateur(trice)
Messages : 70
Enregistré le : ven. 02 oct. 2009, 17:04
A travaillé sur : Quidamus
Localisation : Montpellier

Re: Erreur 500

#10 Message par Delta » ven. 21 janv. 2011, 12:38

La version php est 5.2.6-1+lenny9

Quand à toutes les variables qui sont affichés, celles dont j'ai besoin sont toutes "on" ou contiennent des valeurs acceptables.
J'ai enlevé les requêtes sql situées dans la condition

Code : Tout sélectionner

if (preg_match($syntaxe,$_POST['mail'])) {
}

et j'obtient...
une page blanche.
Bizzare, normalement la suite du script doit s'exécuter, et... rien.
Je n'ai pas tester sur un serveur local car je n'en dispose pas... (il va peut être falloir que j'installe wamp.)

Bon, si j'ai bien compris, je doit songer à changer d'hébergement?
Voulez vous une tasse d'absurde? Jetez donc une oreille du côté de ma saga Quidamus !
FACEBOOK | PODCLOUD | YOUTUBE | TWITTER des nouvelles de la Saison 1 v2 et de la saison 2 dès que possible!
CHANGEMENT DE PSEUDO: Demoniak => Delta

Avatar du membre
Kak Miortvi Pengvin
Netophoniste
Netophoniste
Masculin Messages : 4793
Enregistré le : dim. 21 janv. 2007, 10:31
Contact :

Re: Erreur 500

#11 Message par Kak Miortvi Pengvin » ven. 21 janv. 2011, 12:40

Si tu ne trouves pas la fonction qui bloque chez ton hébergeur et que tu ne parviens pas à la remplacer, il y a des chances oui. :(
→ Carton poussiéreux.

:}

Avatar du membre
Mitch_dsm
Neto-Fondateur
Neto-Fondateur
Masculin Messages : 1722
Enregistré le : dim. 10 déc. 2006, 04:10
A travaillé sur : Matrick, Los Cojones de Yubejon (narrateur), Faites comme chez nous, Les blagues du jour, Tutophonix, guest dans La D.G.S.C.E.
Localisation : banlieue parisienne
Contact :

Re: Erreur 500

#12 Message par Mitch_dsm » ven. 21 janv. 2011, 12:54

Avant de changer d'hébergeur, installe ton localhost avec une config fiable, et fais tes tests.Ça éliminera les doutes.

juste un petit truc que j'ai tout de même remarqué.

Code : Tout sélectionner

$annee_now = date(Y);
$mois_now = date(m);
$jours_now = date(d); 
Normalement tu aurais dû obtenir un message genre "Notice: Use of undefined constant" avec ça.

date() fonctionne avec une chaine.
Il faut remplacer par :

Code : Tout sélectionner

$annee_now = date("Y");
$mois_now = date("m");
$jours_now = date("d"); 


je ne suis pas non plus très sûr de ces codes là :

Code : Tout sélectionner

<?=PtitCaptchaHelper::generateImgTags("./")?>
<?=PtitCaptchaHelper
::generateHiddenTags()?>
<?=PtitCaptchaHelper
::generateInputTags()?>
Mes connaissance en php ne me permette pas d'analyser exactement ce que tu cherches à faire mais il me semble qu'il faudrait commencer la ligne par

Code : Tout sélectionner

<?php
D'autre part, je m'étonne de la présence du "=" et de l'absence de ";" .

j'aurais plutôt vu ça :

Code : Tout sélectionner

<?php
PtitCaptchaHelper
::generateImgTags("./");
PtitCaptchaHelper::generateHiddenTags();
PtitCaptchaHelper::generateInputTags();
?>
Mitch DSM Phantom Netophonist
Image

Avatar du membre
Signez
Administrateur
Administrateur
Masculin Messages : 960
Enregistré le : dim. 24 juin 2007, 03:24
A travaillé sur : SynopsLive (créateur et animateur)
Localisation : Lyon, France
Contact :

Re: Erreur 500

#13 Message par Signez » ven. 21 janv. 2011, 23:58

Voir les messages bonnet d ane de cet utilisateur (2)

Ouch ! L'utilisation de

au lieu de

Code : Tout sélectionner

<?php echo

est absolument déconseillée, découragée, horrible, mortelle pour les chatons, insupportable. ARG ! C'est déprécié depuis un petit bout de temps.

Je t'invite à faire un rechercher/remplacer sur ton code, pour transformer tous ces &lt;?= en &lt;?php echo. Ça ne résoudra peut-être pas le problème, mais ça sera bien de toutes façons.

Bien vu, Mitch !
Image
ImageImage

Avatar du membre
Delta
Créateur(trice)
Créateur(trice)
Messages : 70
Enregistré le : ven. 02 oct. 2009, 17:04
A travaillé sur : Quidamus
Localisation : Montpellier

Re: Erreur 500

#14 Message par Delta » lun. 24 janv. 2011, 14:11

Merci à Mitch et Signez qui ont corrigé ces erreurs!
En réalité, le problème est résolu! C'est bien le ptitcaptcha qui était la cause du problème mais à cet endroit :

Code : Tout sélectionner

if (isset($_POST['inscription'])) {
   require("ptitcaptcha.php");
   if(PtitCaptchaHelper::checkCaptcha()) {


Bon, je ne comprends toujours pas pourquoi, mais je dois avouer que j'ai pris ce code sur internet et que je l'avais copier coller sur un de mes autres sites (dans un contexte différent) et que cela avait marché.
Lorsque j'ai voulu le faire sur ce site, ça n'a pas marché.
Je vais tenter de comprendre pourquoi cela m'a généré une erreur 500.

Pour ceux qui veulent, voici ptitcaptcha.php (génère un code antirobot):

Code : Tout sélectionner

<?php
/**
 * Ptitcaptcha : simple php captcha system
 *
 * @author Jean-Pierre Morfin
 * @license Creative Commons By
 * @license http://creativecommons.org/licenses/by/2.0/fr/
 */
 
/* Change it to have a specific encoding ! */
define("PTITCAPTCHA_ENTROPY","what-ever-you-want");
 
/* Choose length (max 32) */
define("PTITCAPTCHA_LENGTH",5);
 
$GLOBALS["ptitcaptcha_akey"] = md5(uniqid(rand(), true));
 
/**
 * Helper to generate html form tags
 *
 */
class PtitCaptchaHelper
{
 /**
* Generate IMG Tag
*
* @param string $baseuri : relative or absolute path to folder containing this file on web
* @return IMG Tag
*/
 function generateImgTags($baseuri)
 {
 return "<a href=\"#\"><img alt=\"???\" title=\"?\"".
 " src=\"".$baseuri."ptitcaptcha.php?pck=".$GLOBALS['ptitcaptcha_akey']."\"".
 " id=\"ptitcaptcha\"".
 " onclick=\"javascript:this.src='".$baseuri."ptitcaptcha.php?pck=".
 $GLOBALS['ptitcaptcha_akey'].
 "&z='+Math.random();return false;\" /></a>\n";
 }
 
 /**
* Generate hidden tag (must be in a form)
*
* @return input hidden tag
*/
 function generateHiddenTags()
 {
 return "<input type=\"hidden\" name=\"ptitcaptcha_key\" value=\"".$GLOBALS['ptitcaptcha_akey']."\"/>";
 }
 
 /**
* Generate input tag (must be in a form)
*
* @return input tag
*/
 function generateInputTags()
 {
 return "<input type=\"text\" name=\"ptitcaptcha_entry\" value=\"\"/>";
 }
 
 /**
* Check if user input is correct
*
* @return boolean (true=correct, false=incorrect)
*/
 function checkCaptcha()
 {
 if( isset($_POST['ptitcaptcha_entry']) &&
 $_POST['ptitcaptcha_entry'] == PtitCaptchaHelper::_getDisplayText($_POST['ptitcaptcha_key']))
 {
 return true;
 }
 return false;
 }
 
 /**
* Internal function
*
* @param string $pck
* @return string
*/
 function _getDisplayText($pck) // internal function
 {
 $src=md5(PTITCAPTCHA_ENTROPY.$pck);
 $txt="";
 for($i=0;$i<PTITCAPTCHA_LENGTH;$i++)
 $txt.=substr($src,$i*32/PTITCAPTCHA_LENGTH,1);
 return $txt;
 }
}
 
 
// If script called directly : generate image
if(basename($_SERVER["SCRIPT_NAME"])=="ptitcaptcha.php" && isset($_GET["pck"]))
{
 $width = PTITCAPTCHA_LENGTH*10+10;
 $height = 30;
 
 $image = imagecreatetruecolor($width, $height);
 $bgCol = imagecolorallocate($image, rand(128,255), rand(128,255), rand(128,255));
imagefilledrectangle($image,0,0,$width,$height,$bgCol);
 
 $txt = PtitCaptchaHelper::_getDisplayText($_GET["pck"]);
 
 for($c=0;$c<PTITCAPTCHA_LENGTH*2;$c++)
 {
 $bgCol = imagecolorallocate($image, rand(100,255), rand(100,255), rand(100,255));
 $x=rand(0,$width);
 $y=rand(0,$height);
 $w=rand(5,$width/2);
 $h=rand(5,$height/2);
imagefilledrectangle($image,$x,$y,$x+$w,$y+$h,$bgCol);
imagecolordeallocate($image,$bgCol);
 }
 for($c=0;$c<PTITCAPTCHA_LENGTH;$c++)
 {
 $txtCol = imagecolorallocate($image, rand(0,128) , rand(0,128), rand(0,128));
imagestring($image,5,5+10*$c,rand(0,10),substr($txt,$c,1),$txtCol);
imagecolordeallocate($image,$txtCol);
 }
 
 header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
} ?>
Voulez vous une tasse d'absurde? Jetez donc une oreille du côté de ma saga Quidamus !
FACEBOOK | PODCLOUD | YOUTUBE | TWITTER des nouvelles de la Saison 1 v2 et de la saison 2 dès que possible!
CHANGEMENT DE PSEUDO: Demoniak => Delta

Répondre ↩

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités