Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345

    Cambiare le informazioni scritte in una pagina in modo automatico con delle istruzion

    Io un sito dove praticamente si gioca e ad esempio nella pagina del personaggio ci sono scritte le informazioni (esempio: soldi=3000).
    Poi ci sono diverse pagine (ad esempio "sfide.php"), dove uno in una pagina combatte per esempio e guadagna soldi. IO vorrei fare che da quella pagina cambio automaticamente con delle istruzioni le informazioni che ci sono nella pagina "personaggio.php", ad esempio uno guadagna soldi dopo aver combattuto e io con delle istruzioni voglio che cambi automaticamente il numero dei soldi scritti nella pagina del personaggio.
    Spero di essere stato chiaro.

  2. #2
    Non ti offendere se te lo dico, ma hai scritto il post in maniera un po'.... farraginosa!
    Comunque credo di avere capito quello che ti serve.

    Nella pagina sfide.php si incontrano gli utenti che partecipano ai tuoi giochi online e, in base appunto a come va loro il gioco, vincono o perdono soldi.
    Suppongo che avrai un DB dove salvi le informazioni dei vari personaggi. No??

    Ebbene. La pagina sfide.php la devi programmare con il criterio che, alla fine di una sfida, aggiorni le informazioni dei personaggi che hanno partecipato alla sfida (quindi - riprendendo il tuo esempio - aggiorni il campo soldi nella tabella relativa al personaggio).

    La pagina personaggio.php la programi invece che vada semplicemente a pescare i dati dalla stessa tabella che aggiorna sfide.php.
    Vedrai che se tutto funziona, avrai tutte le caratteristiche di ogni personaggio sempre bene aggiornate.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Scusa, non sono capace di fare bene quello che hai detto, perchè ho appena imparato ad usare un database e ad inviare una query al server.
    Io per ora nel database ho solo come informazioni la password e il nick di un utente che vengono controllati al login.
    Per creare nel database altri dati relativi ai personaggi non so come si fa, m elo potresti spiegare?
    Ora ti faccio vedere il codice del mio database, che ora ha solo due utenti, cioè come l'ho fatto e cosa c'è dentro:

    CREATE TABLE `members` (
    `id` INT(4) NOT NULL AUTO_INCREMENT,
    `username` VARCHAR(65) NOT NULL DEFAULT '',
    `password` VARCHAR(65) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=2 ;
    --
    -- Dumping data for table `members`
    --
    INSERT INTO `members` VALUES (1, 'nome1', 'password1');
    INSERT INTO `members` VALUES (2, 'nome2', 'password2');
    Questo è il codice, rispondimi al più presto.

  4. #4
    Beh..... non è semplicissimo se hai poca dimestichezza ma vediamo cosa si può fare.

    Te hai una tabella utenti, nei cui record salvi il nome e la password di un utente.
    Per fare in modo che ad ogni utente sia associato a tutta una serie di informazioni aggiuntive puoi fare in due modi:
    1) Aggiungi colonne alla tabella con il comando ALTER TABLE
    2) Crei una nuova tabella nel DB e la colleghi con un vincolo a quella iniziale members.

    Credo che se hai poca dimestichezza con i DB ti convenga preferire il metodo 1, in quanto (forse) un po' più diretto. Se però sai fare una JOIN tra due tabella, allora cambia tutto.

    La tabella è online o nel tuo server interno?
    Se interna puoi fare un DROP TABLE e reinstallare con le seguenti modalità:

    codice:
    // elimino la tabella
    DROP TABLE members;
    
    // reinstallo la tabella modificata
    CREATE TABLE members (
    id INT(4) NOT NULL AUTO_INCREMENT,
    username VARCHAR(65) NOT NULL DEFAULT,
    password VARCHAR(65) NOT NULL DEFAULT,
    soldi INT,
    informazione1 VARCHAR(255),
    informazione2 TEXT,
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=2 ;
    Devi poi rifare la query di insert per aggiungere i primi utenti.

    Se il DB è in remoto, puoi invece usare il comando ALTER TABLE per aggiungere una o più colonne.
    codice:
    ALTER TABLE members ADD COLUMN soldi INT;
    ALTER TABLE members ADD COLUMN informazione1 VARCHAR(255);
    ALTER TABLE members ADD COLUMN informazione2 TEXT;
    Nella pagina sfide.php al termine di un gioco, metti una istruzione del tipo:
    Codice PHP:
    // esempio per giocatore con id = 1
    // $vincita è la variabile che contine i soldi vinti (o persi) alla fine della gara
    $sql  "UPDATE members SET soldi = soldi+$vincita WHERE id = 1 ";
    mysql_query($sql); 
    .

    Con questo procedimento aggiorni il DB members.
    Ora andiamo a vedere quello che succede nella pagina personaggio.php:
    Codice PHP:
    $id $_GET['id_giocatore']; 
    // la variabile univoca che mi identifica il giocatore
    // ammesso che sia passata via GET nella URL

    $sql "SELECT * FROM members WHERE id = $id "
    Noterai che andando a ripescare i dati dalla tabella members, la quale è stata modificata dalla pagina sfide.php, la pagina personaggio.php risulta già modificata di suo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Non ho capito bene l'ultimo codice cha hai immesso.
    Io devo mettere che la stringa numerica $soldi ha come valore il valore che ha "soldi" nel database.
    Mi potresti scrivere anche quest'ultimo codice?

  6. #6
    Veramente te lo avevo scritto.

    Comunque..... ecco il codice per la pagina personaggio.php:
    Codice PHP:
    // recupero dalla URL l'id del personaggio da visualizzare
    $id $_GET['id_giocatore']; 

    // scrivo la query per estrapolarne tutti i dati dal DB
    $sql "SELECT * FROM members WHERE id = $id ";

    // eseguo la query
    $query mysql_query($sql);

    // metto tutti i dati raccolti in un array
    $dati mysql_fetch_array($query);

    // recupero le variabili
    $username $dati['username'];
    $soldi $dati['soldi'];
    $informazione1 $dati['informazione1'];
    $informazione2 $dati['informazione2'];

    // stampo le variabili
    echo "

    Utente: 
    $username

    Soldi: 
    $soldi

    Altro : 
    $informazione1

    Altro ancora: 
    $informazione2
    <hr />
    "

    Chiaro ora?
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ah scusa se me lo avevi messo anche prima, cmq ho capito ora, grazie mille!

  8. #8
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ah scusa alcio, ti vorrei chiedere un altra cosa, come faccio a mettere che le scritte come "Utente", "soldi"... sono rosse e come faccio a mettere che invece i dati come il numero dei soldi sono in grassetto?
    Non riesco perchè è dentro all'echo e allora non mi accetta questa sintassi:

    <?
    echo "

    <p color=red />Nome: </p><b />nomepersona[/b]
    ";
    // e poi tutte le altre istruzioni che non c'è neanche bisogno che ti scriva
    ?>
    Rispondimi al più presto.

  9. #9
    Scrivi erroneamente sia il tag di paragrafo sia quello del grassetto, ecco perché non funziona.

    <p color=red />Nome: </p><b />nomepersona[/b]
    .

    Se un tag ha il suo omonimo di chiusura (sia [/B] sia </p> in questo caso), quello di apertura non deve presentare lo slash finale.

    Il codice corretto è:
    Codice PHP:
    <?php
    echo "


    <p color=\"red\">Nome: </p>
    [b]
    $nome[/b]";
    // eccetera

     
    ?>
    Se invece lavori con i CSS, ti consiglio di chiamare due classi che ti formattino propriamente i due contenuti.

    Codice PHP:
    <?php
    echo "


    <span class=\"red\">Nome: </span>
    <span class=\"bold\">nomepersona</span>
    "
    ;
    // eccetera
     
    ?>
    Eccoti il CSS da applicare:
    codice:
    .red{
          color: red;
    } 
    .bold{
          font-weight: bold;
    }
    Un'ultima annotazione: se chiudi il tag </p> prima dell'altra stringa da stampare a video, e pensi che le troverai entrambe sulla stessa linea, allora ti sbagli.
    Chiudendo un paragrafo con </p> sappi che tutto quello che c'è dopo è ritenuto dal browser come facente parte di un altro paragrafo, per cui verrà messo a capo.
    È per questo motivo che io ho utilizzato il tag SPAN.
    Dai un'occhiata alla guida di HTML per maggiori informazioni.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  10. #10
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Grazie mille alcio, ogni cosa che mi consigli, ovviamente, funziona sempre.
    Ma che lavoro fai?Dato che sai tutte queste cose di html, css, php.........

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.