Problème accès site hébergé chez free

Napova Messages postés 2 Statut Membre -  
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,

Avec un ami, nous avons déplacé un site vers l'hébergeur Free. Nous avons un problème pour accéder à notre compte du site. Par-contre la page d'accueil fonctionne.

Voici le site : http://brmanager.v3.free.fr/V3/

Voici le message d'erreur :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 26

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 26

Warning: Cannot modify header information - headers already sent by (output started at /mnt/133/sdb/e/f/brmanager.v3/V3/login.php:1) in /mnt/133/sdb/e/f/brmanager.v3/V3/login.php on line 98


Pouvez-vous m'aider ? ? ?

Merci :)

4 réponses

  1. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    'lut, le message d'erreur est clair: quelque chose a déjà été envoyé avant la redirection.
    Revérifies tes scripts, et si rien ne semble être envoyé, vérifies et élimine si besoin cette absurdité micro$oftienne de BOM si tes pages sont en UTF-8.
    EDIT: je viens de vérifier sur ton site, c'est bien un problème de BOM. Tu peux les enlever avec Notepad++ ou un autre éditeur de code digne de ce nom.

    Au passage, l'extension MySQL est pourrie, obsolète, à ne plus utiliser: elle est trouée de partout niveau sécurité et n'est plus maintenue. Et niveau design c'est un massacre.
    Free.fr ne proposant pas de driver MySQL pour PDO ni mysqli, je te propose d'utiliser ce polyfill, en remplaçant dans le script toutes les mentions de PDO par un autre nom,
    PDOS
    par exemple, car PDO est quand même existant chez Free. Du coup ton code utilisera
    PDOS
    au lieu de
    PDO
    , mais le code sera quasi-identique.
    from human import idiocy
    del idiocy
    1
    1. JackAttack Messages postés 12 Statut Membre 10
       
      Merci beaucoup pour les BOM, c'était ça, Free n'est pas compatible et ils ne le savent même pas au support (ou ils ne veulent pas le dire).

      J'envisage SQLite, mais sans urgence puisque la base n'est pas sensible (même pas d'adresse mail enregistrée).
      Judicieux ?
      0
      1. ElementW Messages postés 5690 Statut Contributeur 1 293 > JackAttack Messages postés 12 Statut Membre
         
        Free propose SQLite mais interdit l'utilisation de BDD sous forme de fichier, c'est paradoxal mais bon...
        Quant au statut obsolète: je parlais bien de l'extension PHP MySQL avec ses fonctions
        mysql_*
        , pas de MySQL en soi.
        0
    2. tusk
       
      salut,

      judicieux? d'avoir une base de données inexploitable et ayant des failles? certainement pas, si vous l'avez développé c'est qu'il y a un besoin actuel ou futur. La sécurité ce n'est pas que le vol de contenu mais aussi (et surtout) l'intégrité du système d'information: base fausse/abimé = intégrité des données perdues = tout le site est bon à jeter. Un exemple si vous avez un login et que celui ci est modifié par une faille de sécurité l'utilisateur ne pourra plus se connecter.
      Si tous les mots de passe sont modifiés, même celui de l'admin votre site est tout simplement inaccessible. S'il s'agit de données statistiques faussée ou de valeurs nécessaires qui sont manquantes les stats seront une source d'erreur(en gros vous affichez des trucs fau :s) et pour les données manquante le programme va être en erreur constante.

      Ce qui serait judicieux c'est investir dans un hébergeur digne de ce nom(entre 15 et 60€/an pour les moins chers).
      Ce qu'il le serait tout autant c'est de ne pas perdre votre temps à développer quelque chose qui est voué à être changé = gain de temps = site qui perdure.

      ps: gravgun (je pense) parlais non de la technologie de la base mais des fonctions PHP qui permettent d'y accéder.
      0
  2. Hywalle Messages postés 290 Statut Membre 62
     
    Un problème dans votre script PHP, il faudrait chercher par ici.
    0
    1. JackAttack
       
      Bonjour, le script fonctionne tel quel chez l'hébergeur précédent.
      Y a-t-il un problème connu de sessions chez Free ?
      0
  3. Napova Messages postés 2 Statut Membre
     
    Voici le script :

    <?php
    include 'include/connexion_db.php';

    if (isset(€_GET['lang'])) €langue=€_GET['lang'];
    else €langue="";

    if(isset(€_POST) && !empty(€_POST['login']) && !empty(€_POST['pass'])) {
    extract(€_POST);
    // on recupère le password de la table qui correspond au login du visiteur
    €sql = "select pwd, id_club, nom, affiliate from club where ident='".addslashes(€login)."';";
    €req = mysql_query(€sql) or die('Erreur SQL !
    '.€sql.'
    '.mysql_error());
    0
    1. JackAttack
       
      Les balise html (br retour chariot) sont manquantes ci-dessus mais je pense que le code est compréhensible. Voici la ligne 26 indiquée dans le message d'erreur (id_club est un id_utilisateur_inscrit ) :

      if($data = mysql_fetch_assoc($req)){
      $id_club = $data['id_club'];

      if($data['pwd'] != $pass) {
      mysql_close($connex);
      //echo "bad_pwd";
      header('Location: index.php?msg=bad_pwd&lang='.$langue);//redirection
      //echo '<p>Mauvais login / password. Merci de recommencer</p>';
      //include('index.php'); // On inclut le formulaire d'identification
      }
      else {
      //mysql_close($connex);
      session_start();
      $_SESSION['club'] = $id_club;
      $_SESSION['nom_club'] = $data['nom'];
      $_SESSION['session'] = rand(10000000,100000000);//session
      $sql = "UPDATE club SET session='" . $_SESSION['session'] . "', date_session='" . date("Y/m/d H:m:s") . "' WHERE id_club='" . $id_club . "';";
      //echo "<br>".$sql;
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
      0
  4. Ben314 Messages postés 3302 Statut Membre 1 507
     
    Bonjour

    Hébergement Free c'est sympa, mais alors c'est parfois particulier...

    je sais pas si ça vas vous aidez mais j'ai déjà eu un souci similaire et il fallait créer un dossier "sessions" a la racine de site...
    0
    1. JackAttack Messages postés 12 Statut Membre 10
       
      Merci, c'est la première chose que j'ai faite, les droits d'accès sont "700".
      0