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 :)
A voir également:

4 réponses

ElementW Messages postés 5690 Statut Contributeur 1 224
 
'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
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
ElementW Messages postés 5690 Statut Contributeur 1 224 > 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
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
Hywalle Messages postés 290 Statut Membre 62
 
Un problème dans votre script PHP, il faudrait chercher par ici.
0
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
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
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
Ben314 Messages postés 3302 Statut Membre 1 497
 
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
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