Visualizzazione risultati 1 fino 6 di 6

Discussione: Come mescolare PHP ed HTML

  1. #1
    Guest

    Predefinito

    Credendo che la cosa possa essere di interesse generale, ho pensato di fare un po' di ordine riassumendo tutto in un messaggio.

    Esiste un'altro metodo molto comodo per mescolare PHP con HTML, particolarmente utile nel caso in cui l'HTML sia predominante e si debbano inserire solo pochi valori PHP:

    <?= espressione ?>

    Riprendendo l'esempio che ha originato il thread precedente:

    <p><font color=red><a href="<?= $url1 ?>">News</a></font></p>

    In pratica, si può fare:

    <? #tutto nel blocco PHP

    $url1 = "http://www.altervista.org";

    echo "<p><font color=red>";
    echo "<a href='".$url1."'>News</a>";
    echo "</font></p>";
    ?>

    Una singola variabile può essere inserita anche SENZA concatenazione:

    <? #tutto nel blocco PHP

    $url1 = "http://www.altervista.org";

    echo "<p><font color=red>";
    echo "<a href='$url1'>News</a>";
    echo "</font></p>";
    ?>

    Oppure:

    <? #valorizziamo la variabile $url1
    $url1 = "http://www.altervista.org";
    ?>

    <!-- HTML predominante -->

    <p><font color=red>
    <a href='<?= $url1 ?>'>News</a>
    </font></p>


    Il consiglio che mi sento di dare è: usate lo stile che più vi piace, ma la cosa più importante alla lunga è che il codice rimanga CHIARO E COMPRENSIBILE! Ovvero:

    • - Usate molte note, solitamente dopo una settimana vi siete scordati completamente la struttura del codice.
      - Non scrivete il codice troppo "compattato" evitando spazi, note e righe vuote: non risparmiate banda, la pagina NON viene alleggerita in alcun modo e l'unico risultato che rischiate di ottenere è una gran perdita di tempo quando rimetterete mano a quella pagina.
      - Se una pagina non funziona, rifatela daccapo. E' la maniera migliore di imparare rapidamente a programmare.

  2. #2
    Guest

    Predefinito

    Se, ovviamente, sapeste le regole basilari del php, questa discussione non dovrebbe essere una novità...

    [code:1:e4fa4c62fd]<? #tutto nel blocco PHP

    $url1 = "http://www.altervista.org";

    echo "<p><font color=red>";
    echo "<a href='".$url1."'>News</a>";
    echo "</font></p>";
    ?> [/code:1:e4fa4c62fd]

    Tutti sappiamo la funzione echo a cosa serve. Pochi però sanno la differenza tra apici singoli e doppi: se la stringa é delimitata da apici singoli, il parser php la prende per intero e la butta in output (la visualizza così com é); se, invece, é delimitata da apici doppi (o virgolette qual dir si voglia), il parser php cerca nella stringa eventuali variabili, se le trova le sostituisce, ed una volta raggiunta la fine butta tutto in output.

    echo 'ciao mondo';

    Qui il parser vede gli apici singoli: mette la stringa immediatamente in output.

    echo "ciao mondo";

    Qui il parser vede gli apici doppi, quindi cerca nella stringa le variabili: non le trova. Butta la stringa in output: attenzione: elaborazione più lunga del necessario!

    Ancora:

    $mondo=' mondo';
    echo 'ciao'.$mondo';

    La stringa da inserire nella variabile é costeggiata da apici singoli: la infila senza farie storie.

    L'echo é costeggiato da apici singoli: mette il ciao in output direttamente, poi infila in ouput la variabile $mondo.

    $mondo=" mondo";
    echo 'ciao.'.$mondo;

    Qui la stringa di $mondo é delimitata da apici doppi: cerca eventuali variabili ma non li trova: Elaborazione più lunga del necessario

    $mondo=" mondo";
    echo "ciao $mondo";

    La stringa da inserire in $mondo é costeggiata da apici doppi: cerca eventuali variabili e non li trova.

    La stringa da mandare in ouput é delimitata da apici doppi: cerca la variabile e la trova, ma l'elaborazione é comunque più lunga del necessario perché nella stringa da elaborare é compreso anche il 'ciao'.

    [code:1:e4fa4c62fd]<!-- HTML predominante -->

    <p><font color=red>
    <a href='<?= $url1 ?>'>News</a>
    </font></p> [/code:1:e4fa4c62fd]

    In questo caso fa elaborare solo la parte che serve non scrivendo tutta la pagina in php...

  3. #3
    Guest

    Predefinito

    Se usate editor visuali vi potrebbe risultare comoda questa sintassi:
    <script "language="php">
    ...
    </script>

  4. #4
    Ospite Guest

    Predefinito

    Infatti io questa cosa non la sapevo, ma poi, capendo che in realtà tutto il codice tra le "" non viene convertito al momento dell'invio al browser ho capito che l'html può essere inserito tra due punti php.

  5. #5
    Guest

    Predefinito

    Se volete un consiglio su come organizzare il codice...
    Utilizzate classi e oggetti.Specialmente lavorando con MySql e quindi avendo tante query da fare risulta molto comodo.
    Il codice rimane pultio, nascondete alle pagine qualsiasi storia sulla struttura della classe e quindi la rendete "immune" a eventuali modifiche.
    Se poi voi fate la parte di codice e un altra persona si occupa della parte grafica risluterà molto più semplice lavorarci.
    I commenti sono basilari...io li faccio sempre stile Java (come intestazione di ogni singola funzione).
    Altra cosa....
    Il PHP non è fatto per stamapre HTML, quindi salvo rarissime occasioni, sempre secondo me, è meglio evitare di fargli stampare codice HTML.
    Molto meglio fare una cosa del tipo <a href = "<?php echo $url; ?>">desc</a>.
    Ciao e buon lavoro a tutti

  6. #6
    Guest

    Predefinito

    Salve salvino!!
    Come al solito mi tocca fare la parte del poppante...
    Solitamente creo la pagina con dreamweaver, poi la metto tra i tags php e infine aggiungo gli echo e il codice php dove necessario...
    adesso che sto cercando di rivalutare l'html mi rendo conto dell'errore.
    Mi chiedo quale sia lo scoop di una variabile php: se apro e chiudo uno script in una pagina definendo delle variabili.. sarò in grado di vederle in un secondo script inserito sempre nella medesima pagina???

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •