Classifica

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
No, ma è una cosa completamente inutile. Se hai una tabella utenti con dentro i dati dell'utente non serve a niente duplicarli nella tabella classifica. Basta lasciare il campo id e poi recuperi dinamicamente i dati. E poi: cosa vuol dire "non trasmette i dati"?
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Grazie Ale per la risposta, non trasmette i dati nel senso...quando io faccio il questionario e clicco invia...tutto ok...passa alla pagina php.php dicendomi se sono esatte o sbagliate. Però quando vado a sul broswer a scrivo http://pincopallo/classifica.php non mi esce nulla...pagina bianca.

Grazie!
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao!!!

Ho risolto parzialmente così, ho modificato le sessioni mettendo nella pagina php.php


$_SESSION['punteggio']=$punteggio;

E nella pagina classifica.php ho modificato così

$punteggio=$_SESSION['punteggio'];

Ora mi dà il punteggio, però di tutti e 3 gli utenti registrati non solo mio...e in più se chiudo e riaccedo con un altro nick mi cancella il punteggio dell'altro utente e mi rimette quello attualmente fatto, cancellando quindi quello precedente, non mi salva niente in pratica...

Grazie!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
piccolo consiglio visto che siamo gia arrivati a pag 7.
chiudiamo qesta discussione (e se i moderatori sono d'accordo) apriamone un'altra dove posti lo/gli script che hai fatto.
se non sono d'accordo posta che continuiamo qui
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ok, grazie, se ne devo aprire un altro, no problem...

Gli script ora sono:

Ho due tabelle nel db:
UTENTI con id, cognome_utente, nome_utente, pass e mail (funziona)
CLASSIFICA con id, cognome_utente, nome_utente, tot e punteggio.

Questa è la pagina domanda.php

PHP:
<?php
if(!isset($_SESSION)){session_start ();} 

require('config.php');

if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
    $default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));
?>

<form action="php.php" method="post">
<p><b></b></p>
<input type="radio" name="R1" value="1"></input><br>
<input type="radio" name="R1" value="2"></input><br>
<input type="radio" name="R1" value="3"></input><br>
<input type="radio" name="R1" value="4"></input><br>
<input type="radio" name="R1" value="5"></input><br><br>
 
<p><b></b></p>
<input type="radio" name="R2" value="1"></input><br>
<input type="radio" name="R2" value="2"></input><br>
<input type="radio" name="R2" value="3"></input><br>
<input type="radio" name="R2" value="4"></input><br>
<input type="radio" name="R2" value="5"></input><br><br>
 
<p><b></b></p>
<input type="radio" name="R3" value="1"></input><br>
<input type="radio" name="R3" value="2"></input><br>
<input type="radio" name="R3" value="3"></input><br>
<input type="radio" name="R3" value="4"></input><br>
<input type="radio" name="R3" value="5"></input><br><br>

<p><b></b></p>
<input type="radio" name="R4" value="1"></input><br>
<input type="radio" name="R4" value="2"></input><br>
<input type="radio" name="R4" value="2"></input><br>
<input type="radio" name="R4" value="4"></input><br>
<input type="radio" name="R4" value="5"></input><br><br>

<input type="submit" value="Rispondi" />
</form>

Questa è la pagina php.php (funziona col form ma non trasmette i dati nella pagina classifica.php

PHP:
<?php
if(!isset($_SESSION)){session_start();}  

require('config.php');

if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
    $default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));
?>

<?php

$db_host = '';
$db_utente = '';
$db_password = '';
$db_nomedb = '';

$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);
?>

<?php
$risposta_corretta_domanda1=3;
$risposta_corretta_domanda2=1;
$risposta_corretta_domanda3=4;
$risposta_corretta_domanda4=1;

$frase1=isset($_POST['R1'])?$_POST['R1']:"";
$frase2=isset($_POST['R2'])?$_POST['R2']:"";
$frase3=isset($_POST['R3'])?$_POST['R3']:""; 
$frase4=isset($_POST['R4'])?$_POST['R4']:""; 
$punteggio = 0;      // variabile del risultato

if($frase1 == $risposta_corretta_domanda1) { 
$punteggio++; 
echo "<b>Risposta alla domanda 1</b> : <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>"; 
} else {
if ($frase1 == "") echo "<b>Domanda 1</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 1</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
} 

 
if($frase2 == $risposta_corretta_domanda2) { 
$punteggio++; 
echo "<b>Risposta alla domanda 2</b>: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase2 == "") echo "<b>Domanda 2</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 2</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
} 
 
if($frase3 == $risposta_corretta_domanda3) { 
$punteggio++; 
echo "<b>Risposta alla domanda 3</b>: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase3 == "") echo "<b>Domanda 3</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 3</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
} 

if($frase4 == $risposta_corretta_domanda4) { 
$punteggio++; 
echo "<b>Risposta alla domanda 4</b>: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase4 == "") echo "<b>Domanda 4</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 4</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
} 

$tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti"; 
$_SESSION['punteggio']=$punteggio; //prima $punteggio=$_SESSION['punteggio']; 
echo "Hai totalizzato $tot"; 

?>

Questa è la pagina classifica.php

PHP:
<?php
if(!isset($_SESSION)){session_start ();}

require('config.php');

if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
    $default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));


?>

<?php 

$db_host = '';
$db_utente = '';
$db_password = '';
$db_nomedb = '';

$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);
?>

<?php 

$query=mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot");

$classifica=mysql_num_rows($query);

echo "<table>";  
//non devi usare l'array globale $_post 
while($classifica=mysql_fetch_array($query)){  

  
$cognome_utente=$classifica['cognome_utente'];  
$nome_utente=$classifica['nome_utente'];  
$tot=$classifica['tot'];
$punteggio=$_SESSION['punteggio'];
$tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti";


echo "<tr> 
    
    <td>$cognome_utente</td> 
    <td>$nome_utente</td> 
     <td>Hai totalizzato $tot</td>
    
    </tr>";  
} //fine del while 
echo "</table><br><br>";   
?>

Ora quando faccio il quiz e mi loggo io, faccio il quiz faccio 10 punti e in classifica mi dà 10 punti, il fatto stà che i 10 punti li dà anche agli altri utenti.
Inoltre, se chiudo e riapro il sito non viene memorizzato in classifica il punteggio, si riparte da zero...

Grazie infinite!
 
Ultima modifica:

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Altra cosa, forse è la query di inserimento:

$query=mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot");

Se metto FROM utenti (ho tabella nel db) mi escono gli utenti con lo stesso punteggio, se invece metto FROM classifica...pagina bianca...
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Altra cosa, forse è la query di inserimento:

$query=mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot");

Quella non mi sembra affatto una query di inserimento.

Se metto FROM utenti (ho tabella nel db) mi escono gli utenti con lo stesso punteggio, se invece metto FROM classifica...pagina bianca...

Se te ne vai per simili tentativi io ti suggerirei innanzitutto di studiare un buon manuale di PHP e MySQL almeno per comprendere ciò di cui stai parlando.
A quel punto sarà molto più semplice sia per gli altri aiutarti che per te afferrarne la logica.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
con calma poi ti dirè altre cose, ma innanzi tutto

Altra cosa, forse è la query di inserimento:

$query=mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot");

quello che hai scritto NON è una query di inserimento
la stringa per l'inserimento di dati nel db è:

"INSERT INTO tabella(campo1, campo2) VALUE('$campo1','$campo2')"
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
ciao
con calma poi ti dirè altre cose, ma innanzi tutto



quello che hai scritto NON è una query di inserimento
la stringa per l'inserimento di dati nel db è:

"INSERT INTO tabella(campo1, campo2) VALUE('$campo1','$campo2')"
Ciao Borgo! Cavolo è vero...allora devo metterla...per quello mi dava pagina bianca...provo...

Grazie!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao,cominciamo da 1.
pagina domanda.php
mi sai dire ca che ti serve l'istruzione

}
$default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));
?>
???
non hai letto cosa dice alex?

UTENTI con id, cognome_utente, nome_utente, pass e mail (funziona)
CLASSIFICA con id, cognome_utente, nome_utente, tot e punteggio.

a che ti serve ripetere cognome_utente, nome_utente nella tabella classifica?? basta l'id dell'utente
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Mi sembra inutile chiudere la discussione, tanto è un macello in ogni caso. Lo vuoi un consiglio? Studiati un manuale di PHP, MySQL e dell'interazione tra di essi, meglio se è un libro. Ti mancano proprio le basi per creare uno script del genere.
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Mi sembra inutile chiudere la discussione, tanto è un macello in ogni caso. Lo vuoi un consiglio? Studiati un manuale di PHP, MySQL e dell'interazione tra di essi, meglio se è un libro. Ti mancano proprio le basi per creare uno script del genere.
Ciao ale, hai ragione, io di certo non sono una persona intelligente, ho letto sia tutte le guide su internet che un manuale ma era troppo avanzato, ora proverò con epogeo...lo comprerò spero tra una settimana. Abbi pazienza, ora cerco di provare e provare con le poche cose che ho capito, che sono proprio poche, però la cosa importante è che mi affascina il php e mi piace quando ottengo qualche risultato anche con aiuti. Spero di migliorare. Ancora grazie per la pazienza che avete.
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
ciao,cominciamo da 1.
pagina domanda.php
mi sai dire ca che ti serve l'istruzione

}
$default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));
?>
???
non hai letto cosa dice alex?

UTENTI con id, cognome_utente, nome_utente, pass e mail (funziona)
CLASSIFICA con id, cognome_utente, nome_utente, tot e punteggio.

a che ti serve ripetere cognome_utente, nome_utente nella tabella classifica?? basta l'id dell'utente
Non mi serve per loggare l'utente?

Per l'id si è vero...
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ho messo la query di inserimento ma mi viene sempre pagina bianca accidenti :hammer:

PHP:
<?php 
$query=mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot"); 

$classifica=mysql_num_rows($query); 


echo "<table>";  
//non devi usare l'array globale $_post 
while($classifica=mysql_fetch_array($query)){  


$id=$classifica[id];  
$cognome_utente=$classifica['cognome_utente'];  
$nome_utente=$classifica['nome_utente'];  
$tot=$classifica['tot'];
$punteggio=$_SESSION['punteggio'];
$tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti";

//query di inserimento
$query="INSERT INTO classifica(id, cognome_utente, nome_utente, tot, punteggio) VALUES ('$idl', '$cognome_utente, nome_utente, $tot, $punteggio')";      
   
    $insert=mysql_query($query) or die(mysql_error()); 

    
echo "<tr> 

     <td>$id</td> 
    <td>$cognome_utente</td> 
    <td>$nome_utente</td> 
     <td>Hai totalizzato $tot</td>
    
    </tr>";  
} //fine del while 
echo "</table><br><br>";   
?>
Dove cavolino sbaglio?

Grazie!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao

Non mi serve per loggare l'utente?
così come è fatta NO, per loggiare non devi fare solo la query, ma leggere i valori dei campi e verificarli so uguali o no ai valori immessi dall'utente.

a parte quello che giustamente ha detto alex (studiare e studiare e....), forse sarebbe meglio che tu facessi un passo alla volta.
esempio sistema di log, prendendo carta e matita e scrivendoti "la lista della spesa" cioe quello che ti serve.
esempio:
problema
mi serve loggare un utente mi serve:
form per loggare
sistema per verificare il log

form per loggare:
campo di inserimento username
campo di inserimento password
I° deduzione quindi mi serve un form
II° deduzione mi serve confernare la password?
ecc....
quando hai sviscerato il tutto passi a scrivere il codice, e provare e non vai avanti sino a che il tutto non funzia senza errori.

p.s.
il metodo che ti sto accennando (sarebbe troppo lungo spiegarlo tutto in un post) si chiama top-down e ti permette di poi arrivare a scrive un codice pulito
p.s.2
il metodo è indipendente da quale linguaggio userai (php, asp...)
p.s.3
io di certo non sono una persona intelligente
:confused: cosa è l'intelligenza?
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao! Come darti/darvi torto?

Comunque grazie tantissime per quello che avete fatto per me, vedrò un attimo di rivedere questa benedetta classifica.

Ciao!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Tommy03 Algoritmo classifica SQL MySQL 0
M [PHP] Elenco con "classifica" delle informazioni nel db PHP 3
cristoforo58 Classifica PHP MySQL PHP 2
primis Classifica Facebook Offerte e Richieste di Lavoro e/o Collaborazione 0
R Creare una classifica con Access 2007 Database 1
M Aggiornare valori in mysql (classifica) PHP 8
E Classifica MySQL 7
Web Designer Classifica 2012 dei migliori antivirus in commercio Sicurezza e Virus 9
P Script per classifica Tipster CMS (Content Management System) 2
G Script per Classifica PHP 2
cosov Estrarre valori unici per classifica Classic ASP 4
M php script per classifica PHP 2
O classifica parimerito Classic ASP 1
N Problema Classifica gioco Flash 1
D Chi mi può aiutare nel fare 1 classifica? PHP 1
S Classifica Gioco Flash 2
A Assegnare rango ad una classifica in MS Access MS Access 1
A Da prompt java a classifica Javascript 1
M Promuovi il tuo sito nella nuova classifica della SABA Top100 SEO e Posizionamento 0
N Creazione classifica per gioco HTML e CSS 1
L classifica amministrative... provinciali... Leggi, Normative e Fisco 0
G votare una classifica Classic ASP 2
C Sito in classifica Supporto Mr.Webmaster 2
G votare una classifica HTML e CSS 3
peppoweb Classifica annuale delle 50 persone più importanti e influenti del Web. Discussioni Varie 3

Discussioni simili