Guida passo passo per classifica online

Tutorial, videotutorials ed esempi creati da noi
Solid Snake
GMI Advanced
Messaggi: 2093
Iscritto il: 19/12/2010, 16:17
Specialità: Programmazione
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Solid Snake »

Ci sono stato un solo giorno per imparare il php, non tutto ma un po' piu che le basi.
♥♥♥♥♥♥
Immagine
♥♥♥♥♥♥
Spoiler
Immagine

Avatar utente
Xxshark888xX
Membro d'elite
Messaggi: 1497
Iscritto il: 30/05/2012, 19:17
Specialità: Un poco di tutto
Uso: GM:Studio 1.4 Pro
Località: Earth
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Xxshark888xX »

Solid Snake ha scritto:Ci sono stato un solo giorno per imparare il php, non tutto ma un po' piu che le basi.
Ok, ma ora come si sistema questo errore?

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/katakan/classificaonline.php on line 13
Contatti
Steam
Facebook

Gif
Spoiler
Immagine
Immagine
Immagine
Immagine

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Tizzio »

Xxshark888xX ha scritto:
Solid Snake ha scritto:Ci sono stato un solo giorno per imparare il php, non tutto ma un po' piu che le basi.
Ok, ma ora come si sistema questo errore?

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/katakan/classificaonline.php on line 13

posta il codice

Avatar utente
Xxshark888xX
Membro d'elite
Messaggi: 1497
Iscritto il: 30/05/2012, 19:17
Specialità: Un poco di tutto
Uso: GM:Studio 1.4 Pro
Località: Earth
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Xxshark888xX »

Tizzio ha scritto:
Xxshark888xX ha scritto:
Solid Snake ha scritto:Ci sono stato un solo giorno per imparare il php, non tutto ma un po' piu che le basi.
Ok, ma ora come si sistema questo errore?

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/katakan/classificaonline.php on line 13

posta il codice
<?php
include('config.php');
if (isset($_GET['nome'], $_GET['punteggio'], $_GET['password'])) {
if (sha1($_GET['nome']."CENSORED".$_GET['punteggio']) == $_GET['password']) {
mysql_query("INSERT INTO `classificaonline` (nome,punteggio) VALUES(".$_GET['nome'].",".$_GET['punteggio'].") or die(mysql_error());
header('location: /classificaonline/');
}
}else{
$classifica_ = mysql_query('SELECT * FROM `my_katakan`.`classificaonline` ORDER BY punteggio DESC');
$num = mysql_num_rows($classifica_);
for($i=0; $i<$num; $i++){
$classifica = mysql_fetch_array($classifica_);
echo($classifica['nome']."#".$classifica['punteggio']."#")
}
}
?>
Contatti
Steam
Facebook

Gif
Spoiler
Immagine
Immagine
Immagine
Immagine

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Tizzio »

Codice: Seleziona tutto

mysql_query("INSERT INTO `classificaonline` (nome,punteggio) VALUES(".$_GET['nome'].",".$_GET['punteggio'].") or die(mysql_error());
rimpiazzalo con

Codice: Seleziona tutto

mysql_query("INSERT INTO `classificaonline` (nome,punteggio) VALUES(".$_GET['nome'].",".$_GET['punteggio'].")") or die(mysql_error());

Avatar utente
Xxshark888xX
Membro d'elite
Messaggi: 1497
Iscritto il: 30/05/2012, 19:17
Specialità: Un poco di tutto
Uso: GM:Studio 1.4 Pro
Località: Earth
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Xxshark888xX »

Tizzio ha scritto:

Codice: Seleziona tutto

mysql_query("INSERT INTO `classificaonline` (nome,punteggio) VALUES(".$_GET['nome'].",".$_GET['punteggio'].") or die(mysql_error());
rimpiazzalo con

Codice: Seleziona tutto

mysql_query("INSERT INTO `classificaonline` (nome,punteggio) VALUES(".$_GET['nome'].",".$_GET['punteggio'].")") or die(mysql_error());
Cavolo, errori su errori. Ora da questo errore

Parse error: syntax error, unexpected '}', expecting ',' or ';' in /membri/katakan/classificaonline.php on line 14

Ok, ho risolto aggiungendo " ; " però ora nel gioco quando richiamo i nomi e i punteggi mi viene dato 0... Why?

[EDIT]
Non mi funge il MyPHP, forse perché ho eliminato il file index.html? :oops:

[RI-EDIT]
Ok, ora funge il phpMyAdmin però lo stesso non visualizzo i nomi e lo score...
Contatti
Steam
Facebook

Gif
Spoiler
Immagine
Immagine
Immagine
Immagine

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Tizzio »

fai così

Codice: Seleziona tutto

$nome = mysql_real_escape_string($_GET['nome']);
$punteggio = mysql_real_escape_string($_GET['punteggio']);
mysql_query("INSERT INTO classificaonline (nome,punteggio) VALUES('$nome', '$punteggio')") or die(mysql_error());

Avatar utente
Xxshark888xX
Membro d'elite
Messaggi: 1497
Iscritto il: 30/05/2012, 19:17
Specialità: Un poco di tutto
Uso: GM:Studio 1.4 Pro
Località: Earth
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Xxshark888xX »

Tizzio ha scritto:fai così

Codice: Seleziona tutto

$nome = mysql_real_escape_string($_GET['nome']);
$punteggio = mysql_real_escape_string($_GET['punteggio']);
mysql_query("INSERT INTO classificaonline (nome,punteggio) VALUES('$nome', '$punteggio')") or die(mysql_error());
Cazzo sì, funge! Grande tizzio!

Per ringraziarti sul serio imparerò il php :asd:

P.S:

Ecco il codice che funge:

Codice: Seleziona tutto

<?php
include('config.php');
if (isset($_GET['nome'], $_GET['punteggio'], $_GET['password'])) {
if (sha1($_GET['nome']."PASSWORD".$_GET['punteggio']) == $_GET['password']) {
mysql_query("INSERT INTO classificaonline (nome,punteggio) VALUES('".$_GET['nome']."', '".$_GET['punteggio']."')") or die(mysql_error());
}
}else{
$classifica_ = mysql_query('SELECT * FROM `my_SITO`.`classificaonline` ORDER BY punteggio DESC');
$num = mysql_num_rows($classifica_);
for($i=0; $i<$num; $i++){
$classifica = mysql_fetch_array($classifica_);
echo($classifica['nome']."#".$classifica['punteggio']."#");
}
}
?>
Contatti
Steam
Facebook

Gif
Spoiler
Immagine
Immagine
Immagine
Immagine

Avatar utente
civic71
GMI Advanced
Messaggi: 2210
Iscritto il: 23/10/2003, 17:31
Specialità: Risotto con zucchine
Uso: GM:Studio 1.4 Pro
Località: Jesolo (venezia)
Contatta:

Re: Guida passo passo per classifica online

Messaggio da civic71 »

Interessante dll , la stò utilizzando solo per l' invio dei dati per la classifica di un gioco.
Per utilizzarla con GM 5.0 , ho dovuto apportare delle modifica agli script ... ma sembra funzioni . :D

Spike
Membro
Messaggi: 124
Iscritto il: 20/08/2013, 17:18
Uso: GM:Studio 2
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Spike »

Se volessi seguire questo tutorial per GM: Studio è possibile? Ci sono delle funzioni obsolete?

Ho creato un sito altervista, un database con 2 tabelle (Name e Score), creato due pagine php, poi messo i 4 script in gmstudio, creato un bottone invia dove ho messo all'evento

MOUSE LEFT RELEASED
invia("http://miosito.altervista.org/classific ... onalizzata") //ovviamente con scritto il nome del mio sito al posto di "miosito"
un bottone classifica con un altro evento
MOUSE LEFT RELEASED
nello script "ricevi" però il comando if (variable_local_exists('Name')) { non mi viene riconosciuto in quanto variable_local_exists è un comando obsoleto. E' possibile sostituirlo per fare in modo che il tutorial possa funzionare?

PS: Ho già creato un highscore locale (non che ci volesse molto)

Will
Newbie
Messaggi: 27
Iscritto il: 14/10/2013, 18:01
Specialità: Programmazione
Uso: GM:Studio 1.4 Master
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Will »

Prova a sostituire la terza riga dello script come qui di seguito:

Codice: Seleziona tutto

var a, nomi, punteggi;
a=scarica(argument0);
if (ds_exists(nomi, ds_type_list)) {                        //<< NEW CODE
ds_list_clear(nomi);
ds_list_clear(punteggi);
}
nomi=ds_list_create();
punteggi=ds_list_create();
while(a != "") {
ds_list_add(nomi,string_copy(a,1,string_pos("#",a)-1));
a=string_delete(a,1,string_pos("#",a));
ds_list_add(punteggi,string_copy(a,1,string_pos("#",a)-1));
a=string_delete(a,1,string_pos("#",a));
}

Spike
Membro
Messaggi: 124
Iscritto il: 20/08/2013, 17:18
Uso: GM:Studio 2
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Spike »

Niente da fare, non viene riconosciuta la sintassi "ds_exists"

Will
Newbie
Messaggi: 27
Iscritto il: 14/10/2013, 18:01
Specialità: Programmazione
Uso: GM:Studio 1.4 Master
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Will »

Dalle reference del manuale online di GM:S la sintassi risulta corretta, dagli un'occhiata:

http://docs.yoyogames.com/source/dadios ... xists.html

Spike
Membro
Messaggi: 124
Iscritto il: 20/08/2013, 17:18
Uso: GM:Studio 2
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Spike »

Ah ecco.... strana 'sta cosa, da me non la riconosce. Ho gms 1.2. Provo a vedere se in un progetto vuoto viene riconosciuta, anche se... boh, sarebbe strano lo stesso. Dev'essere un baco :furiosomedio:
Ultima modifica di Spike il 19/03/2014, 21:52, modificato 1 volta in totale.

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Homunculus »

Mi pare che la funzione sia stata introdotta solo a partire da una determinata versione recente di studio dle ramo 1.2, hai studio aggiornato?

Spike
Membro
Messaggi: 124
Iscritto il: 20/08/2013, 17:18
Uso: GM:Studio 2
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Spike »

Ah, non mi resta che aggiornare alla 1.3 (mi sembra sia l'ultima) e verificare :D
Io ho la 1.2.1130

Will
Newbie
Messaggi: 27
Iscritto il: 14/10/2013, 18:01
Specialità: Programmazione
Uso: GM:Studio 1.4 Master
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Will »

Spike ha scritto:Ah, non mi resta che aggiornare alla 1.3 (mi sembra sia l'ultima) e verificare :D
Io ho la 1.2.1130
devi aggiornare alla versione direttamente successiva:

Version 1.2.1135 - ds_exists(ind, type) function added to allow check to see if given index for a data structure type exists (see documentation)

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Tizzio »

altrimenti puoi usare

Codice: Seleziona tutto

if(ds_list_find_index(...) >= 0)

Spike
Membro
Messaggi: 124
Iscritto il: 20/08/2013, 17:18
Uso: GM:Studio 2
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Spike »

Tizzio ha scritto:altrimenti puoi usare

Codice: Seleziona tutto

if(ds_list_find_index(...) >= 0)
Grazie Tizzio, non so perchè ma anche dopo aver aggiornato mi veniva riconosciuto il comando (infatti era in giallo), però ricevevo un errore di unknow command, con il tuo invece è andata bene. Facendo partire il progetto mi appare questo finimondo:
FATAL ERROR in
action number 1
of Mouse Event for Left Released
for object bottone_invia_ogg:

DoAdd :: Execution Error
at gml_Script_invia (line 0) - scarica(argument0+"?Name="+argument1+"&Score="+string(argument2)+"&miapass="+sha1(argument1+argument3+string(argument2)));
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Script_invia (line 0)
called from - gml_Object_bottone_invia_ogg_Mouse_7 (line 1) - scarica(argument0+"?Name="+argument1+"&Score="+string(argument2)+"&miapass="+sha1(argument1+argument3+string(argument2)));
ho creato un bottone che dovrebbe inviare il punteggio al click del mouse e su questo evento ho:
(non ho una variabile per il punteggio, per i punti uso solo la funzione interna score) (al posto di miosito metto il nome che appare prima di altervista.org)
appena premo il bottone mi viene dato l'errore incollato qua sopra che credo sia collegato a qualche castroneria che ho scritto nello script.

nello script 'invia' ho
scarica(argument0+"?Name="+argument1+"&Score="+string(argument2)+"&miapass="+sha1(argument1+argument3+string(argument2)));
(al posto di miapass ho inserito la password collegata al mio account su altervista)

poi ho creato un bottone chiamato classifica che dovrebbe servire per mostrarla appena premuto ed ho
(anche qui, al posto di mio sito ho messo il nome dell'account altervista che corrisponde al nome che si trova prima di altervista.org)
ma appena premo questo bottone mi si freeza il gioco e devo chiuderlo forzatamente.

Ragazzi, che diavolo sto combinando?? :piagne:

PS: Sto iniziando ora a studiarci su questa classifica online, mi serve assolutamente... :?

Avatar utente
Xxshark888xX
Membro d'elite
Messaggi: 1497
Iscritto il: 30/05/2012, 19:17
Specialità: Un poco di tutto
Uso: GM:Studio 1.4 Pro
Località: Earth
Contatta:

Re: Guida passo passo per classifica online

Messaggio da Xxshark888xX »

Ciao guidox.

Come potrei fare che se ad esempio io mando un punteggio col nickname 'Xxshark888xX' nessun'altro può usare questo nickname? Se uno lo inserisce, il gioco comunica col database fa un controllo e in base al risultato manda una risposta al gioco. Magari il nickname viene inviato anche con un ID unico così da sapere se è l'utente che per primo ha usato questo nickname o no...

In termini di codice come si fa? :asd:
Contatti
Steam
Facebook

Gif
Spoiler
Immagine
Immagine
Immagine
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti