Probleme Mysql Important, besoin d'aide :(

Salut sa va faire longtemps maintenant que mon site a beaucoup d’erreur Mysql, j’ai chercher sur internet mais j’ai trouver aucune réponses…donc je me décide enfin de poster sur le forum de clubic en espérant une réponse qui pourrait m’aider!

Tout d’abord je vous passe mon site pour que vous voyez les erreur par vous meme : http://teamcs.sod.free.fr/

Donc deja je vous le dit, je ne peut pas de connecter…

Sur le site vous pouvez voir tout en haut cette erreur :

Au block stats vous pouvez voir cette erreur aussi :

Donc sa nous fait déjà 2erreurs, passons a la connexion, quand je me connecte et site…

Là…très gros problème…
(je met en “spoiler” parce que c’est assez gros…)
[spoiler]Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 150

Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php:150) in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php:150) in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php:150) in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php:150) in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php:150) in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php:150) in /mnt/104/sdb/7/2/teamcs.sod/modules/User/index.php on line 1341[/spoiler]

Donc cette erreur je la vois a pêne, j’ai été obliger d’arrêter le chargement de la page et il me mettent ça maintenant…

[spoiler]Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/104/sdb/7/2/teamcs.sod/Includes/nkSessions.php on line 150

Login en cours…

Attention, vous êtes en session provisoire, vous serez déconnecté au bout de 5 minutes d’inactivité !

Votre navigateur n’autorise pas les cookies, veuillez régler vos paramètres de confidentialité sur accepter tous les cookies, pour plus d’information sur ce sujet, allez sur le site de Microsoft France[/spoiler]

Et après je ne suis pas connecter et on me renvoi a la page d’accueil…

Voila toutes les erreur que j’ai remarquer…je précise que avant ces erreur je n’est rien toucher du tout au site, ftp, mysql…rien je suis aller sur mon site normalement.
Donc voila je sais pas qu’est ce qu’il s’est passer…
Je précise, encore et aussi, que je n’avais auparavant jamais vu ce probleme de cookies et microsoft france…

Voila après mon long problème, je remercie d’avance ceux qui pourrons m’aider!

PS: C’est un site fait avec le Nuked Klan.
Edité le 28/08/2008 à 10:57

Salut,
il y a clairement un pb au niveau de la requete du fichier “nkSessions.php” à la ligne 150 comme l’indique le message d’erreur.
Donc vérifie bien cette requete.

Ensuite les erreurs “Warning: Cannot modify header information - headers already sent by” apparaissent quand le code précédent l’instruction “header” présente un ou plusieurs erreurs. En effet, il ne faut rien afficher avant toute instruction header. Si il y a une erreur avant alors le message d’erreur apparait ce qui entraine ce type d’erreur.

Bref, les erreurs provenant de mysql trouvent (presque?) toujours leur origine dans des requêtes (ou traitements de requête) SQL mal formulées.

heuu…j’ai pas trop compris ce que tu ma dit ^^ je connais rien en mysql, en codage, tout sa :frowning: si tu pourrais m’expliquer en détail ce que je doit faire sa serait gentil

ok…

Pas de up pour moins de 24h.

Prochaine fois, je ferme (cf. Règle )

Est-ce que tu as développer ton site directement en ligne ?
Est-ce que avant de le mettre en ligne tu n’as pas commencer à le développer avec un serveur de développement (ex: easyPHP, wamp5, …) ?
Au cas où tu as commencer à le développer ton site avec un serveur de développement avant de le mettre en ligne, quelle serveur de développement est-ce que tu utilisait ? Est-ce que avant de le mettre en ligne tu avait des erreurs ?

:slight_smile:

j’ai rien compris O_O
j’ai simplement mi les fichier de nuked klan et apres j’ai fait tout ce qui est news et forum, tout sa quoi

Quand tu programmes en C++ ou en Java (probablement en SQL aussi), il arrive que l’on ait des “warnings”. Cela signifie qu’il y a peut-être une erreur.
On vérifie alors si il y a erreur, ou si y’a pas d’erreur. Il peut être tout à fait normal qu’il programme fonctionne avec des “warnings”.

Je crois avoir compris que le seul et unique problème que tu as, c’est l’affichage de ces “warnings”. Donc, si vraiment c’est le seul problème de ton site, que tout le reste fonctionne parfaitement, il te suffirait de supprimer l’affichage de ces “warnings”.
Par exemple, si le fond est noir, tu fait que le warning s’affiche en noir…

N’importe quoi (pour la partie "cacher le warning avec un fond noir…/etc)

Un warning c’est assez souvent une erreur non bloquante ou une façon de programmer pouvant amener à des erreurs bloquantes.

S’il y a un warning, il faut chercher pourquoi (et en l’occurrence, il ne peut pas faire de cookies, ou placer des entêtes via header).

Et pour ton problème, ce warning n’apparait qu’avec trois fonctions : header(), setcookie(), session_start(), et c’est du à l’envoi de données avant l’envoi des entêtes HTTP.

Vire tous les caractères blancs (espace, etc) avec <?php de la première instruction de ce type

C’est bien simpa de m’expliquer, mais je comprend rien du tout, je sais pas où il faut aller pour viré ce que tu me dit…

C’est facile, le warning t’indique un nom de fichier ainsi qu’un numéro de ligne.

Au passage, pourrais-tu changer le titre de ton sujet/topic pour quelque chose de plus explicite, décrivant ton problème?

Merci

Oui mais quand j’ai trouver le fichier et la ligne, j’en fait quoi ?

Tu as deux problèmes:

  1. le titre du sujet
  2. tes requêtes SQL foirent. Donc il faut déjà les corriger. Le truc c’est que je ne connais pas ce que tu utilises

bah moi je comprend pas ce que tu dit, et j’ai essayer de changer le tire, sa marche pas.
ques que tu veut dire par “ce que tu utilises”? si c’est pour savoir le logiciel que j’utilise pour trouver la ligne, bah c’est notepad++
Edité le 28/08/2008 à 10:53

juste une question,
=> le site, c’est toi qui l’a fait? (si j’ai bien compris, non!)
enfin 2 questions :
=> tu sais programmer?

parce que l’on te dit que tu as un soucis au niveau de 3 fonctions (j’ai pas vérifié ton site) header(), setcookie(), et session_start(). Donc je te proposerais plutôt de te renseigner sur les fonctionnalités de ces fonctions, car il est clair que pour le moment, si tu ne sais pas à quoi ça sert et si tu ne sais pas programmer, ce qu’ils te diront sera du charabia.

de plus,

Perso, je ne peux pas t’aider, pas d’assez bonnes connaissances, mais il est sur que eux, ne sont pas là pour te donner des cours!!! je pense qu’il faudrait d’abord que tu te renseigne sur les différentes fonctions, sur la programmation de base en php. Et je pense que même s’il te donnait un pas à pas, tu ne saurais pas où placer les modifications, ou autre…

Mais j’avoue que je suis mal placée pour dire ça… Mais savoir un minimum sur le php pourrait beaucoup t’aider pour ton site.

Peux tu me le donner (pas par pm) que je le change?

Ouais et moi je vois que tu sais pas ques que c’est nuked klan, donc arrête de parler merci, tu sert a rien…

Et pour “Sans-Nom” si c’est le fichier que tu veut, voila un copier coller de ce qu’il y a dedans :
[spoiler]<?php
// -------------------------------------------------------------------------//
// Nuked-KlaN - PHP Portal //
// www.nuked-klan.org… //
// -------------------------------------------------------------------------//
// This program is free software. you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License. //
// -------------------------------------------------------------------------//
if (eregi(“nkSessions.php”, $_SERVER[‘PHP_SELF’]))
{
die (“You cannot open this page directly”);
}

$lifetime = $nuked[‘sess_days_limit’] * 86400;
$timesession = $nuked[‘sess_inactivemins’] * 60;
$time = time();
$timelimit = $time + $lifetime;
$sessionlimit = $time + $timesession;

$cookie_session = $nuked[‘cookiename’] . “_sess_id”;
$cookie_theme = $nuked[‘cookiename’] . “_user_theme”;
$cookie_langue = $nuked[‘cookiename’] . “_user_langue”;
$cookie_visit = $nuked[‘cookiename’] . “_last_visit”;
$cookie_admin = $nuked[‘cookiename’] . “_admin_session”;
$cookie_forum = $nuked[‘cookiename’] . “_forum_read”;

// Création d’un cookie captcha
$cookie_captcha = $nuked[‘cookiename’] . “_captcha”;
setcookie($cookie_captcha, 1);

if (isset($_COOKIE[$cookie_theme]) && $_COOKIE[$cookie_theme] != “”) $user_theme = $_COOKIE[$cookie_theme];
if (isset($_COOKIE[$cookie_langue]) && $_COOKIE[$cookie_langue] != “”) $user_langue = $_COOKIE[$cookie_langue];

if ($_SERVER[‘HTTP_CLIENT_IP’]) $uip = $_SERVER[‘HTTP_CLIENT_IP’];
else if ($_SERVER[‘HTTP_X_FORWARDED_FOR’]) $uip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];
else if ($_SERVER[‘REMOTE_ADDR’]) $uip = $_SERVER[‘REMOTE_ADDR’];
if (isset($uip) && $uip != “” && ereg("^(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]|[1-9]).){1}((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]).){2}((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]){1}))$", $uip)) $user_ip = $uip;
else $user_ip = ‘’;

function secure()
{
global $nuked, $user_ip, $time, $cookie_visit, $cookie_session, $cookie_forum, $sessionlimit, $timesession, $timelimit, $thread_id, $file;

$id_user = '';
$user_type = 0;
$user_name = '';
$last_visite = 0; 
$nb_mess = 0;

if (isset($_COOKIE[$cookie_session]) && $_COOKIE[$cookie_session] != "")
{
    $id_de_session = $_COOKIE[$cookie_session];
    
}
else
{
    $id_de_session = "";
}

$encode_ip = base64_encode($user_ip);

if ($id_de_session != "")
{
    $sql = mysql_query("SELECT user_id, last_used FROM " . SESSIONS_TABLE . " WHERE id = '" . $id_de_session . "'");
    $secu_user = mysql_num_rows($sql);
    list($id_user, $last_used) = mysql_fetch_array($sql);

    $sql2 = mysql_query("SELECT niveau, pseudo FROM " . USER_TABLE . " WHERE id = '" . $id_user . "'");
    list($user_type, $user_name) = mysql_fetch_array($sql2);

    $last_visite = $last_used;
    
    $upd = mysql_query("UPDATE " . SESSIONS_TABLE . " SET ip = '', date = '" . $time . "' WHERE id = '" . $id_de_session . "'");
	
	if (isset($file) && isset($thread_id) && $file=='Forum' && is_numeric($thread_id) && $thread_id>0 && $secu_user>0)
	{
		$select_thread = "SELECT MAX(id) FROM " . FORUM_MESSAGES_TABLE . " WHERE date > " . $last_used . " AND thread_id = " . $thread_id . " ";
		$sql_thread = mysql_query($select_thread);
		list($max_mess_id) = @mysql_fetch_array($sql_thread);
		
		if ($max_mess_id > 0)
		{
			if (isset($_COOKIE[$cookie_forum]) && $_COOKIE[$cookie_forum] != "")
			{
				$id_read_forum = $_COOKIE[$cookie_forum];
				if (eregi("[^0-9,]", $id_read_forum)) $id_read_forum = "";
				$table_read_forum = explode(',',$id_read_forum);
				if (!in_array($max_mess_id,$table_read_forum)) setcookie($cookie_forum, $id_read_forum.",".$max_mess_id, $timelimit);
			}
			else setcookie($cookie_forum, $max_mess_id, $timelimit);
		}
	}
} 
else if ($user_ip != "" && $user_ip != "127.0.0.1" && $nuked['sess_inactivemins'] > 0)
{
    $sql = mysql_query("SELECT id, user_id, last_used FROM " . SESSIONS_TABLE . " WHERE ip = '" . $encode_ip . "' AND  date > " . $time . " - " . $timesession . "");
    $secu_user = mysql_num_rows($sql);
    list($id_de_session, $id_user, $last_used) = mysql_fetch_array($sql);

    $sql2 = mysql_query("SELECT niveau, pseudo FROM " . USER_TABLE . " WHERE id = '" . $id_user . "'");
    list($user_type, $user_name) = mysql_fetch_array($sql2);
    $last_visite = $last_used;

    $upd = mysql_query("UPDATE " . SESSIONS_TABLE . " SET date = '" . $time . "' WHERE id = '" . $id_de_session . "'");
} 
else
{
    $secu_user = 0;
}	

if ($secu_user == 1)
{
	$sql_mess = mysql_query("SELECT * FROM " . USERBOX_TABLE . " WHERE user_for = '" . $id_user . "' AND status = 0");
	$nb_mess = mysql_num_rows($sql_mess);
    $user = array($id_user, $user_type, $user_name, $user_ip, $last_visite, $nb_mess);
} 
else
{
    $user = array();
} 	
return $user;

}

function admin_check()
{
global $user, $cookie_admin;

if (isset($_COOKIE[$cookie_admin]) && $_COOKIE[$cookie_admin] == $user[0]) $session_admin = 1;
else  $session_admin = 0;

return $session_admin;

}

function session_check()
{
global $nuked, $user_ip, $cookie_session, $time, $timesession;

$encode_ip = base64_encode($user_ip);

if (isset($_COOKIE[$cookie_session]) && $_COOKIE[$cookie_session] != "")
{
	$session = 1;						
}
else if ($user_ip != "" && $user_ip != "127.0.0.1" && $nuked['sess_inactivemins'] > 0)
{
    $sql = mysql_query("SELECT id FROM " . SESSIONS_TABLE . " WHERE ip = '" . $encode_ip . "' AND date > " . $time . " - " .$timesession . "");
    $session_true = mysql_num_rows($sql);
    if ($session_true > 0)
    {
        $session = 1;
    } 
} 
else
{
    $id_de_session = "";
    $session = 0;
} 
return $session;

}

// initialise avec les microsecondes
function make_seed()
{
list($usec, $sec) = explode(’ ', microtime());
return (float) $sec + ((float) $usec * 100000);
}

function init_cookie()
{
$test = setcookie($cookie_session, “”);
setcookie($cookie_userid, “”);
setcookie($cookie_theme, “”);
setcookie($cookie_langue, “”);
setcookie($cookie_forum, “”);

return($test);

}

function session_new($userid, $remember_me)
{
global $nuked, $cookie_session, $cookie_userid, $cookie_theme, $cookie_langue, $cookie_forum, $user_ip, $timelimit, $sessionlimit, $time;

$session_id = "";
$test = "";
$upd = "";
$ins = "";
$taille = 20;
$lettres = "abCdefGhijklmNopqrstUvwXyz0123456789";
srand(make_seed());

for ($i = 0;$i < $taille;$i++)
{
    $session_id .= substr($lettres, (rand() % (strlen($lettres))), 1);
} 

$encode_ip = base64_encode($user_ip); 

$test = init_cookie();

$upd = mysql_query("UPDATE " . SESSIONS_TABLE . " SET `id` = '" . $session_id . "', last_used = date, `date` =  '" . $time . "', `ip` = '" . $encode_ip . "' WHERE user_id = '" . $userid . "'");
$nbu = mysql_affected_rows();
if ($nbu == 0) $ins = mysql_query("INSERT INTO " . SESSIONS_TABLE . " ( `id` , `user_id` , `date` , `ip` , `vars` ) VALUES( '" . $session_id . "' , '" . $userid . "' , '" . $time . "' , '" . $encode_ip . "', '' )");
if ($upd !== FALSE && $ins !== FALSE) {
	if ($remember_me == "ok") $test = setcookie($cookie_session, $session_id, $timelimit);
    else $test = setcookie($cookie_session, $session_id);
}

}

?>[/spoiler]

Inutile d’être insultant envers les gens.

Et puisque tu es comme ça : www.nuked-klan.org…

Je suppose qu’ils ont un forum ad hoc…

(nota: prochaine remarque de ce genre, je ne serais pas si conciliant et fermerait de facto le topic)
Edité le 28/08/2008 à 13:27

OLIX 13, mon post n’avait pas pour but de te descendre ou autre, difficile de mettre de l’intonation derrière un ordinateur…

Je m’explique, tu poses des questions, mais tu ne comprends pas les réponses, quelques soient les réponses, si tu n’as pas de connaissances minime en php, tu ne pourras pas les comprendre. En rien je ne te traite d’incapable ou d’inutile…sois en certain.

Peut être que le style d’écriture peut te paraitre dur ou froid, mais il n’en ai rien (en ce qui me concerne!!!)…

PS: éh non, je ne connais pas nuked klan, et apparemment, c’est pas un défaut…(non pas que je critique nuked klan _puisque je ne connais pas!)

Je suis pas con…j’ai deja poster un message sur leur forum mais leur forum est mort donc sa m’aide pas trop
www.nuked-klan.org…