Problema con mysql e php
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Problema con mysql e php
Salve ho seguito la guida di guidox per la classifica online, installata la gex per studio ma da errore nello script scarica, non riconosce il seguente comando: buffer_write_to_file(buffer, working_directory+"\download.tmp");
Non ho proprio idea di come risolvere, aspetto vostre risposte grazie in anticipo.
Non ho proprio idea di come risolvere, aspetto vostre risposte grazie in anticipo.
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Problema con mysql e php
Che errore da?
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Funzione o script sconosciuto.
Potreste postare un link di un tutorial valido per studio senza nessun errore?
Credo sia un errore di gex perche non riconoscie la funzione ho provato a caricare l altra gex contenuta nel rar del tutorial l errore spariscie ma da altro errore sempre nello stesso script su buffer=buffer_create() perche dovrebbe essere scritto cosi:
buffer=buffer_create(size,buffer_type,alignment) solo che non so come scriverlo correttamente.
Tutti i tutorial che ho seguito danno sempre errori su funzioni sconosciute anche installando le gex appropriate.
Mi servirebbe un esempio su come leggere e modificare il mio database
Potreste postare un link di un tutorial valido per studio senza nessun errore?
Credo sia un errore di gex perche non riconoscie la funzione ho provato a caricare l altra gex contenuta nel rar del tutorial l errore spariscie ma da altro errore sempre nello stesso script su buffer=buffer_create() perche dovrebbe essere scritto cosi:
buffer=buffer_create(size,buffer_type,alignment) solo che non so come scriverlo correttamente.
Tutti i tutorial che ho seguito danno sempre errori su funzioni sconosciute anche installando le gex appropriate.
Mi servirebbe un esempio su come leggere e modificare il mio database
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Raga questo esempio puo fare al caso mio?
https://www.youtube.com/watch?v=jMkIz5QRFE8
Non mai usato php e database in mysql quindi non so na mazza, ma vorrei tanto imparare.
Da quanto si vede nel video crea un gioco in html ,quindi mi chiedo potrebbe funzionare anche per windows e android? O esistono altre procedure per tali sistemi? Se e si quali?
https://www.youtube.com/watch?v=jMkIz5QRFE8
Non mai usato php e database in mysql quindi non so na mazza, ma vorrei tanto imparare.
Da quanto si vede nel video crea un gioco in html ,quindi mi chiedo potrebbe funzionare anche per windows e android? O esistono altre procedure per tali sistemi? Se e si quali?
- 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: Problema con mysql e php
seppur io non abbia visualizzato tutto il video , mi sembra che possa spiegarti le principali fasi.
Dovrebbe andare bene anche per Window... mentre per IOS eo Android , volendo , vi è la possibilità d' inserire la classifica del gioco su PlayStore eo ITunes . Manuale per Andorid e Ios ( tadotto in italiano quindi attenzione ): https://translate.googleusercontent.com ... Uu1AmLRuQg
Ti consiglio di studiarti anche le funzioni Asincrone le quali servono anche per inviare dati al proprio database :
https://translate.google.it/translate?s ... t=&act=url
Però le prime cose che dovresti fare sono:
1° Aggiungere la tabella della classifica nel tuo database .. ad essa ti consiglio di avere almeno 3 caselle : una per il nome del giocatore , una per il punteggio ed una "Unica" per la loro numerazione;
Penso che quel video possa essere utile a ciò.
2° Aggiungere il file.php nel tuo sito internet , il quale dovrà contenere il codice PHP che dovrai scrivere tu , per inserire i dati ( inviati dal gioco ) nel database.
Dovrebbe andare bene anche per Window... mentre per IOS eo Android , volendo , vi è la possibilità d' inserire la classifica del gioco su PlayStore eo ITunes . Manuale per Andorid e Ios ( tadotto in italiano quindi attenzione ): https://translate.googleusercontent.com ... Uu1AmLRuQg
Ti consiglio di studiarti anche le funzioni Asincrone le quali servono anche per inviare dati al proprio database :
https://translate.google.it/translate?s ... t=&act=url
Però le prime cose che dovresti fare sono:
1° Aggiungere la tabella della classifica nel tuo database .. ad essa ti consiglio di avere almeno 3 caselle : una per il nome del giocatore , una per il punteggio ed una "Unica" per la loro numerazione;
Penso che quel video possa essere utile a ciò.
2° Aggiungere il file.php nel tuo sito internet , il quale dovrà contenere il codice PHP che dovrai scrivere tu , per inserire i dati ( inviati dal gioco ) nel database.
Re: Problema con mysql e php
La guida di guidox ( ) è ottima, chiedi nel suo topic di fixare quel bug
Hanno cambiato qualche funzione
In studio le gex sono a codice aperto quindi se cerchi nelle cartelle del progetto trovi i files
Saranno stupidate da fixare (cambiare nome alle funzioni e aggiungere/ togliere qualche parametro)
Un ottimo allenamento
Hanno cambiato qualche funzione
In studio le gex sono a codice aperto quindi se cerchi nelle cartelle del progetto trovi i files
Saranno stupidate da fixare (cambiare nome alle funzioni e aggiungere/ togliere qualche parametro)
Un ottimo allenamento
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Ok grazie dei suggerimenti il fatto e che da me non so come fixare tale problema daro uno sguardo ugualmente per capirci qualcosa ma ne dubito.Tizzio ha scritto:La guida di guidox ( ) è ottima, chiedi nel suo topic di fixare quel bug
Hanno cambiato qualche funzione
In studio le gex sono a codice aperto quindi se cerchi nelle cartelle del progetto trovi i files
Saranno stupidate da fixare (cambiare nome alle funzioni e aggiungere/ togliere qualche parametro)
Un ottimo allenamento
Chiedero a guidox se puo fixare il problema sempre se e disposto a farlo.
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Ciao raga visto che ho risolto il problema della classifica online ora mi chiedo se è possibile leggere e modificare una determinata variabile contenuta nel database.
Come posso fare?
Come posso fare?
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Controllato ma non trovo niente
la guida è questa vero? http://gmitalia.altervista.org/gmi_foru ... 29&t=10327
la guida è questa vero? http://gmitalia.altervista.org/gmi_foru ... 29&t=10327
- guidox
- GMI Honor
- Messaggi: 5765
- Iscritto il: 26/07/2009, 17:23
- Specialità: programmazione
- Uso: GM:Studio 1.4 Android
- Località: Marche
- Contatta:
Re: Problema con mysql e php
Allora se usi studio non hai bisogno di estensioni. Leggiti questo: http://gmitalia.altervista.org/gmi_foru ... 38#p178438
Per il resto ti dovresti studiare un po' le funzioni per gestire un database in php, ma comunque conto di spiegarlo più chiaramente nella guida aggiornata che pubblicherò tra non molto.
Per il resto ti dovresti studiare un po' le funzioni per gestire un database in php, ma comunque conto di spiegarlo più chiaramente nella guida aggiornata che pubblicherò tra non molto.
Re: Problema con mysql e php
Guidox, fai una guida più generica, per ricevere variabili e salvare dati nel database, secondo me è più utile rispetto alla classifica!
Poi magari si arrangiano loro per modificare l'esempio e crearla
Poi magari si arrangiano loro per modificare l'esempio e crearla
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Non sto usando studio ma gm8 pro, la classifica funziona bene riesco ad inserire dati e leggerli, io vorrei modificare una certa variabile per esempio se il player Kimera_V2 ha 5 pozioni e ne usa una vorrei modificare tale variabile, con la tua guida si può solo inserire valori e leggerli tutti insieme.
Grazie a tutti per il vostro aiuto.
Grazie a tutti per il vostro aiuto.
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Visto che in rete non trovo molto su gm8 ho deciso di passare a studio visto che ha molte più funzioni.
Sto cercando di creare un user register/login, ho trovato questo file php che ho modificato e caricato sul mio sito:
Riesco ad inserire i dati ma non riesco a leggerne o modificarne nessuno, come posso fare?
Per inserire i dati uso questo codice:
ho capito che bisogna cambiare f=na in f=ld per ricevere le variabile e f=sv per salvare e modificare una determinata variabile.
Sto cercando di creare un user register/login, ho trovato questo file php che ho modificato e caricato sul mio sito:
Codice: Seleziona tutto
<?php
// When mistakes happen we want the notce returned not the warning. The Warning means nothing to the end user, but we will use the notice
// to return information to the user. You should realy log the errors though so you have them.
//error_reporting(E_ERROR);
/*
STEP 1 MySQL Connection Details
If you do not know the following information you will need to get it from your web host.
It will most likely be the same as your cPanel login information.
Server should stay as localhost unless this file and your MySQL are on different servers (not recomended).
*/
$mysql_server = "localhost"; //This is probably correct
$mysql_username = ""; // Your MySQL username
$mysql_password = ""; // Your MySQL Password
$mysql_database = "destron_game_maker"; // The name of your database
$mysql_table = "game_maker"; // Your actual table to hold the data
// Make a MySQL Connection no changes need to be made here
$con = mysql_connect($mysql_server,$mysql_username,$mysql_password) or die('Can not connect to server');
mysql_select_db($mysql_database) or die('Can not connect to database');
/*
STEP 2 Potential Variables passed from URL - list them all here.
*/
$f = $_GET['f']; //na=new account sv=save ld=load onformation and au=authorize access
$pname = mysql_real_escape_string($_GET['nome']);
$px = mysql_real_escape_string($_GET['player_x']);
$py = mysql_real_escape_string($_GET['player_y']);
$pscore = mysql_real_escape_string($_GET['score']);
$salt = "gameMaker"; // CHANGE THIS TO SOMETHING SECRET
$epword = crypt($pword,$salt); // This encrypts the password and sets it to a variable.
//This function will create a new user account or save file
function create_account($con, $mysql_table, $pname, $px, $py, $score) //declare function Part between () is all the variables you will need for this function.
{
mysql_query("INSERT INTO $mysql_table (p_name, p_x, p_y, p_score,) VALUES('$pname', '$px', '$py', '$pscore') ")
or die('0'); // Something went wrong
echo "1"; //All is right with the world. YAY.
mysql_close($con);
}
// This function will save information to an existing account
function save_info($con, $mysql_table, $pname, $px, $py, $pscore)
{
mysql_query("UPDATE $mysql_table SET p_name = $pname, p_x = $px, p_y = $py, p_score = $pscore WHERE p_name = '$pname'")
or die('0');
echo "1";
mysql_close($con);
}
// This function will pull account information
function load_info($con, $mysql_table, $pname, $px, $py, $pscore)
{
$result = mysql_query("SELECT * FROM $mysql_table WHERE p_name = '$pname'");
while($row = mysql_fetch_array($result))
{
echo $row['p_name'] . "," . $row['p_x'] . "," . $row['p_y'] . "," . $row['p_score'];
}
mysql_close($con);
}
// This function will simply check if a user exists in the system - useful to auhorize thier aceess.
function auth($con, $mysql_table, $epword, $pname)
{
$result = mysql_query("SELECT * FROM $mysql_table WHERE p_name = '$pname' AND p_word = '$epword'");
while($row = mysql_fetch_array($result))
if ($row <= 0)
{
echo "0";
}
else
{
echo "1";
}
}
// This function is used for nothing more than testing that the script and database are working.
function connection_test($con, $mysql_table, $pname)
{
$result = mysql_query("SELECT * FROM $mysql_table WHERE p_name = '$pname' ");
while($row = mysql_fetch_array($result))
if ($row <= 0)
{
echo "Could not comunicate with database. Double check your settings and ask your web host for help.";
}
else
{
echo "Connection test was OK!";
}
}
// This determines which function to call based on the $f parameter passed in the URL.
switch($f)
{
case na: create_account($con, $mysql_table, $pname, $px, $py, $pscore); break;
case sv: save_info($con, $mysql_table, $pname, $px, $py, $pscore); break;
case ld: load_info($con, $mysql_table, $pname, $px, $py, $pscore); break;
case au: auth($con, $mysql_table, $pname, $px, $py, $pscore); break;
case ts: connection_test($con, $mysql_table, $pname); break;
default: echo"error";
}
?>
Per inserire i dati uso questo codice:
Codice: Seleziona tutto
http_get("http://nomemiosito.altervista.org/async.php?f=na&score="+string(global.pscore) + "&player_x=" +string(o_player.x) + "&player_y=" +string(o_player.y)+ "&nome="+string(nome))
Re: Problema con mysql e php
Come fai a leggere i dati?Usi nell'evento http la ds_map async_event, giusto?
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Non riesco a leggere i dati, non so come fare, non uso niente a dire il vero per ora riesco solo a inserirli .Cash ha scritto:Come fai a leggere i dati?Usi nell'evento http la ds_map async_event, giusto?
Re: Problema con mysql e php
Tutte le "risposte" che il server invia vengono salvate in una ds_map speciale chiamata async_event, praticamente un array di coppie di nome e valore. Per leggere la risposta devi ricavare il valore della risposta nell'evento "http event"(evento che viene attivato quando arriva una risposta). Per fare ciò basta usare la funzione ds_map_find_value(async_event,"result"); che cerca in una ds_map(in questo caso async_event) il valore corrispondente al nome(in questo caso cerco il valore che corrisponde al nome "result", un campo che contiene il risultato della risposta. Nota però che se devi fare solo una chiamata allora basta che fai così ma se ne devi fare di più e insieme allora devi salvare gli ID di ogni richiesta(la funzione http_get(blabla) ritorna l'ID della chiamata) e dentro l'evento "http event" confrontare l'ID della risposta appena arrivata per vedere a cosa corrisponde. Generalmente saranno in ordine le risposte ma non si sa mai cosa potrebbe succedere. Guarda il manuale per capire velocemente cosa sono ds_map e i valori disponibili in async_eventKimera_V2 ha scritto:Non riesco a leggere i dati, non so come fare, non uso niente a dire il vero per ora riesco solo a inserirli .Cash ha scritto:Come fai a leggere i dati?Usi nell'evento http la ds_map async_event, giusto?
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Il problema è che non mai usato la ds_map e tanto meno async_event quindi non ho propio idea di come scrivere un codice valido.Cash ha scritto:Tutte le "risposte" che il server invia vengono salvate in una ds_map speciale chiamata async_event, praticamente un array di coppie di nome e valore. Per leggere la risposta devi ricavare il valore della risposta nell'evento "http event"(evento che viene attivato quando arriva una risposta). Per fare ciò basta usare la funzione ds_map_find_value(async_event,"result"); che cerca in una ds_map(in questo caso async_event) il valore corrispondente al nome(in questo caso cerco il valore che corrisponde al nome "result", un campo che contiene il risultato della risposta. Nota però che se devi fare solo una chiamata allora basta che fai così ma se ne devi fare di più e insieme allora devi salvare gli ID di ogni richiesta(la funzione http_get(blabla) ritorna l'ID della chiamata) e dentro l'evento "http event" confrontare l'ID della risposta appena arrivata per vedere a cosa corrisponde. Generalmente saranno in ordine le risposte ma non si sa mai cosa potrebbe succedere. Guarda il manuale per capire velocemente cosa sono ds_map e i valori disponibili in async_eventKimera_V2 ha scritto:Non riesco a leggere i dati, non so come fare, non uso niente a dire il vero per ora riesco solo a inserirli .Cash ha scritto:Come fai a leggere i dati?Usi nell'evento http la ds_map async_event, giusto?
potrebbe essere una cosa del genere?:
Codice: Seleziona tutto
http_get("http://nomemiosito.altervista.org/async.php?f=ld&score=" + "&player_x=" + "&player_y=" + "&nome=")
get =http_get("http://nomemiosito.altervista.org/async.php?f=ld&score=" + "&player_x=" + "&player_y=" + "&nome=")
if ds_map_find_value(async_load, "id") == get
{
if ds_map_find_value(async_load, "status") == 0
{
r_str = ds_map_find_value(async_load, "result");
}
else
{
r_str = "null";
}
}
Se nel mio database ho una tabella con id_player, nome_player, scrore_player ecc... come faccio a richiamare soltanto le variabili di un determinato player?
Please help me...
Re: Problema con mysql e php
Il codice è corretto, basta che metti nel create event(o dove ti serve) solo la seconda riga ed il resto nell'evento "http event".Kimera_V2 ha scritto:Il problema è che non mai usato la ds_map e tanto meno async_event quindi non ho propio idea di come scrivere un codice valido.Cash ha scritto:Tutte le "risposte" che il server invia vengono salvate in una ds_map speciale chiamata async_event, praticamente un array di coppie di nome e valore. Per leggere la risposta devi ricavare il valore della risposta nell'evento "http event"(evento che viene attivato quando arriva una risposta). Per fare ciò basta usare la funzione ds_map_find_value(async_event,"result"); che cerca in una ds_map(in questo caso async_event) il valore corrispondente al nome(in questo caso cerco il valore che corrisponde al nome "result", un campo che contiene il risultato della risposta. Nota però che se devi fare solo una chiamata allora basta che fai così ma se ne devi fare di più e insieme allora devi salvare gli ID di ogni richiesta(la funzione http_get(blabla) ritorna l'ID della chiamata) e dentro l'evento "http event" confrontare l'ID della risposta appena arrivata per vedere a cosa corrisponde. Generalmente saranno in ordine le risposte ma non si sa mai cosa potrebbe succedere. Guarda il manuale per capire velocemente cosa sono ds_map e i valori disponibili in async_eventKimera_V2 ha scritto:Non riesco a leggere i dati, non so come fare, non uso niente a dire il vero per ora riesco solo a inserirli .Cash ha scritto:Come fai a leggere i dati?Usi nell'evento http la ds_map async_event, giusto?
potrebbe essere una cosa del genere?:Sono troppo confuso sull'argomento non ho capito come fare a chiamare una particolare variabile.Codice: Seleziona tutto
http_get("http://nomemiosito.altervista.org/async.php?f=ld&score=" + "&player_x=" + "&player_y=" + "&nome=") get =http_get("http://nomemiosito.altervista.org/async.php?f=ld&score=" + "&player_x=" + "&player_y=" + "&nome=") if ds_map_find_value(async_load, "id") == get { if ds_map_find_value(async_load, "status") == 0 { r_str = ds_map_find_value(async_load, "result"); } else { r_str = "null"; } }
Se nel mio database ho una tabella con id_player, nome_player, scrore_player ecc... come faccio a richiamare soltanto le variabili di un determinato player?
Please help me...
Create event/dove ti serve
Codice: Seleziona tutto
get =http_get("http://nomemiosito.altervista.org/async.php?f=ld&score=" + "&player_x=" + "&player_y=" + "&nome=")
Codice: Seleziona tutto
if ds_map_find_value(async_load, "id") == get
{
// Se non funziona prova a mettere "0" al posto di 0, non so se per caso ritorna come stringa o numero lo stato
if ds_map_find_value(async_load, "status") == 0
{
r_str = ds_map_find_value(async_load, "result");
}
else
{
r_str = "null";
}
}
- Kimera_V2
- Membro
- Messaggi: 118
- Iscritto il: 27/06/2013, 14:11
- Uso: GM:Studio 1.4 Pro
- Località: CPU
- Contatta:
Re: Problema con mysql e php
Niente da fare non funge
Cosa sbaglio? In r_str non dovrebbero salvarsi le variabili che mi arrivano dal database?
Come faccio a visualizzarle in drawevent?
Cosa sbaglio? In r_str non dovrebbero salvarsi le variabili che mi arrivano dal database?
Come faccio a visualizzarle in drawevent?
Chi c’è in linea
Visitano il forum: Nessuno e 71 ospiti