[RISOLTO]link get senza refresh

Felice Gattuso

Utente Attivo
19 Ago 2012
41
0
0
salve a tutti ragazzi... forse di questo problema ne avrete già discusso ma in generale su internet non ho trovato buone soluzione... in sostanza... sto creando un sistema di post con annessi "HIT" ( volgarmente chiamati "mi piace") ... ora... al tasto hit linko la pagina like.php col get per aggiungere al database la hit... e con header(); rimando all'index con la posizione dell'id del post... cioè... index.php#idpost... questa cosa non è per niente comoda... cioè... diventerà un casino quando i post saranno milioni e milioni e sopratutto... quando farò in modo che verranno caricati solo a 5 a 5... ORA.... voglio fare in modo che quando clicco sul tasto hit... non ci sia nessun reindirizzamento e il numero di hit dovrà aggiornarsi sulla stessa posizione dove mi trovo... cioè proprio come su facebook al tasto mi piace... qualcuno sa come risolvere questo fastidiosissimo rompi capo ? grazie in anticipo per le risposte... fin'ora mi avete salvato la vita un sacco di volte :D vi posto qui sotto il codice

Questo è il tasto "mipiace" che io chiamo "hit"
PHP:
<a href='like.php?like=".$row['post_id']."' ><img class='hitmm' src='image/hit.png' width='20' height='23'><span class='hit'>".$hit." Hit</span></a>

Questa la pagina col get...

PHP:
if(isset($_GET['like'])){ 
if ($_GET['like']) {
	
	$query = "SELECT hit FROM post_hit WHERE post_id='".$_GET['like']."' AND user_id='".$user_id."' "; 
$query_a = mysql_query($query);
$hitid = mysql_result($query_a,0,"hit");

	if ($hitid == 0){
	
	
	$sqllike = mysql_query ("INSERT INTO `post_hit` (`hit`, `post_id`, `user_id`) VALUES ('1', '".$_GET['like']."', '$user_id');");
	
	$query = mysql_query("SELECT COUNT(*) FROM post_hit WHERE `post_id` = '".$_GET['like']."'");  
  
$totale = mysql_result($query, 0);  

$sqlphit = mysql_query ("UPDATE `post` SET `hit` = '$totale' WHERE `post`.`post_id` = '".$_GET['like']."' LIMIT 1;");
	
	
	
	
	// Rimando l'utente alla pagina principale
        Header("Location: index.php#".$_GET['like']."");
	
	
	}

}

} else { echo"Hai già hittato il post !";}
 
Ciao,
dovrai usare ajax
ti posto un semplice esempio che fa uso di Jquery per la chiamata ajax e un file di testo al posto del database
serviranno 2 file

contatore.txt
Codice:
0
mipiace.php
PHP:
<?php
$file = "contatore.txt";
$fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
$contatore = (int) fgets($fr);
fclose($fr);
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Mi piace</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <style>
            #mipiace {
                width:80px;
                background-color: #EEEEF0;
                border:1px solid #D5DAE0;
                color:#606672;
                cursor:pointer;
                padding:2px;
                font-family: Verdana;
                font-size: .8em;
            }
        </style>
    </head>
    <body>
        <div id="mipiace"><span id='contatore'><?php echo $contatore ?></span> Mi piace</div>
    </body>
    <script type="text/javascript">                                                                                                                                    
        $('#mipiace').click(function() {
            $('#mipiace').disabled = true;               
            $.ajax({    
                type: "GET",  
                url: "updatemipiace.php",  
                success: function(response){
                    $("#contatore").html(response);
                    $('#mipiace').disabled = false;
                } 
            });
        });
    </script>
</html>
updatemipiace.php
PHP:
<?php
$file = "contatore.txt";
$fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
$contatore = (int) fgets($fr) + 1;
// aggiorniamo il contatore
$fr = fopen($file, 'w') or die("Impossibile aprire il file in scrittura!");
fwrite($fr, $contatore);
fclose($fr);

echo $contatore;
?>
 

Discussioni simili

M
Risposte
16
Visite
5K
HTML e CSS
Membro cancellato 26246
M