• Home
  • Forum
  • Fare Web
  • PHP

Sistema di votazione

  • Creatore Discussione Creatore Discussione Lucart98
  • Data di inizio Data di inizio 15 Apr 2011
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #21
ciao
$id=trim(strip_tags($_GET['id']);
no, mi sono dimenticato una parentesi

PHP:
$id=trim(strip_tags($_GET['id']));

@alex
anche per quello dicevo se il gioco vale la candela, cioè se uno deve proteggere dei dati sensibili è un conto, se di poca importanza è un altro
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #22
ciao, ho trovato un minuto (così eviti di lavorare manina manina - se funzia ).
ti faccio la pag per inserire le canzoni, per ora accessibile senza password, poi vedremo l'accesso con pass e le limitazioni di accesso.
ti consiglio di farti una cartella in cui metterai tutti gli scripts per l'amministratore.
poi una piccola cosa che mi ero dimenticato:
quando fai delle pagine che poi includerai in altre NON mettere (come in registra_voto.php) i tag html
<!--<!DOCTYPE HTML PUBLIC ....... <html> <head> <body>..... -->
questo per evitare che, se li hai nella pagina includente, vengano duplicati ho diano fastidio a eventuali header.

inserisci_canzoni.php
PHP:
<?php
//in questa parte metterememo la verifica dei permessi di accesso
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!-- tutto quello che ti serve, css, tag meta... -->
</head>
<body>
<?php
//prepariamo l'inserimento
if(isset($_POST['invio'])){//premuto tasto invio
	$ok_ko="";//preparo il solito messaggio di avviso per eventuali errori o tutto bene
	//leggo gli altri post
	$titolo=trim($_POST['titolo']);
	$autore=trim($_POST['autore']);
	if($titolo==""){$ok_ko.="<br>non hai inserito il titolo";}
	if($autore==""){$ok_ko.="<br>non hai inserito l'autore";}
	if($ok_ko==""){//i dati sono stati inseriti
		//tratti i dati in modo che vengano inseriti in un modo standard
		//questo può esserti utile per verifiche o ricerche
		//e metto adslshes per eventuali '
		$titolo=addslashes(ucwords(strtolower($titolo)));
		$autore=addslashes(ucwords(strtolower($autore)));
		/*
		esempio:
		se inserisci o' SOLE mIo il titolo diventa
		O\' Sole Mio
		*/
		//non so se ti serve una verifica che non ci siano due titoli uguali?
		//mi connetto al db ATTENTO ai percorsi
		require_once("../connessione.php");
		$data_ins=time();//leggo il tempo di inserimento
		//e preparo la querystringa
		$query="INSERT INTO canzoni(titolo,autore,voti,data) VALUES('$titolo','$autore',0,$data_ins)";
		//verifico l'inserimento (cosa che potresti verificare anche nei precedenti)
		if(mysql_query($query)){
			$ok_ko="la canzone $titolo di $autore è stata inserita";
		}elase{
			$ok_ko="si è verificato un errore";
		}
	}
	//visualizzo il messaggio
	echo $ok_ko;
	//e torno al form pulito dopo 4 secondi
	echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"//$_SERVER... come per l'action del form;
}
?>

<!-- qui poi includeremo il menu di navigazione tra gli scripts dell'admin, faremo una pag menu_amm.php -->
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method="post" name="inserisci">
<!-- l'istruzione php $_SERVER... ti serve per non dover riscrive l'action se cambi nome alla pagina -->
titolo canzone: <input name="titolo" type="text"><br>
autore canzone: <input name="autore" type="text"><br>
<input name="invia" type="submit" id="invia" value="invia">
</form>
</body>
</html>
<?php
//termine della partre verifica permessi
?>

come al solito testala e sappimi dire
 
L

Lucart98

Nuovo Utente
15 Apr 2011
22
0
0
  • 19 Apr 2011
  • #23
Grazie, ma gli errori restano :-(
Parse error: syntax error, unexpected T_VARIABLE in /membri/USER/vot/registra_voto.php on line 52
PHP:
$result_v_ut=mysql_query($query_v_ut);

Parse error: syntax error, unexpected '{' in /membri/USER/vot/inserisci_canzoni.php on line 30
...e questo è un piccolo errore: c'era elase invece di else.
Ho aggiustato

Ma...
Ho aggiustato qualcosa nell'amministrazione e adesso vedo il contenuto.
Ma non aggiunge la canzone al db...

Ciao!
 
Ultima modifica: 19 Apr 2011

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #24
ciao
intanto nel file inserisci_canzoni.php correggi
if(isset($_POST['invio'])){//premuto tasto invio
con
if(isset($_POST['invia'])){//premuto tasto invio
per sbaglio ho scritto invio al posto di invia, il name del pulsante di submit è "invia".
poi verifica che i nomi della query e dei campi della tabella siano uguali anche come maiscole/minuscole.

poi cerco di vedere quello di registra_voto.php.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #25
ciao
ecco alcuni errori in registra_voto.php

correggi la riga
$id=trim(strip_tags($_GET['id']);
in
$id=trim(strip_tags($_GET['id']));
manacava una parentesi

alla riga
$query_v_ut="SELECT * FROM utenti WHERE id_c=$id AND ip='$ip'"
manca un ; aggiungilo
$query_v_ut="SELECT * FROM utenti WHERE id_c=$id AND ip='$ip'";

lo stesso alla riga
echo $ok_ko
correggi con
echo $ok_ko;

p.s.
dovrebbero sparire gli errori, non so se tutti in quanto sto operando senza aver fatto il db quindi alcuni errori mi possono sfuggire.
 
L

Lucart98

Nuovo Utente
15 Apr 2011
22
0
0
  • 19 Apr 2011
  • #26
Nel file inserisci_canzoni.php ho modificato e adesso funziona.
Il problema è che il numero dei voti rimane sempre 0 sia nella pagina che nel db, anche se quando io riprovo a votare mi dice che ho già votato...
Altro problema: provo ad aggiungere un voto manualmente, ma mi mette prima quelli con meno voti e poi quelli che ne hanno di più...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #27
ciao
in vota.php
metti nella query
$query_str="SELECT * FROM canzoni ORDER BY voti,data";
la clausola DESC
$query_str="SELECT * FROM canzoni ORDER BY voti,data DESC";

(se al posto di DESC - discendente - metti ASC ottieni l'ordinamento contrario)

altra (mia) dimenticanza nella query di uppaggio di registra_voto.php
$query_up_c="UPDATE canzoni voti=voti+1 WHERE id=$id";
mi sono dimenticato SET, correggi in
$query_up_c="UPDATE canzoni SET voti=voti+1 WHERE id=$id";

p.s.
porta pazienza, anche gli DEI sbagliano:crying:
 
L

Lucart98

Nuovo Utente
15 Apr 2011
22
0
0
  • 19 Apr 2011
  • #28
Non ti preoccupare ASSOLUTAMENTE: mi stai facendo un favore!!!

Adesso tutto funziona alla perfezione, tranne la messa in ordine...
Comunque mettendo DISC o ASC non cambia nulla... secondo me le canzoni vengono ordinate per data (boh?).
Un'altra cosa: se uno ha già votato, non posso cambiare la scritta VOTA in NON PUOI VOTARE senza collegamento? Sarebbe molto meglio.
Se è complicato lasciamo stare: l'importante è che l'utente non possa votare più volte una canzone .
Ciao!
 
Ultima modifica: 19 Apr 2011

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #29
ciao
la query
$query_str="SELECT * FROM canzoni ORDER BY voti,data";
ordina in modo decresente prima per il valore di voti e poi se necessario di data.
(non ti scrivo le date in timestamp ma in formato umano per capirci meglio(considerando però che il formato umano non è,salvo casi particolari, adatto all'ordinamento).
esempio nel db hai (id, titolo, autore, voti, data)
1 Volare Modugno 3 10.12.2009
37 Bella Ciao Pinco 7 01.01.1900
127 Marina Pallo 7 01.12.2005
153 Ho Ho Cin Ciao 0 12.12.1941
189 Ha Ha Cin Ciao 0 14.12.1941
ecc...
ti visualizza (almeno dovrebbe)
1 Marina Pallo 7
2 Bella Ciao Pinco 7 //stessi voti della precedente, ma data precedente
3 Volare Modugno 3
4 Ha Ha Cin Ciao 0
5 Ho Ho Cin Ciao 0 // c.s.
ecc...

se tutte le canzoni hanno lo stesso voto in pratica ordina solo per data
tieni presente che durante l'inserimento la data viene inserita in automatico e in timestamp, il timestamp considera anche il secondo
quindi tra un inserimento e l'altro può passare almeno un secondo, quindi quando inserisci la seconda canzone in questa viene registrato un timesamp maggiore della prima e quindi (avendo entrambe voti ==0) la seconda verrà visualizzata per prima

p.s.
buona pasqua
penso che ci risentiremo verso fine settimana dopo pasqua (salvo non trovi un pc disponibile)

p.s. al p.s.
ora votando ti aggiorna il voto?
 
L

Lucart98

Nuovo Utente
15 Apr 2011
22
0
0
  • 19 Apr 2011
  • #30
Grazie per la spiegazione.
Funziona tutto, adesso funge.
L'unica cosa è l'ordinamento: il voto maggiore è l'ultimo e come primo c'è il minore!
DISC o ASC è la stessa cosa.

Allora buonissima Pasqua se non ci risentiamo.
Ciao ciao!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Apr 2011
  • #31
ciao l'ultima prima di caricare le valige
guarda che non è DISC, ma

$query_str="SELECT * FROM canzoni ORDER BY voti,data DESC";
 
L

Lucart98

Nuovo Utente
15 Apr 2011
22
0
0
  • 19 Apr 2011
  • #32
Sì scusa ho sbagliato, comunque io scrivo DESC.

BUONA PASQUA!!! ;-)
 
L

Lucart98

Nuovo Utente
15 Apr 2011
22
0
0
  • 7 Mag 2011
  • #33
Tutto risolto, ordino soltanto per voti.
Ti chiedo l'ultima cosa (a te o a chiunque nel forum): invece di mandarlo alla pagina e da lì registrare il voto, posso mettere al posto del bottone il testo "Hai già votato" direttamente nella pagina vota.php? Grazie.
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

Presentazione foto e sistema di votazione
  • felino
  • 27 Apr 2015
  • PHP
Risposte
2
Visite
1K
PHP 1 Mag 2015
felino
Sistema votazione mysql - php a stelle
  • Alessandro Le Mura
  • 25 Mag 2013
  • PHP
Risposte
3
Visite
2K
PHP 26 Mag 2013
Longo8
A
Sistema di votazione a stelle - star rating
  • andrex1191
  • 28 Gen 2012
  • PHP
Risposte
1
Visite
3K
PHP 30 Gen 2012
Eliox
I
Sistema di votazione (era: Aiuto)
  • itb1965
  • 19 Giu 2010
  • PHP
Risposte
2
Visite
1K
PHP 21 Giu 2010
Eliox
D
Sistema votazione,aiuto con voti doppi
  • Dario23
  • 25 Mar 2009
  • PHP
Risposte
6
Visite
2K
PHP 26 Mar 2009
Dario23
D
S
Sistema di votazione recensione
  • snakefrancesco
  • 28 Giu 2008
  • Classic ASP
Risposte
3
Visite
2K
Classic ASP 28 Giu 2008
lukeonweb
F
Sistema rilevazione presenze
  • frapej
  • 25 Mar 2022
  • PHP
Risposte
1
Visite
954
PHP 16 Set 2022
thanatos
T
Sistema di news interno al sito
  • MarcoGrazia
  • 14 Gen 2022
  • PHP
Risposte
3
Visite
1K
PHP 14 Gen 2022
MarcoGrazia
T
SSD - errore sistema
  • Tefagio1
  • 1 Gen 2021
  • Hardware
Risposte
2
Visite
2K
Hardware 3 Gen 2021
Tefagio1
T
R
Come creare sistema Add to homescreen
  • Rinodc
  • 25 Set 2020
  • PHP
Risposte
3
Visite
1K
PHP 26 Set 2020
macus_adi
L
Sistema outdoor centralizzato
  • Lorenzo.porta
  • 2 Set 2020
  • IP Cam e Videosorveglianza
Risposte
0
Visite
1K
IP Cam e Videosorveglianza 2 Set 2020
Lorenzo.porta
L
F
Sistema di autenticazione e pagamento
  • Frozzen
  • 10 Gen 2020
  • PHP
Risposte
3
Visite
1K
PHP 13 Gen 2020
macus_adi
Offro sistema di affiliazione remunerato
  • LDB Multimedia e Internet
  • 15 Ott 2019
  • Offerte e Richieste di scambio links
Risposte
0
Visite
3K
Offerte e Richieste di scambio links 15 Ott 2019
LDB Multimedia e Internet
R
[PHP] Creare sistema random
  • rino2002
  • 22 Lug 2019
  • PHP
Risposte
3
Visite
2K
PHP 22 Lug 2019
macus_adi
  • Bloccata
[PHP] Sistema di gestione presenze
  • brasoft2019
  • 10 Mag 2019
  • PHP
  • 2
Risposte
29
Visite
7K
PHP 14 Mag 2019
Max 1
L
  • Bloccata
Trasferimento dei file OLM Mac in formato PST sul sistema Mac
  • leninvexy
  • 4 Mar 2019
  • Mac e Software
Risposte
1
Visite
2K
Mac e Software 18 Mar 2019
suyabar
S
S
[Javascript] Verifica separatore decimale sistema operativo
  • samurai.sette
  • 8 Gen 2019
  • Javascript
Risposte
2
Visite
2K
Javascript 23 Gen 2019
criric
Windows 8.1: installare sistema operativo e programmi in due hard disk diversi
  • felino
  • 12 Nov 2018
  • Windows e Software
Risposte
4
Visite
2K
Windows e Software 23 Nov 2018
felino
M
Esiste un sistema di video sorveglianza simile?
  • Magnolia
  • 18 Ago 2018
  • IP Cam e Videosorveglianza
Risposte
1
Visite
1K
IP Cam e Videosorveglianza 11 Set 2018
IKOULA CLOUD
W
[Javascript] Eseguire script residente nel sistema da html remota
  • w_t
  • 2 Mag 2018
  • Javascript
Risposte
0
Visite
1K
Javascript 2 Mag 2018
w_t
W
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?