la programmation du site incompatible avec PHP 5.3.10

Répondre
alexandryne
le 03/03/2012 à 18:21
alexandryne
Bonsoir,

Mon site fonctionnait parfaitement depuis plus d'un an, mais depuis 3 jours, l'hébergeur a mis la nouvelle version de PHP : le 5.3.10. L'hébergeur m'a dit qu'il semblerait que la programmation du site soit incompatible avec PHP 5.3.10. Si vous pouviez m'aider à voir ce qui ne va plus dans le code. Merci. Les messages pour l'inscription et pour la connexion sont :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/public_html/accueil/index.php:1) in /home/public_html/accueil/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/public_html/accueil/index.php:1) in /home/public_html/accueil/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/accueil/index.php:1) in /home/public_html/accueil/index.php on line 24

inscription.php

<?php  <?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
//On teste &eacute;galement si elles ne sont pas vides

if (empty($_POST['civilite']) || empty($_POST['login']) || empty($_POST['pass']) || empty($_POST['pass_confirm']) || empty($_POST['email']) || empty($_POST['nom']) || empty($_POST['prenom']) || empty($_POST['adresse']) || empty($_POST['cp']) || empty($_POST['ville']) || empty($_POST['pays']) || empty($_POST['date_naissance']) || empty($_POST['ciel']) || empty($_POST['blanche'])) $erreur = 'Vous devez remplir tous les champs !';
elseif ($_POST['pass'] != $_POST['pass_confirm']) $erreur = "Les deux mots de passe sont diff&eacute;rents.";
elseif ($_POST['ciel'] != "bleu") $erreur = "Ce n'est pas la bonne couleur.";
elseif ($_POST['blanche'] != "a") $erreur = "Ce n'est pas la 3&egrave;me lettre du mot blanche.";
else {
$base = mysql_connect ('*****', '********', '*********');
mysql_select_db ('********', $base);

$id_parrain='';
if( empty($_POST['id_parrain']) ) $id_parrain= mysql_real_escape_string( $_post['id_parrain']);

$id_parrain='';

if( isset( $_post['id_parrain']) && ! empty($_POST['id_parrain'] ) )
{
//alors $id_parrain prend pour valeur
$id_parrain= mysql_real_escape_string( $_post['id_parrain']);
}


// on recherche si ce login est d&eacute;j&agrave; utilis&eacute; par un autre membre
$sql = 'SELECT count(*) FROM membres_jeux WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membres_jeux VALUES("",
"'.mysql_escape_string($_POST['civilite']).'",
"'.mysql_escape_string($_POST['login']).'",
"'.mysql_escape_string(sha1($_POST['pass'])).'",
"'.mysql_escape_string($_POST['email']).'",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['adresse']).'",
"'.mysql_escape_string($_POST['cp']).'",
"'.mysql_escape_string($_POST['ville']).'",
"'.mysql_escape_string($_POST['pays']).'",
"'.mysql_escape_string($_POST['date_naissance']).'",
"'.mysql_escape_string($_POST['id_parrain']).'",
"'.date('Y/m/d').'",
"'.date('His').'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre poss&egrave;de d&eacute;j&agrave; ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}



?>
?>


index.php

<?php <?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

$base = mysql_connect ('*****', '*******', '*******');
mysql_select_db ('******', $base);

// on teste si une entr&eacute;e de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membres_jeux WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_sha1="'.sha1(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une r&eacute;ponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune r&eacute;ponse, le visiteur s'est tromp&eacute; soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros probl&egrave;me :)
else {
$erreur = 'Prob&egrave;me dans la base de donn&eacute;es : plusieurs membres ont les m&ecirc;mes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?> ?>
LA GLOBULE
le 03/03/2012 à 20:12
LA GLOBULE
Tu as un saut de ligne avant ton <?php dans index.php.

Il faut enlever tout espace et tout saut de ligne avant ton <?php.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours