aujourd'hui un de mes amis a eu un problème avec son livre d'or. Nous utilisons un petit livre d'or orienté php qui fonctionnait bien sauf pour une chose: il avait atteint sa limite de messages.session_start() question
Donc ce que j'ai fait est de modifier le fichier blog et de modifier le paramètre suivant: // Entrée maximale stockée dans le fichier de données $ max_record_in_data_file = 1800;
Au moment où j'ai fait cela, quelque chose s'est très mal passé. J'ai téléchargé le fichier en arrière sur le serveur et obtenu les éléments suivants:
Warning: session_start() [function.session-start]: ne peut pas envoyer cookie de session - têtes déjà envoyés par (output started at E: \ inetpub \ vhosts \ trilogianocturnus.com \ httpdocs \ guestbook.php: 1) dans E: \ inetpub \ vhosts \ trilogianocturnus.com \ httpdocs \ guestbook.php en ligne 95
Je ne sais pas ce que cela est, je suis très nouveau à PHP, mais d'après ce que je comprends, cela signifie que quelque chose est déjà appelé par le navigateur avant session_start
La page se trouve à l'adresse: http://trilogianocturnus.com/guestbook.php
Le code avant que la tête est la suivante:
<?
/*-----------------------------------------------------
COPYRIGHT NOTICE
Copyright (c) 2001 - 2008, Ketut Aryadana
All Rights Reserved
Script name : ArdGuest
Version : 1.8
Website : http://www.promosi-web.com/script/guestbook/
Email : [email protected]
Download URL :
- http://www.promosi-web.com/script/guestbook/download/
- http://www.9sites.net/download/ardguest_1.8.zip
This code is provided As Is with no warranty expressed or implied.
I am not liable for anything that results from your use of this code.
------------------------------------------------------*/
//--Change the following variables
//Title of your guestbook
$title = "Guestbook Nocturnus";
//Change "admin" with your own password. It's required when you delete an entry
$admin_password = "***";
//Enter your email here
$admin_email = "***";
//Your website URL
$home = "http://www.trilogianocturnus.com/main.html";
//Send you an email when someone add your guestbook, YES or NO
$notify = "YES";
//Your Operating System
//For Windows/NT user : WIN
//For Linux/Unix user : UNIX
$os = "WIN";
//Maximum entry per page when you view your guestbook
$max_entry_per_page = 10;
//Name of file used to store your entry, change it if necessary
$data_file = "ardgb18.dat";
//Maximum entry stored in data file
$max_record_in_data_file = 1800;
//Maximum entries allowed per session, to prevent multiple entries made by one visitor
$max_entry_per_session = 10;
//Enable Image verification code, set the value to NO if your web server doesn't support GD lib
$imgcode = "YES";
//Color & font setting
$background = "#000";
$table_top = "#000";
$table_content_1a = "#090909";
$table_content_1b = "#000000";
$table_content_2a = "#090909";
$table_content_2b = "#000000";
$table_bottom = "#000";
$table_border = "#1f1f1f";
$title_color = "#9f0000";
$link = "#9f0000";
$visited_link = "#9f0000";
$active_link = "#9f0000";
$font_face = "verdana";
$message_font_face = "arial";
$message_font_size = "2";
//-- Don't change bellow this line unless you know what you're doing
$do = isset($_REQUEST['do']) ? trim($_REQUEST['do']) : "";
$id = isset($_GET['id']) ? trim($_GET['id']) : "";
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$self = $_SERVER['PHP_SELF'];
if (!file_exists($data_file)) {
echo "<b>Error !!</b> Can't find data file : $data_file.<br>";
exit;
} else {
if ($max_record_in_data_file != "0") {
$f = file($data_file);
rsort($f);
$j = count($f);
if ($j > $max_record_in_data_file) {
$rf = fopen($data_file,"w");
if (strtoupper($os) == "UNIX") {
if (flock($rf,LOCK_EX)) {
for ($i=0; $i<$max_record_in_data_file; $i++) {
fwrite($rf,$f[$i]);
}
flock($rf,LOCK_UN);
}
} else {
for ($i=0; $i<$max_record_in_data_file; $i++) {
fwrite($rf,$f[$i]);
}
}
fclose($rf);
}
}
}
session_start();
$newline = (strtoupper($os) == "WIN") ? "\r\n" : "\n";
switch ($do) {
case "":
$record = file($data_file);
rsort($record);
$jmlrec = count($record);
?>
J'ai bien sûr, retiré le mot de passe et e-mail pour la sécurité, maintenant ici estle drôle.
Cette erreur a commencé à se produire au moment où j'ai changé cette configuration là-haut, mais si j'ai essayé de revenir à 1800 (je l'ai changé en 11800 pour le tester), ça me donne cette erreur.
Une idée de ce que c'est?
L'URL du livre d'or est: promosi-web.com/script/guestbook/
Vous avez peut-être besoin d'un redémarrage du serveur Web, possible? Pouvez-vous essayer de forcer un session_end pour toutes les sessions en direct, le cas échéant? Je me demande simplement. – Kangkan
duplication possible de [En-têtes déjà envoyés par PHP] (http://stackoverflow.com/questions/8028957/headers-already-sent-by-php) – Jocelyn