Probleme avec moteur de recherche interne

Résolu
blig Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
blig Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai coder un petit moteur de recherche interne à mon site, tout se passe bien mais il y a un oetit probleme (évidemment) : une fois la recherche faite , si quelqu'un clique sur un lien il s'ouvre normalement, mais si il tente de faire page précédente pour revenir aux résultats de sa recherche, là hic!
FF affiche une fenêtre lui envoie un alert expliquant qu'il faut recharger la page,
et IE l'envoie sur une page blanche qui lui explique qu'il doit actualiser.

Bref pas super, surtout si il s'agit de quelqu'un qui s'y connait pas trop.

Y aurait-il un moyen de remédier à cela? Doit-je écrire les résultats de la recherche dans un fichier à part?
Peut-on mémoriser la page produite par le moteur, jusqu'à la recherche suivante?

Merci de vos réponses.
A voir également:

4 réponses

blig Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   2
 
J'ai oublié de vous mettre le code:

<?php

$_SESSION['mot'] = $_POST['mot'];
$mot = $_SESSION['mot'];
$mot = strtolower( $mot );
$occur = array();
$occur2 = array() ;
$occur3 = array() ;
$caractere_special=array(
"à"=>"à",
"á"=>"á",
"â"=>"â",
"ã"=>"ã",
"ä"=>"ä",
"å"=>"å",
"æ"=>"æ",
"ç"=>"ç",
"è"=>"è",
"é"=>"é",
"ê"=>"ê",
"ë"=>"ë",
"î"=>"î",
"ï"=>"ï",
"ô"=>"ô",
"ö"=>"ö",
"ù"=>"ù",
"ú"=>"ú",
"û"=>"û",
"ü"=>"ü",
"&"=>"&",
);
$files = glob('./tract/*.php');
foreach ( $files as $adress ){
$adress2 = strtolower( $adress );
if ( ! strpos( $adress2 , 'type' ) ){
$cour = file_get_contents ( $adress );
$cour = strtolower( $cour );
$cour = str_replace("\n"," ",$cour);
$cour = str_replace(" "," ",$cour);
$cour = str_replace(" "," ",$cour);
foreach($caractere_special as $caractere_code=>$caractere_traduction){
$cour = str_replace("$caractere_code","$caractere_traduction",$cour);
}
if ( substr_count ( $cour , $mot ) > 0 ) {
$occur[ $adress ] = substr_count ( $cour , $mot ) ;
}
}
}
$files = glob('./page_journal/article/combat_*/*.php');
foreach ( $files as $adress ){
$adress2 = strtolower( $adress );
if ( ! strpos( $adress2 , 'type' ) ){
$cour = file_get_contents ( $adress );
$cour = strtolower( $cour );
$cour = str_replace("\n"," ",$cour);
$cour = str_replace(" "," ",$cour);
$cour = str_replace(" "," ",$cour);
foreach($caractere_special as $caractere_code=>$caractere_traduction){
$cour = str_replace("$caractere_code","$caractere_traduction",$cour);
}
if ( substr_count ( $cour , $mot ) > 0 ) {
$occur2[ $adress ] = substr_count ( $cour , $mot ) ;
}
}
}
$files = glob('./brochure/combat/*.php');
foreach ( $files as $adress ){
$adress2 = strtolower( $adress );
if ( ! strpos( $adress2 , 'type' ) ){
$cour = file_get_contents ( $adress );
$cour = strtolower( $cour );
$cour = str_replace("\n"," ",$cour);
$cour = str_replace(" "," ",$cour);
$cour = str_replace(" "," ",$cour);
foreach($caractere_special as $caractere_code=>$caractere_traduction){
$cour = str_replace("$caractere_code","$caractere_traduction",$cour);
}
if ( substr_count ( $cour , $mot ) > 0 ) {
$occur3[ $adress ] = substr_count ( $cour , $mot ) ;
}
}
}

$occur = array_merge( $occur , $occur2 , $occur3 );

if ( ! arsort( $occur ) ) {echo 'ca marceh âs';}

foreach ( $occur as $adress => $n_oc ){

$cour = file_get_contents ( $adress );
$cour = str_replace( '<br/>' , ' ' , $cour);
$cour = str_replace ( '<br />' , ' ' , $cour );
$cour = str_replace ( '<br>' , ' ' , $cour );
if ( strpos ( $adress , 'tract' ) ) {
$titre = strstr ( $cour , '<div class="tract_titre">') ;
$titre = substr ( $titre , strlen( '<div class="tract_titre">' ) , strlen( $titre ) );
$titre = substr ( $titre , 0 , strpos( $titre , '</div>' ) - strlen('</div>' ) );
$extrait = strstr ( $cour , '<div class="tract_titre">' );
$extrait = substr ( $extrait , strpos( $extrait , '</div>') + strlen('</div>') , strpos( $extrait , '</div>') + 300 ) ;
$dernier_espace = strrpos ( $extrait , " " ) ;
$extrait = substr ( $extrait , 0 , $dernier_espace );
$extrait = $extrait.'...' ;
}

else if ( strpos ( $adress , 'page_journal' ) ) {
$titre = strstr ( $cour , '<div class="article_titre">') ;
$titre = substr ( $titre , strlen( '<div class="article_titre">' ) , strlen( $titre ) );
$titre = substr ( $titre , 0 , strpos( $titre , '</div>' ) - strlen('</div>' ) ) ;
$extrait = strstr ( $cour , '<div class="article_titre">' );
$extrait = substr ( $extrait , strpos( $extrait , '</div>') + strlen('</div>') , strpos( $extrait , '</div>') + 300 ) ;
$dernier_espace = strrpos ( $extrait , " " ) ;
$extrait = substr ( $extrait , 0 , $dernier_espace );
$extrait = $extrait.'...' ;
}

if ( strpos ( $adress , 'brochure' ) ) {
$titre = strstr ( $cour , '<div class="brochure_titre">') ;
$titre = substr ( $titre , strlen( '<div class="brochure_titre">' ) , strlen( $titre ) );
$titre = substr ( $titre , 0 , strpos( $titre , '</div>' ) - strlen('</div>' ) );
$extrait = strstr ( $cour , '<div class="brochure_titre">' );
$extrait = substr ( $extrait , strpos( $extrait , '</div>') + strlen('</div>') , strpos( $extrait , '</div>') + 300 ) ;
$dernier_espace = strrpos ( $extrait , " " ) ;
$extrait = substr ( $extrait , 0 , $dernier_espace );
$extrait = $extrait.'...' ;
}

echo '<div class="result_rech"><div class="result_rech_titre"><a href="'.$adress.'">'.$titre.'</a></div>'.$extrait.'</div>' ;

}



?>
0
blig Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   2
 
un petit up!
0
blig Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   2
 
Ca y est j'ai trouvé pour ceux que ca peut interresser, il faut créer un page ou l'on passe les valeurs envoyé par le submit en session et faire action=le_nom_de_cette_page dans le <form...

A bon entendeur salut
0
blig Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   2
 
un petit up!
0