Php - Testo ripetuto nel Form ? parte il messaggio

Salve a tutti ho un problema con un Form di ricerca , mi spiego meglio :

Digitando nel Form il titolo di un articolo il database restituirà ovviamente il testo relativo .....

Quello che dovrei fare e aggiungere un messaggio del tipo " Hai già ricercato questo titolo...

nel caso in cui la ricerca venga ripetuta , ossia se l'utente digita a distanza di poco tempo la stessa frase

Ovviamente il testo trovato nel database verrebbe visualizzato comunque

Un amico mi ha suggerito di usare i cookie ed e quello che vorrei fare , avreste qualche suggerimento pratico da darmi ?

Posto il codice :

<?php
include("open.php");
$chiave=$_REQUEST['chiave'];  
top();
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file open.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (",", $chiave);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{ $parola = trim($parola);
if ($parola != "")
$query .= "titolo = '$parola' OR testo = '$parola' OR autore = '$parola' OR ";
}
$query .= " 0";
$query = "SELECT id, testo, data FROM news WHERE " . $query;
$result = mysql_query($query, $db);
if (mysql_num_rows($result)==0) {
die ("Articolo non presente nel database");
}
else 
while ($row = mysql_fetch_array($result))
{
$data = date("",$row['data']);
$testo = $row['testo'];
echo
"<a&nbsp&nbsp</a><br>";      
echo "<a> $data &nbsp $testo </a><br>";     
}
mysql_close($db);
foot();
?>

Questo e il codice che mi è stato suggerito ma non avendo mai avuto a che fare con i cookie non so ne dove metterlo ne come modificarlo , sempre che funzioni !

$cerca = "test"; // qui ci va la tua variabile che contiene la chiave

LA MIA VARIABILE SAREBBE     $TESTO  ?

$cookie = $_COOKIE['valore'];

$cookie = $cookie."+".$cerca;

setCookie('valore', $cookie);

foreach(explode("+", $cookie) as $valore){

if ($valore == $cerca AND $cont !== 0){

echo "Hai già cercato questo termine => $valore";

$cont = 0;

// rimanenete parte dove visualizzi il testo

}

}

inviato 7 anni fa
Exe
Exe
1
modificato 7 anni fa
X 0 X

Non usare i cookie ma la sessione. Costruisci un array in sessione inserendo tutte le stringhe ricercate.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X
Non usare i cookie ma la sessione.

Ti ringrazio per il suggerimento , ma questo database verrà usato in locale eventualmente da diverse macchine , e a quanto mi risulta l'array  $_SESSION  associato a una sessione e salvato in file sul server e non sulla macchina dell'utente .

Un amico mi ha suggerito un codice , ma non ho mai avuto a che fare con i cookie ..... quindi ogni suggerimento e ben accetto !

Eccolo quì :

$cerca = "test"; // qui ci va la tua variabile che contiene la chiave
$cookie = $_COOKIE['valore'];
$cookie = $cookie."+".$cerca;
setCookie('valore', $cookie);
foreach(explode("+", $cookie) as $valore){
if ($valore == $cerca AND $cont !== 0){
echo "Hai già cercato questo termine => $valore";
$cont = 0;
// rimanenente parte dove visualizzi il testo
}
}

LA MIA VARIABILE SAREBBE     $TESTO  ?

INOLTRE COME DOVREI MODIFICARLO PER APPLICARLO AL MIO CODICE ?

Ciao e Grazie !                         :bye:

risposto 7 anni fa
Exe
Exe
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda