Click su pulsante una volta sola

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
sto facendo un sito come facebook dove sotto la foto c'è il classico pulsante "mi piace"
però questo pulsante si deve cliccare una volta sola per ogni singola persona.
Sicuramente ci vorrà il confronto con l'indirizzo ip ma non so come strutturare il programma.

ecco l'esempio :mavieni:
http://max400scuola.altervista.org/aaa/facebook.php


e questo è lo script :book:

PHP:
<div align=center>
<img src="http://static.fanpage.it/gossipfanpage/wp-content/uploads/gallery/ritocchi-al-seno-2009/giorgia-palmas-prima-e-dopo-600x450.jpg" width=500 height=350><br>

<?php

$varl = fopen("numero.txt", "r");
$num = fread($varl, filesize("numero.txt"));
fclose($varl);

echo "questa foto piace a <font color=red><b> $num </b></font> persone";

if(isset($_POST['pulsante'])){
$var = fopen("numero.txt", "r");

$var = fopen("numero.txt", "r");
$contenuto = fread($var, filesize("numero.txt"));

$somma=$contenuto+1;
fclose($var);

$var2 = fopen("numero.txt", "w+");
fwrite($var2, $somma);
fclose($var2);
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<input name="pulsante" type="submit" value="mi piace">
</form>
</div>
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
La variabile che ti serve è $_SERVER['REMOTE_ADDR'], la registri nel file e se è già presente ignori il click.
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
ahhhhh - il gatto mi ha graffiato!!!

Ciao Eliox e grazie per la risposta....
il mio gatto quando ha visto il tuo avatar mi ha graffiato ed è scappato via!

Avevo immaginato che ci voleva l'indirizzo ip però ci vorrebbe anche il numero dei tentativi per quell'indirizzo ip, bisogna per forza all'avvio della pagina, creare un file.txt
che parta da 0 (una specie di variabile booleana non so se si usa anche qui su php oltre che in flash) quando questa arriva ad 1 anche se si preme il pulsante "mi piace" esso non deve aumentare più il numero delle persone a cui piace quella foto... ma visualizzerà la scritta " hai gia cliccato" con uno stupido echo.

Il problema è che se 100 o 200 persone visitano quella pagina io avrò nel mio spazio web 100 file txt con questa varibile booleana che parte da 0.

Inoltre il file che registra il numero del click sul pulsante deve incrementare per essere sempre diverso per ogni visitatore altrimenti verrà sovrascritto...

i se sono molti ma il discorso è semplice come da titolo un click una volta sola.
La prima cosa che viene in mente è un semplice reidirect ad una pagina simile ma senza pulsante.
 

urahara°

Nuovo Utente
6 Set 2011
3
0
0
clik sul link una sola volta

Ciao!!

Anche mi puoi dire come hai perfezionato il codice?

A me servirebbe così:

Ho questa immagine con il link se la clicchi vieni reindirizzato ad un'altra pagina (fino a qui non ci sono problemi) però quell'immagine-link può essere cliccata solo una volta per utente come faccio??

grazie 1000 in anticipo ^^
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ciao ... l'argomento è un po lungo da spiegare...
in breve ti posso dire che il sistema dell'indirizzo ip...essendo dinamico (che cambia in continuazione)
non rende il lavoro ottimale... si può troncare prendendolo come array con la funzione explode
in modo di averlo approssimativo ma bloccherebbe l'accesso ad altri utenti

guarda queste discussioni potrebbero esserti utile
http://max400.forumfree.it/?t=55721839
http://max400.forumfree.it/?t=56115227

in conclusione devi creare un sistema di registrazione in modo che ogni utente clicchi una volta sola
quindi anzicchè l'ip il confronto viene eseguito in riferimento al nome utente (o password).

Non c'è altro modo.
 

urahara°

Nuovo Utente
6 Set 2011
3
0
0
ok grazie... il sistema di registrazione c'è l'ho già visto che è un forum phpbb (ultima versione)...

quindi al tuo precedente codice:

<?php

$varl = fopen("numero.txt", "r");
$num = fread($varl, filesize("numero.txt"));
fclose($varl);

echo "questa foto piace a <font color=red><b> $num </b></font> persone";

if(isset($_POST['pulsante'])){
$var = fopen("numero.txt", "r");

$var = fopen("numero.txt", "r");
$contenuto = fread($var, filesize("numero.txt"));

$somma=$contenuto+1;
fclose($var);

$var2 = fopen("numero.txt", "w+");
fwrite($var2, $somma);
fclose($var2);
}
?>

cos'altro deve aggiungere (non sono esperto del linguaggio php)??

Grz 1000
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
il sistema di registrazione c'è l'ho già visto che è un forum phpbb (ultima versione)...
ma io non sono esperto di phpbb quindi non saprei come collegartelo.

Quello che posso fare e darti il codice per il confronto... poi vedi un po tu di allacciartelo con l'altro

esempio
http://max400scuola.altervista.org/aaa/a-php/a_login_database/select-tabella1.php

username: banana
password: joe

PHP:
<?php
if(isset($_POST['user']) && ($_POST['pass'])){
$user=htmlspecialchars($_POST['user']);
$pass=htmlspecialchars($_POST['pass']);

include "dati-connessione-database.php";

//Prepara la query, in una variabile
$query = "SELECT * FROM tua_tabella WHERE usernamet='".$_POST['user']."' AND passwordt='".$_POST['pass']."'";
$result = mysql_query($query);

//recupero i dati che arrivano dal database
$row = mysql_fetch_array($result);

$row['usernamet'];
$row['passwordt']; 

if (($user==$row['usernamet']) and ($pass==$row['passwordt'])) {

echo " - verifica: OK <br>";
echo " 5 secondi andrai alla pagina riservata";
header('Refresh: 5; url=la_tua_area_riservata.html');

}else{
echo " - verifica: KO";
}
}

?>
<br>
<div align=center>
<table><tr><td>
<form action="<? php_self; ?>" method="POST">
Username: <input type="text" name="user"><br>
Password: <input type="text" name="pass"><br>
<input type="submit" value="invia">
</form>
<div align="center">
<br>
</div>
</td></tr></table>
</div>

dove c'è scritto verifica ko... li aumenterai il numero delle persone a cui piace la foto
nell'altro "verifica ok" significa che il nome è presente in elenco (quindi hai già cliccato)
e non puoi più cliccare...

Non è difficile magari come inizio prova con 2 pagine
una in cui inserici il nome (oppure l'utente si registra)
nell'altra l'immagine col pulsante "mi piace".
A me per ora mi secca ripredere e fare prove
forse più avanti...
per ora sto lavorando ad un altro progetto
alla Posta Elettronica Anti-Spammer
in cui lo script è simile a questo...

Ciao e buona Fortuna
by Max_400
 

urahara°

Nuovo Utente
6 Set 2011
3
0
0
Ciao...

Io volevo fare una cosa del tipo metto un'immagine con link dentro al pannello utente di phpbb (fin qui tutto a posto). Mi serve il codice php per far in modo che quell'utente accedendo al suo pannello di controllo, può cliccare una sola volta sull'immagine e quindi far partire il link una sola volta.

Volevo sapere se c'è d'aggiungere qualcos'altro qui (qualche codice) o creare qualcosa nel DB.

PHP:
<?php 

$varl = fopen("numero.txt", "r"); 
$num = fread($varl, filesize("numero.txt")); 
fclose($varl); 

echo "questa foto piace a <font color=red><b> $num </b></font> persone"; 

if(isset($_POST['pulsante'])){ 
$var = fopen("numero.txt", "r"); 

$var = fopen("numero.txt", "r"); 
$contenuto = fread($var, filesize("numero.txt")); 

$somma=$contenuto+1; 
fclose($var); 

$var2 = fopen("numero.txt", "w+"); 
fwrite($var2, $somma); 
fclose($var2); 
} 
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [Javascript] click su pulsante Javascript 1
L [Javascript]Aprire div con click e chiuderlo con altro pulsante Javascript 2
Occhioverde [PHP] Incrementare variabile al click di un pulsante PHP 5
E php problema incremento e decremento di 2 variabili con click da pulsante PHP 0
P problema su come gestire il pulsante con il click PHP 4
I come si fa a fare un pulsante con conta click HTML e CSS 1
A click sul pulsante exit e chiusura automatica della present html su cd con autoplay Javascript 1
Cosina Cambio colore sfondo al click Javascript 2
Samuele Ronzani Click e reload della pagina PHP 1
T contatore totale click e media in secondi PHP 7
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
C [OFFRO] Click Day - Risoluzione Captcha Offerte e Richieste di Lavoro e/o Collaborazione 4
C [OFFRO] Opportunita' Click Day (anche per non esperti informatici) Offerte e Richieste di Lavoro e/o Collaborazione 0
M [Javascript] Aggiornare like totali dopo click Javascript 0
A Campagna Facebook non c'è più opzione pay to click? Social Media Marketing 0
trattorino [Javascript] effetto carino sul click mi aiutate? Javascript 1
napuleone [Javascript] simulare click del mouse al 'onload' Javascript 1
M [XAMARIN] Accettare una chiamata telefonica al click su bottone Sviluppo app per Android 3
R [MS Access] COME APRIRE UNA MASCHERA FACENDO DOPPIO CLICK SU UN RECORDSET MS Access 1
R [MS Access] aprire maschera con doppio click su recordset di sottomaschera MS Access 4
otto9due Al Click su optgroup di un select, far comparire le option annidate jQuery 2
F Fermare oggetto che si muove al click del mouse - Javascript Ajax 1
S [Visual Basic] access 2010 click su pagina html Visual Basic 1
C Nascondere un div al click di una casella Ajax 1
trattorino [Javascript] Ricordare il click con i cookies Javascript 8
L Come caricare <iframe> dopo il click ad un immagine, per migliorare le prestazioni. Discussioni Varie 0
U [Javascript] Menu responsive non scompare col click sui link Javascript 0
trattorino [HTML] input automatico al click HTML e CSS 2
M [Javascript] far scomparire il menu al click Javascript 0
S [Javascript] Catturare l'evento click di un bottone Javascript 3
S [Javascript] Aggiornare solo un DIV una sola volta con un click di un bottone Javascript 9
O [PHP] Conteggio click PHP 4
U [Javascript] [HTML] doppio click Javascript 18
D [Javascript] Simulare click / touch su mobile Javascript 7
A [Javascript] Mancata aggiunta di una classe al click Javascript 1
E [Javascript] SpryMenuBar da attivare con click Javascript 0
S [Javascript] Sequenza alternata condizionata dal click Javascript 2
otto9due Immagine scompare ed esce testo, secondo click torna tutto com'era.. jQuery 7
webmachine Testo che cambi al click jQuery 1
napuleone Ho lo script da click ma non da js jQuery 3
E [Javascript] Collegamento al "click" al foglio .js Javascript 6
webmachine [JQUERY] Cambiare immagine al click, toggle jQuery 1
F Righe di una tabella a comparsa con click Javascript 11
M funzione click con plugin vide Javascript 0
J Abilitare bottone dopo click su immagine Javascript 1
T Richiamare il click su un input type="image" alla pressione del tasto invio su una text area. PHP 0
Gozer Inserisci nuovo imput di testo a ogni click jQuery 0
felino [Slider Revolution] Cambio slide con click del mouse WordPress 0
felino [C#] Click di un Button tramite il tasto Enter .NET Framework 2
M aggiungere classe al click Javascript 1

Discussioni simili