2012-12-29 13 views
5

Sto creando un sito di tipo social network, in cui gli utenti possono caricare i loro articoli per essere valutati. Tuttavia, sto cercando di migliorare il modo in cui è strutturato il sito, quindi voglio generare automaticamente pagine una volta che l'utente inserisce un nuovo elemento. La pagina di add.php ha la seguente forma:PHP Genera automaticamente nuove pagine

<form action="add.php" method="post" autocomplete="on" enctype="multipart/form-data" action="<?php echo     $_SERVER['PHP_SELF']; ?>" method="POST" id="pic"> 
    <p> <label for="jname" class="iconic user"> Name of Jam <span class="required">*</span></label> <input type="text" name="jname" id="jname" value="<?php if (isset($_POST['jname'])) echo $_POST['jname']; ?>" required="required" placeholder="Input your Name of Jam here" /> </p> 

    <p> <select name="jtype" id="jtype" value="<?php if (isset($_POST['jtype'])) echo $_POST['jtype']; ?>" required="required"> 
      <option value="jam">Jam</option> 
      <option value="jelly">Jelly</option> 
      <option value="marmalade">Marmalade</option> 
      <option value="preserve">Preserve</option> 
     </select> </p> 

    <p> <label for="producer" class="iconic user"> Jam Producer <span class="required">*</span></label>  <input type="text" name="producer" id="producer" value="<?php if (isset($_POST['producer'])) echo $_POST['producer']; ?>" required="required" placeholder="Input the producer of the Jam here" /> </p> 
    Upload a picture of your jam: </br> </br> <input name="userfile" type="file" /> </br> 
    <input type="submit" name="submit" value="Register" />  
    <input type="hidden" name="submitted" value="TRUE" /> 

</form> 

quando il modulo viene inviato, ho poi lo vogliono per generare una nuova pagina per il nuovo utente elemento creato. C'è un modo abbastanza semplice per farlo?

Cheers

+1

Cosa hai provato? Vuoi un nuovo file creato?O che ne dici di una voce del database? –

risposta

7

Non è necessario creare una nuova pagina html per ciascun elemento.

È possibile salvare queste informazioni nel database (ad esempio mysql).

Poi si potrebbe creare un altro file php, dicono 'item.php' e accedere voci diverse da database mysql in questo modo:

item.php id = 1

+0

Ok, quindi ogni elemento nel mio database viene generato un ID e ho creato una pagina item.php. Come posso quindi associare quell'id, con la pagina? Gli elementi sono elencati in 1 pagina, quindi voglio poterne fare clic su uno e caricare la nuova pagina, con l'elemento con l'ID associato. C'è un tutorial online che potrei dare un'occhiata a sai? Cheers – Bic1245

+0

Ci sono molti tutorial disponibili online, puoi provare a cercare su google "php mysql per principianti", ma come suggerito da middaparka ti consiglio seriamente di investire in qualche libro. In questo modo sarete in grado di imparare molto più velocemente facendo domande qui :) –

+0

molti siti utilizzano questa tecnica. quindi puoi visualizzare secondo id var. quindi le pagine sono molto simili (ad esempio lo stesso layout) ma il contenuto è diverso. – user3522940

2

Di solito non c'è una nuova generazione di pagine per cose del genere. Dovresti creare un modello e caricare informazioni dinamiche da altre fonti (come un file XML o un database) in modo che sembri una pagina completamente nuova.

Just:

  1. Vedere che cosa ogni pagina voce ha in comune
  2. Definire un modello che contiene il codice comune
  3. Informatevi dinamici (informazioni voce per esempio) da un database
  4. Usa PHP incorporato in HTML per caricare HTML dinamico

Un esempio:

Facebook non crea una nuova pagina per ogni registrazione utente. C'è un modello HTML che definisce la posizione della foto del profilo, la posizione e lo stile dei post, la posizione e lo stile della lista di amici e cose comuni a qualsiasi pagina del profilo, e quindi carica semplicemente informazioni diverse quando chiami questa pagina per Mark, Frank, Jeff e così via.

3

Questo generalmente non è il modo in cui vengono creati tali siti. (es .: non si generano le pagine fisiche stesse al momento dell'invio del modulo.) Invece, di solito si memorizzano i dati del modulo in un database e poi lo si recupera/lo si visualizza in base all'URL, decodificando l'URL stesso tramite un "controller" o utilizzando una variabile stringa di query come ?producerid=x. Questi dati sarebbero quindi utilizzati per popolare un modello.

Per essere onesti, mi piacerebbe davvero prendere in considerazione un recente libro PHP (per quanto riguarda l'accesso al database, dovresti usare PDO o MySQLi) o seguire alcuni tutorial online - mentre inizialmente potrebbe sembrare come questo non sarà una forma significativa di progresso, è probabile che paghi dividendi sostanziali nel lungo periodo.

2

Il modo migliore ed efficiente per fare? è quello di memorizzare i dati in un database e recuperarli ogni volta che l'utente fa clic su un elemento specifico. Una cosa però, se parte del tuo piano è rendere il tuo sito accessibile tramite google search engine, devi generare le singole pagine web ... perché, google è solo un web crawler ... non può entrare in mysql o in altri database .

Problemi correlati