-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtalkToData
More file actions
176 lines (159 loc) · 6.35 KB
/
talkToData
File metadata and controls
176 lines (159 loc) · 6.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<?php
class talkToData {
private static $nomeHost = "localhost";
private static $nomeUtente = "root"; // per progetti non didattici, mai
private static $password = ""; // accedere come root senza password
private static $nomeDb = "CLASSIFICA1"; //NOME DEL DB
public static function connetti() //PROCEDURA STANDARD DI CONNESSIONE A DATABASE
{
$connessione = @mysql_connect(self::$nomeHost, self::$nomeUtente, self::$password);
// la @ all'inizio della funzione nasconde eventuali warning all'utente
if (!$connessione)
throw new Exception("Impossibile connettersi all'archivio: ");
$database = mysql_select_db(self::$nomeDb);
if (!$database)
throw new Exception("Impossibile connettersi alla classifica: ");
return $connessione;
}
public static function ostacolo($liv)
{
talkToData::connetti();
$tabella = "LABIRINTI".$liv;
$query1= sprintf("SELECT * FROM ".$tabella);
$risultato = mysql_query($query1);
$ri = "";
while ($riga = mysql_fetch_array($risultato))
{
$ri = $ri."".$riga["XINIZIO"]." ". $riga["YINIZIO"]." ".$riga["DIREZIONE"]." ".$riga["LUNGHEZZA"]."-";
}
@mysql_close($connessione);
return $ri;
}
public static function verificaUtente($nome, $pw)
{
//CONNESSIONE E GESTINE ERRORI DI CONNESSIONE:
$connessione = talkToData::connetti();
//query1 preventiva per capire se il nome è nuovo oppure c'è già
$risultatoHTML = "";
$query1= sprintf("SELECT * FROM CREDENZIALI WHERE NOME=%s",talkToData::filtraCodiceSQL($nome));
$risultato = mysql_query($query1);
while ($riga = mysql_fetch_array($risultato))
{
$risultatoHTML = $risultatoHTML . $riga["NOME"] . "\n";
$nomeQ = $riga["NOME"];
$pwQ = $riga["PASSWORD"];
}
if($risultatoHTML!="") // SE NON é VUOTO, QUINDI ESISTE GIà
{
if (($nome==$nomeQ) && ($pw==$pwQ))
{
@mysql_close($connessione); // SEMPRE CHIUDERE
return true;
}
else
{
@mysql_close($connessione); // SEMPRE CHIUDERE
return false;
}
}
else // SE INVECE � VUOTO QUINDI � NUOVO
{
@mysql_close($connessione); // SEMPRE CHIUDERE
return false;
}
}
public static function inserisciUtente($nome, $pw)
{
$connessione = talkToData::connetti();
//query1 preventiva per capire se il nome � nuovo oppure c'� gi�
$risultatoHTML = "";
$query= sprintf("SELECT NOME FROM CREDENZIALI WHERE NOME=%s",talkToData::filtraCodiceSQL($nome));
$risultato = mysql_query($query);
while ($riga = mysql_fetch_array($risultato)) {
$risultatoHTML = $risultatoHTML . $riga["NOME"] . "\n";
}
if($risultatoHTML!="") // SE NON � VUOTO, QUINDI ESISTE GI�
{
@mysql_close($connessione); // SEMPRE CHIUDERE
return false;
}
else // SE INVECE � VUOTO QUINDI � NUOVO
{ //FACCIO UN INSERIMENTO
$query= sprintf("INSERT INTO CREDENZIALI (NOME, PASSWORD) VALUES (%s, %s)", talkToData::filtraCodiceSQL($nome),
talkToData::filtraCodiceSQL($pw));
mysql_query($query);
}
@mysql_close($connessione); // SEMPRE CHIUDERE
return true;
}
public static function salvaRecord($nome, $punteggio)
{
$connessione = talkToData::connetti();
$query = sprintf("SELECT * FROM CLASSIFICA WHERE NOME=%s ORDER BY PUNTEGGIO ASC LIMIT 5", talkToData::filtraCodiceSQL($nome));
$risultato = mysql_query($query);
$i=0;
while ($riga = mysql_fetch_array($risultato))
{
$i++;
}
if ($i<5) //se l'utente ha meno di 5 record
{
$query= sprintf("INSERT INTO CLASSIFICA (NOME, PUNTEGGIO) VALUES (%s, %s)", talkToData::filtraCodiceSQL($nome), $punteggio);
mysql_query($query);
}
else //modifico quello più basso se il nuovo punteggio è maggiore
{
$query = sprintf("SELECT * FROM CLASSIFICA WHERE NOME=%s ORDER BY PUNTEGGIO ASC LIMIT 1", talkToData::filtraCodiceSQL($nome));
$risultato = mysql_query($query);
$riga = mysql_fetch_array($risultato);
$ris=$riga["PUNTEGGIO"];
if($punteggio>$ris) // FACCIO UN UPDATE
{
$query = sprintf("UPDATE CLASSIFICA SET PUNTEGGIO=%s WHERE NOME=%s ORDER BY PUNTEGGIO ASC LIMIT 1", $punteggio, talkToData::filtraCodiceSQL($nome));
mysql_query($query);
}
}
@mysql_close($connessione); // SEMPRE CHIUDERE
}
public static function leggiRecordGenerale()
{
$connessione = talkToData::connetti();
$classif = array();
$query = sprintf("SELECT * FROM CLASSIFICA ORDER BY PUNTEGGIO DESC LIMIT 10");
$risultato = mysql_query($query);
$i=0;
while ($riga = mysql_fetch_array($risultato))
{
$classif[$i]=array($riga["NOME"], $riga["PUNTEGGIO"]);
$i++;
}
@mysql_close($connessione); // SEMPRE CHIUDERE
return $classif;
}
public static function leggiRecordPersonale($nome)
{
$connessione = talkToData::connetti();
$classif = array();
$query = sprintf("SELECT * FROM CLASSIFICA WHERE NOME=%s ORDER BY PUNTEGGIO DESC", talkToData::filtraCodiceSQL($nome));
$risultato = mysql_query($query);
$i=0;
while ($riga = mysql_fetch_array($risultato))
{
$classif[$i]=$riga["PUNTEGGIO"];
$i++;
}
@mysql_close($connessione); // SEMPRE CHIUDERE
return $classif;
}
// ripulisce le stringhe da salvare all'interno della base dati //PRESO PARI PARI DA ES 4
private static function filtraCodiceSQL($stringa) {
if (get_magic_quotes_gpc())
$stringa = stripslashes($stringa);
// toglie gli slash (\) altrimenti potrebbero essere aggiunti due volte
if (!is_numeric($stringa))
$stringa = "'" . mysql_real_escape_string($stringa) . "'";
// converte i caratteri speciali SQL in modo che le query siano sicure
return $stringa;
}
}
?>