avocat

Inscris le 14/05/2010 à 15:13
  • Nombre de sujets
    1
  • Nombre de messages
    13
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

avocat
le 15/05/2010 à 19:40
problème pendant exportation FORUMACTIF
Ca a l'air de fonctionné ! Merci beaucoup dark_nemo, cependant j'espere que ca ne modifiera rien pour le moment ou je ferai un nouveau forum et importerai cette base de données ?
avocat
le 14/05/2010 à 23:52
problème pendant exportation FORUMACTIF
Oui exactement, non forumactif ne fourni pas les BDD ! C'est pour cela que c'est une téchnique bien spéciale.

Mais comment je fais pour enlever l'auto-encremente et la clé primaire DU SCRIPT ?

Merci pour ton aide
avocat
le 14/05/2010 à 20:47
problème pendant exportation FORUMACTIF
Ce script sert à pomper un forum (forumactif) et de faire une base de données pour un futur forum en php.

Je poste quand même l'adresse : http://www.le-lalf.fr.nf/doc-exp-forumactif.php
avocat
le 14/05/2010 à 20:46
problème pendant exportation FORUMACTIF
Je suis mort de rire, je ne souhaite pas faire de pub pour un autre site, donc si tu souhaites on pourrait se contacter par mail ou bien ?


vicescaches@hotmail.fr
avocat
le 14/05/2010 à 20:16
problème pendant exportation FORUMACTIF
je te mets tout le script du fichier recuperation-posts.php :







<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Recup&eacute;ration des messages</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<div style="text-align:center;">
<img id="chargement" src="chargement.gif" alt="Recherche en cours..." title="Recherche en cours..." \><br /> <!-- Animation de chargement -->
<span id="progression">0</span> messages ont été trouvés. <!-- Nombre de forums trouvés -->
<div id="fin"><br /></div></div> <!-- Affichage de la fin -->


<?php
/* License: GNU/GPL
Auteur: Roromis*/

ini_set('display_errors', 0);
set_time_limit(0);

include("config.php"); //Fichier de configuration généré par le fichier install.php
include("include.php"); //Fichier permettant de se connecter au forum.

set_time_limit(0);

$NombreDePages = 0;
$MessagesParPage = 0;
$cookies = connectionForum(FORUM_URL, FORUM_USER, FORUM_PASS);

mysql_connect(BDD_HOST, BDD_USER, BDD_PASS);
mysql_select_db(BDD_NAME)or die(mysql_error());

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");

$sql = "CREATE TABLE if not exists forumactif_posts (
id bigint(4) unsigned NOT NULL auto_increment,
contenu text,
topic int,
date int,
auteur text,
PRIMARY KEY (id)
) CHARACTER SET utf8";

/********************************************************************
************** forumactif_posts: contient les messages. ************
* id: id du message. *
* contenu: texte du message. *
* topic: topic auquel appartient le message. *
* date: Date (timestamp) *
* auteur: auteur du message *
********************************************************************/

mysql_query($sql)or die('Erreur: ' . mysql_error() . '<br />Requ&ecirc;te: "' . $sql . '"');

$sql = "TRUNCATE TABLE forumactif_posts"; //On vide la table avant tout
mysql_query($sql)or die('Erreur: ' . mysql_error() . '<br />Requ&ecirc;te: "' . $sql .'"');

$total = 0;

//calcul des dates hier et aujourd'hui
$val_aujourdhui = getdate();
$val_hier = getdate(time() - (24*60*60) );
$jours = array("Dim","Lun","Mar","Mer","Jeu","Ven","Sam");
$mois = array("","Jan","Fév","Mar","Avr","Mai","Juin","Juil","Aoû","Sep","Oct","Nov","Dec");
$aujourdhui = $jours[$val_aujourdhui["wday"]]." ".$val_aujourdhui["mday"]." ".$mois[$val_aujourdhui["mon"]]." ".$val_aujourdhui["year"]." -";
$hier = $jours[$val_hier["wday"]]." ".$val_hier["mday"]." ".$mois[$val_hier["mon"]]." ".$val_hier["year"]." -";

$months = array(
'Jan' => 1,
'Fév' => 2,
'Mar' => 3,
'Avr' => 4,
'Mai' => 5,
'Juin' => 6,
'Juil' => 7,
'Aoû' => 8,
'Sep' => 9,
'Oct' => 10,
'Nov' => 11,
'Déc' => 12
);

$sql = "SELECT * FROM forumactif_topics"; //cherche dans la BDD les forums pas encore fouillés
$data = mysql_query($sql)or die('Erreur: ' . mysql_error() . '<br />Requête: "' . $sql . '"');

while ($topics = mysql_fetch_array($data))
{

for ($j = 0; $j <= $NombreDePages; $j++)
{
$NumPage = $j * $MessagesParPage;
$lien = FORUM_URL . "/a-t" . $topics['id'] . "-" . $NumPage . ".htm";
$CodeOriginal = recupererContenu(FORUM_URL, $lien, FORUM_USER, FORUM_PASS, $cookies, true);

if ($j == '0')
{
$NombreDePages = 0;
preg_match_all('#function do_pagination_start\(\)[^\}]*start = \(start > \d+\) \? (\d+) : start;[^\}]*start = \(start - 1\) \* (\d+);[^\}]*\}#s', $CodeOriginal, $Page);
$MessagesParPage = $Page[2][1];
$NombreDePages = $Page[1][1];
}

$CodeFinal = preg_replace('#<\!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">.*<th nowrap="nowrap" width="150">Derniers Messages</th></tr>#s','<table>', $CodeOriginal);

preg_match_all('#<tr class="post"><td class="(row1|row2)" valign="top" width="\d+"><span class="name"><a name="(\d+)"></a><strong>(<a href="/profile\.forum\?mode=viewprofile&amp;u=\d+">|)(<span style="color:\#.{6}"><strong>|)(.+)(</strong></span>|)</a></strong>#U', $CodeFinal, $Messages);

preg_match_all('#<img src="[^">]*" alt="" border="0" />([^<]*)</span></td><td( align="right"|) valign="top" nowrap="nowrap" class="post-options">#U', $CodeFinal, $Messages_suite);

for ($i = 0; isset($Messages[0][$i])==true; $i++) //insere les messages dans la BDD
{
$total++;
$Auteur = mysql_real_escape_string(utf8_encode(html_entity_decode($Messages[5][$i])));

$Date = str_replace(array("Aujourd'hui à","Hier à"), array($aujourdhui,$hier), utf8_encode(html_entity_decode($Messages_suite[1][$i])));

preg_match('#.{3} (\d{1,2}) (.{3,4}) (\d{4}) - (\d{1,2}):(\d{1,2})#', $Date, $arrayDate);
$timestamp = mktime($arrayDate[4], $arrayDate[5], '0', $months[$arrayDate[2]], $arrayDate[1], $arrayDate[3]);

$sql = "INSERT INTO forumactif_posts VALUES('" . $Messages[2][$i] . "', '', '" . $topics['id'] . "', '" . $timestamp . "', '" . $Auteur . "')";
mysql_query($sql)or die('Erreur: ' . mysql_error() . '<br />Requête: "' . $sql . '"');

$total = progression($total);
}

}
}

fin('Traitement des timestamps terminée.<br />La recherche des messages est terminée.<br />Vous pouvez maintenant <a href="contenu-posts.php">rechercher le contenu des messages</a>.');

?>

</body>
</html>
avocat
le 14/05/2010 à 20:12
problème pendant exportation FORUMACTIF
Merci pour te pencher sur mon cas ;)

alors sur ta demande de modification, je l'ai faites, le résultat me donne ca :

2 messages ont été trouvés.
Traitement des timestamps terminée.
La recherche des messages est terminée.
Vous pouvez maintenant rechercher le contenu des messages.





Y'a pas que 2 messages sur mon forum.. Donc pas bon


après print-r($Messages); je le mets ou ???
avocat
le 14/05/2010 à 19:41
problème pendant exportation FORUMACTIF
je vois pas ton script pour le remplacer par ce que tu m'a proposé, je vois plutot ca lorsque j'ouvre le fichier .php :

for ($i = 0; isset($Messages[0][$i])==true; $i++) //insere les messages dans la BDD
{
$total++;
$Auteur = mysql_real_escape_string(utf8_encode(html_entity_decode($Messages[5][$i])));

$Date = str_replace(array("Aujourd'hui à","Hier à"), array($aujourdhui,$hier), utf8_encode(html_entity_decode($Messages_suite[1][$i])));

preg_match('#.{3} (\d{1,2}) (.{3,4}) (\d{4}) - (\d{1,2}):(\d{1,2})#', $Date, $arrayDate);
$timestamp = mktime($arrayDate[4], $arrayDate[5], '0', $months[$arrayDate[2]], $arrayDate[1], $arrayDate[3]);

$sql = "INSERT INTO forumactif_posts VALUES('" . $Messages[2][$i] . "', '', '" . $topics['id'] . "', '" . $timestamp . "', '" . $Auteur . "')";
mysql_query($sql)or die('Erreur: ' . mysql_error() . '<br />Requête: "' . $sql . '"');

$total = progression($total);
avocat
le 14/05/2010 à 19:30
problème pendant exportation FORUMACTIF
En fait le script réussi à prendre plein de messages jusqu'au 55 il bloque et me mets le message d'erreur.

Je ne sais donc pas si ton script à modifier va fonctionner, car il est seulement pour charlotte la apparemment alors que le mien est pour le tout
LoadingChargement en cours