Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Mantenere le variabili in memoria.. e altro

    Ciao a tutti

    Ho da poco avuto la malsana idea di provare ad imparare qualcosa a livello di php di base : si usa qualche script pronto, si prova ad editarlo .. si prova a cominciare a scriverseli da soli..... e cominciano le frustrazioni.

    Allora visto che credo in questo luogo ci sia il top riguardo la conoscenza del PHP, approfitto per fare alcune domandine banali (per voi banali.. per me difficili)

    A - SETTARE LE ESTENSIONI DI FILES AUTORIZZATI PER L'UPLOAD
    Come settare in uno script per l'upload di files sul proprio sito , quali file possono essere autorizzati, esempio se voglio ricevere solo immagini formato .jpg, oppure solo files con estensione .dat, oppure con estensione .txt ecc...
    (un semplicissimo esempio con 2 righe di PHP sarebbe apprezzatissimo)

    B - CONSERVARE LE VARIABILI IN MEMORIA
    Probabilmente non è il titolo corretto. ma abbiate pietà..
    Il problema è questo, faccio parte di una comunità web internazionale dove siamo appassionati di un simulatore di pesca che permette anche sessioni online, dove chi vuole può fare da host , comunica il suo numero IP e gli altri si connettono (come tanti altri online games). Quello che sto facendo (..provando a fare) sul mio sito è una pagina dove gli utenti che lo vogliono possono pubblicare il loro server con relativo IP, usando un classico form di inserimento dati. Ho creato una pagina chiamata server.php dove risiede il form sopra detto, in pratica l'utente deve solo inserire il suo nome o un commento qualsiasi dato che l'atra variabile (l'IP) viene direttamente mostrata dal form ( leggendo $_REMOTE_ADDR) , all'utente non rimane che cliccare sul bottone di submit. Fatto questo si viene indirizzati ad un'altra pagina chiamata running .php, in questa pagina vengono prese le variabili del form e utilizzate come $nom per quel che riguarda il nome utente o commento e $ipn per il numero IP, a questo punto
    le ho evidenziate in una tabella nella pagina running.php usando
    echo $nom e echo $ipn, e miracolosamente i dati appaiono. Ma.. qui sorge il problema , i dati non rimangono, se ricarico la pagina running php non mostra più i dati.
    Quindi a me serve
    1 - che un utente possa dalla pagina server.php tramite il form , decidere di pubblicare il suo server
    2 - Che un utente sempre dalla stessa pagina possa decidere di cancellare i suddetti dati quando il suo server e offline.
    3 - Che la pagina running.php conservi i dati in modo che un utente che voglia solo fruire dei server (senza necessariamenete pubblicarne uno suo) possa trovare i dati aggiornati.
    Quindi in pratica penso mi occorra sapere se c'è un modo per salvare queste variabili in qualche locasione, file, modo specifico; per utilizzarli quando e come decido io e non quando decide il browser ..

    So di non essere stato chiarissimo e so che ho rubato molto spazio, ma quando si è neofiti è così.

    Grazie in anticipo
    Anneos

  2. #2
    Pensavo foste degli esperti qui...

  3. #3
    Beh dovresti usare un database per rendere persistenti i dati...

  4. #4
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    esattamente. Le variabili vengono passate, ma se refreshi la pagina è chiaro che poi spariscano. Le devi memorizzare su una tabella di un database...

    Riguardo all'eliminazione, la puoi aggiungere semplicemente, certo però avresti il problema che chiunque passa potrebbe eliminare le voci a caso. Ecco che di nuovo ti servirebbe una tabella con nome account e password per fare in modo che l'utente abbia sì la possibilità di eliminare il server, ma solamente quelli inseriti da lui e non altri.

  5. #5
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    sembrerebbe che la soluzione al problema siano le sessioni:
    session_start(); all'inizio di ogni pagina(o se includi un file magari di configurazione in tutte le pagine puoi metterlo li) e prima di qualsiasi cosa che possa generare output(html o un print di qualche dato). Dopo di che quando controlli l'esistenza dei dati, assegni alla sessione i valori es.:

    $_SESSION['nome_utente'] = $nom; ......


    a questo punto fino a quando non decidi di eliminare la sessione o per via del browser puoi riutilizzarle. Se le devi riutilizzare in futuro allora ci vuole si un db per inserire i dati e riprenderli.

    postare insieme capita spesso

  6. #6
    Grazie molte

    Siete gentilissimi, non avevo pensato al fatto del database; vorrei provare sia la soluzione delle sessioni che quella del DB o anche insieme.

    In tal caso il database deve essere per forza MySQL o anche altri?
    Se deve essere MySQL, come debbo fare per inserirne uno sul mio sito? O è gia implementato nel server (forse ho detto un'assurdità..) ?

    Grazie ancora
    Anneos

  7. #7

    ci riprovo..

    Ciao di nuovo

    Sicuramente io mi spiego male allora ho pensato di farvi vedere praticamente il problema, se visitate qui : http://www.ucm-fishing.com/FSpages/hfc9.php
    Scrivete quello che volete nella casella "Commento" e poi cliccate su "Submit server", nella nuova pagina che si apre vedrete nella parte sinistra quello che avete scritto nella casella commento e a destra vedrete il vostro IP; fin qui tutto ok, ma se in qualsiasi modo questa nuova pagian viene ricaricata, i dati spariscono.

    Possibile che non ci sia un modo per scrivere nella pagina (tipo form di Front Page) e i dati rimangano li finchè io non decida di cancellarli magari con altro form.. ?
    A me da inesperto sembra un problema banalissimo e risolvibile con 4-5 righe di codice giusto; ma può darsi anche che non sia così. Purtroppo io non riesco a risolverlo..

    Ciao
    Anneos

  8. #8

    Re: ci riprovo..

    Originariamente inviato da Anneos
    Ciao di nuovo

    Sicuramente io mi spiego male allora ho pensato di farvi vedere praticamente il problema, se visitate qui : http://www.ucm-fishing.com/FSpages/hfc9.php
    Scrivete quello che volete nella casella "Commento" e poi cliccate su "Submit server", nella nuova pagina che si apre vedrete nella parte sinistra quello che avete scritto nella casella commento e a destra vedrete il vostro IP; fin qui tutto ok, ma se in qualsiasi modo questa nuova pagian viene ricaricata, i dati spariscono.

    Possibile che non ci sia un modo per scrivere nella pagina (tipo form di Front Page) e i dati rimangano li finchè io non decida di cancellarli magari con altro form.. ?
    A me da inesperto sembra un problema banalissimo e risolvibile con 4-5 righe di codice giusto; ma può darsi anche che non sia così. Purtroppo io non riesco a risolverlo..

    Ciao
    Anneos
    secondo me hai delle cose poco chiare riguardo il funzionamento in generale di un'applicazione web....

    Allora la pagina hfc9.php trasmette via POST HTTP i dati appena inseriti alla pagina running.php. Se esegui l'aggiorna ritrasmetti nuovamente i dati alla pagina e vengono visualizzati correttamente. Se invece clicchi sul pulsante vai il browser esegue una GET HTTP che non passa dati alla pagina e logicamente questa non visualizza alcun dato.

    Se un'altra istanza del browser richiama la pagina running.php naturalmente non vedrà nulla, non è che le pagine sono condivise!!

    Quello che ti serve è un database che memorizzi i dati che qualcuno invia dalla hfc9.php.
    La pagina running.php non farà altro che recuperare questi dati dal database e visualizzarli.

    Ma prima di questo è meglio se ti leggi qualche guida generale sulla programmazione web e poi su php - mysql...

  9. #9

    Re: ci riprovo..

    Ciao V1RuZ

    Grazie della risposta, so che le pagine non sono condivise ed appunto nasce il problema; quando si ritorna su quella pagina le variabili vengono azzerate se non viene spedito di nuovo il form.
    Appunto per evitare il database, chiedevo se c'era un modo per "scrivere" nella pagina come fa un form qualsiasi di Front Page con l'azione <--webbot bot--> per esempio in un guestbook o qualsiasi form di richiesta dati che poi vengono scritti in una pagina o un file di testo definiti.
    Non uso il classico Form di Front Page per 2 ragioni

    1 - Non mi piace la pagina di conferma dati che automaticamente viene mostrata all'utente

    2 - Non mi piace l'output sia come caratteri e sopratutto perchè non scrive i dati "dove dico io"

    Comunque se è risolvibile solo col database, così farò

    Anneos

  10. #10

    Re: Re: ci riprovo..

    Allora , vorrei passare il Natale come la maggior parte degli Italiani medi , stando con la famiglia, scartando i regali con i miei figli, facendosi le partitelle classiche del dopo cena ecc...
    Insomma non vorrei passare la notte di Natale a prendere a martellate il PC .

    In merito a questo banale problemino ho pensato di postare le parti di codice che possono interessare e magari dovrebbero essere moodificate. Questa è la parte della pagina del form di inserimento dati :

    <form method="POST" action="running.php">
    <p align="center">
    <font face="Arial" color="#003399" size="3"> UFZ
    SERVER</font>

    </p>

    <p align="center">
    <font face="Arial" color="#003399" size="3"> Comment : </font>
    <input type="text" name="Comment" size="52"></p>
    <p align="center">
    <font face="Arial" color="#003399">IP NUMBER : </font><input type="text" name="ip" size="20" value="<?echo$REMOTE_ADDR;?>">
    <input type="submit" value="SUBMIT SERVER" name="go" style="background-color: #0000FF; font-size: 8 pt; font-weight: bold; color: #FFFFFF; border-style: outset; border-width: 4"></p>
    </form>
    Questo form punta alla pagina running.php dova mostra i dati inseriti, ora come ho già detto i dati non rimangono i memoria e quando si richiama la pagina running .php essi ovviamente spariscono, mi è stato detto di salvarli su un database (dovrei averne uno già installato di Access sul mio sito, mentre non credo di avere mysql) , in ogni caso potreste dirmi (magari con esempio pratico e modificando le mie righe , come salvare i dati in un database (Access o mysql che sia) ? E come poi prelevarli e leggerli nella seconda pagina ?

    Questo è una parte del codice della pagina "ricevente" running.php che riceve dati dal form e li mostra :

    <?
    $com=$HTTP_POST_VARS["Comment"];
    $ipn=$HTTP_POST_VARS["ip"];
    ?>
    <td width="75%" bgcolor="#FFFFFF" height="35"><font color="#000000"><?echo$com;?></font></td>
    <td width="25%" bgcolor="#FFFFFF" height="35"><font color="#000000"><?echo$ipn;?></font></td>

    </tr>
    </table>
    </center>
    </div>
    <p align="center">UPDATE
    </p>
    Intanto colgo l'occasione per ringraziare anticipatamente e per fare i migliori auguri di BUON NATALE e FELICISSIMO ANNO NUOVO a tutti voi.

    Anneos

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.