Problema con pagina web

di il
29 risposte

Problema con pagina web

Salve sono un neo iscritto mi presento sono eric!

dopo questa breve presentazione, forse anche troppo dai vi dico chi sono ahha
Sono uno studente delle superiori che stanco dell'informatica basilare dei professori si è messo da autodidatta a studiare php,mysql,html per programmare sul web, al momento mi è sconosciuto javascript e pithon ma ci arriverò

Comunque la mia tesina di quest'anno sarà appunto un sito web di un gioco online, vorrei portarlo funzionante almeno per le funzioni basilari.

Breve introduzione del sito: fatto tutto con php e mysql, fortemente lato serve per ora quindi appena studierò java implementerò un po di client così da renderlo più bello e sicuramente piu funzionale!
Il gioco è un gdr, in personaggio, ovvero ho un mio "omino" che potra possedere campi ecc ecc.

il problema sta nei lavori, non so fare a far si che se imposto un lavoro per due ore alla fine delle stesse il server accrediti lo stipendio direttamente al mio personaggio.

Avevo elaborato un sistema ma mi sono accorto essere poco funzionale, ovvero una differenza di date tra data fine sul DB e data presa con php ma finche l'utente non accede alla pagina lo stipendio non viene dato.

In sintesi vorrei far si che se per esempio alle 2 un mio utente si mette a lavorare in miniera per 3 ore, alle 5 gli venga dato lo stipendio anche se lui si collega alle 7-8-9 o due giorni dopo!

Ringrazio per l'aiuto sopratutto perchè mi servirà per fare bella figura ai prof che gia quando gli chiedo cos'è foreach rimangono senza parole perchè non lo hanno mai sentito, bah

29 Risposte

  • Re: Problema con pagina web

    Usi server windows?
  • Re: Problema con pagina web

    Sisi, per ora lavoro sul mio w7 con xampp, anche perche non ho un budget da investire al momento
  • Re: Problema con pagina web

    Ok

    Per le operazioni automatiche puoi usare lo scheduler di windows:
    Control panel->Administrative tools->task scheduler

    Pianifichi il task e come operazione fai fare una chiamata al file php di riferimento.
  • Re: Problema con pagina web

    Ok grazie posso scrivere tutto con php?
  • Re: Problema con pagina web

    Non mi e chiaro il metodo... Come faccio a dire alla pagina di creare una scheduled task?
  • Re: Problema con pagina web

    Ma no, è lo scheduler che richiama la pagina all'ora che vuoi tu.
    prova a guardartelo per bene, è semplice da usare
  • Re: Problema con pagina web

    Si ma io non so a che ore l'utente si mette a lavorare! Dovrei far partire lo scheduled con un orarii dato in input dall'utente... Come faccio a trasmettergli questa data?
  • Re: Problema con pagina web

    A partire dalla versone 5.1.6 di MySQL è stato aggiunto l'event scheduler, che ti permette di pianificare un lavoro da ripetere ogni tot di tempo o one-shot.

    Qua dovresti trovare del materiale: ,
  • Re: Problema con pagina web

    Ok mi è tutto chiaro più o meno, sperimenterò!

    L'unico dubbio rimane quel ON SCHEDULE scheduler.. lo devo creare prima? e dove?
  • Re: Problema con pagina web

    Con "schedule" l'autore indendeva rimandare ad una delle possibilità elencate di seguito nell'articolo.
    Un esempio è il seguente (ad esempio con un intervallo di 3 ore, come serve a te):
    CREATE EVENT myevent
        ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 HOUR
        DO
          UPDATE myschema.mytable SET mycol = mycol + 1;
  • Re: Problema con pagina web

    Ah okok pensavo fosse la destinazione scusate l'ignoranza hahah

    Vedendo ciò però mi pare ovvio che dovrò dare un nome diverso alla schedule(o come diavolo si chiama) che mi permetta di crearne varie a seconda dell'utente che imposta il lavoro!

    Esiste un numero massimo che non posso sforare?
    eeee con quale funzione di php la mando la creazione? non penso con mysql_query.. o si?
  • Re: Problema con pagina web

    Dunque tralasciando il fatto che l'estensione "mysql" di PHP è stata deprecata (e nelle successive versioni verrà eliminata), e che quindi il consiglio è quello di migrare a MySQLi o PDO_MySQL, la risposta all'ultima domanda è "si, gli eventi si creano con la mysql_query". Ad esempio:
    
    $sql = 'CREATE EVENT prova
    		ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 15 SECOND
    		DO
    		INSERT INTO Prova(Nome, Cognome) VALUE (wasd\',\'lol\')
    		';
    		
    $result = mysql_query($sql);
    if (!$result) {
    	echo mysql_error();
    } else {
    	echo 'OK';
    }
    
    Per quanto riguarda i limiti degli eventi, la documentazione dice le seguenti limitazioni:
    The event_name must be a valid MySQL identifier with a maximum length of 64 characters. Event names are not case sensitive, so you cannot have two events named myevent and MyEvent in the same schema
    Di conseguenza un modo semplice per affrontare il problema è quello di mantenere da qualche parte una variabile globale (tipo un numero) e di usarla come nome dell'evento. Attenzione perché affinché ciò sia possibile è necessario usare l'apostrofo grave (backtick), come in questo esempio:
    CREATE EVENT `1`
    ....
    Oppure puoi definire i nomi degli eventi con un prefisso (i.e. "ev_") seguito da un numero o in generale un qualsiasi nome valido e casuale.

    Un'altra cosa che mi viene in mente si basa sul fatto che presumibilmente ogni utente avrà un nome unico (oppure un'email o comunque un identificativo) e, sempre presumibilmente, mentre un giocatore sarà impegnato in un lavoro non potrà farne altri. Se queste ipotesi valgono per l'applicazione che hai in mente, il nome dell'evento potrebbe essere semplicemente l'identificativo del giocatore.
  • Re: Problema con pagina web

    Azzz povero mysql e piu diretto come nome hahha
    Questa altre estensioni... Funzionano allo stesso modo? Hanno la stessa identica sintassi ma cambia solo il prefisso?
  • Re: Problema con pagina web

    Ho letto un po si mysqli e mi sembra identico a mysql salvo qualche : in piu... Ha anche un diverso modo di agire che comporti una modifica al mio sito?
Devi accedere o registrarti per scrivere nel forum
29 risposte