Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: if & form

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    if & form

    Buonasera mi scuso in anticipo per il titolo ma non sapevo come nominarlo, comunque la mia domanda è vermanete banale:

    all'interno di un codice html dovrebbe andarci un codice php ovvero se si verifica una determinata condizione appare un form, se si veifica la condizione opposta (quindi l'else) appare un altro form.

    come posso impostarlo il codice?

    avevo pensato a :

    <?php
    if(...){
    echo" <form name......................</form>";
    }
    else{
    echo "<form name...........</form>";
    }
    ?>
    dovrei farlo così?

    no perchè quando ho provato a farlo così non mi funzionava :\

    grazie mille per le eventuali risposte

  2. #2
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    Cosa ci metti dentro a
    Codice PHP:
    if (..) 
    ed il form come è popolato?
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    allora ti spiego nell'if ci metterei un parametro passato dal form stesso, ovvero ho questo form:

    Codice PHP:
    <form name="login" method="POST" action="login.php">
    Utente&nbsp<input type="text" name="utente" id="utente" style="background-color:#000000;border-color:#6a7c2a;color:#b0b0b0;border-style:solid;" />
    Password&nbsp<input type="password" name="psw" id="psw" style="background-color:#000000;border-color:#6a7c2a;color:#b0b0b0;border-style:solid;" />
    <
    input type="submit" value="Entra" id="loginn" style="padding:2px;border-color:#7d5024;background-color:#6a7c2a;color:#000000;border-style:solid;" />
    </
    form
    una volta che effettuo il login il form diventa questo:

    Codice PHP:
    <form name="logout" method="POST" action="logout.php">
    Sei nell'
    [url="riservata.php"]Area Riservata[/url]
    <input type="submit" value="Esci" style="padding:2px;border-color:#7d5024;background-color:#6a7c2a;color:#000000;border-style:solid;" />
    </form> 
    ora il problema è che per esempio questo accade solo quando effettuo il login, ma se io per esempio effettuo il login ed esco dalla pagina in cui c'è il secondo form che ho postato, nelle altre pagine ho il primo form ovviamente, quindi pensavo a fare un if per vedere se era stato effettuato o meno il login quindi per vedere se erano stati passasti i parametri del login, se viene effettuato il login mostra il secondo form, se non è stato effettuato mostra il primo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    in linea di principio dovrebbe funzionare... potresti stampare a video la condizione dell'if e il suo valore per sincerarti di come viene valutata... puoi postarla (e se fai anche il dump postare anche il suo valore)?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    cos'è il dump?

  6. #6
    Hai gestito le virgolette con il backslash all'interno dell'echo?

    Ad ogni modo, personalmente, ti sconsiglio di inserire troppo HTML nel print o nell'echo di PHP per questioni di lettura. Se devi andare a modificare diventa difficile.

    Io, ammesso che non si tratti poco HTML, lavoro sempre così:

    Codice PHP:
    <?

    ... Codice PHP ...

    if (
    condizione) {
    ?>

    ... HTML ...

    <?
    }

    ... 
    Codice PHP ...

    ?>
    È brutto aprire e chiudere i tag PHP troppe volte, ma quando poi dovrai andare a modificare l'HTML ti sarà più semplice perché è appunto più leggibile.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    per dump intendiamo genericamente la "stampa" (a video solitamente) del contenuto di variabili...

    Codice PHP:
    $condizione = ...; // LA TUA CONDIZIONE
    var_export($condizione); // Dump per verificare il valore
    if ($condizione) {
      
    $form = <<<HTML
      <form ...>
      ...
      </form>
    HTML;
    } else {
      
    $form = <<<HTML
      <form ...>
      ...
      </form>
    HTML;
    };
    print 
    $form
    ...la sintassi indicata ti permette di inserire codice HTML "normalmente"

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    allora intanto provo questa prima soluzione:

    Codice PHP:
    <?php
    if(!isset($_SESSION['utente'])){
    ?>
    <form name="login" method="POST" action="login.php">
    Utente&nbsp<input type="text" name="utente" id="utente" style="background-color:#000000;border-color:#6a7c2a;color:#b0b0b0;border-style:solid;" />
    Password&nbsp<input type="password" name="psw" id="psw" style="background-color:#000000;border-color:#6a7c2a;color:#b0b0b0;border-style:solid;" />
    <input type="submit" value="Entra" id="login" style="padding:2px;border-color:#7d5024;background-color:#6a7c2a;color:#000000;border-style:solid;" />
    </form>
    <?php
    }
    else{
    ?>
    <form name="logout" method="POST" action="logout.php">
    Sei nell'
    [url="riservata.php"]Area Riservata[/url]
    <input type="submit" value="Esci" style="padding:2px;border-color:#7d5024;background-color:#6a7c2a;color:#000000;border-style:solid;" />
    </form>
    <?php
    }
    ?>
    l'ho provata e non funziona

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    "non funziona", cioè? cosa succede? inoltre come setti "$_SESSION['utente']" in login.php?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    ora ho provato questa soluzione una volta con POST e una volta con SESSION

    questo è il codice:

    Codice PHP:
    <?php
    $condizione
    =$_POST['utente'];
    var_export($condizione);
    if(
    $condizione){
    $form=<<<HTML
    <form name="logout" method="POST" action="logout.php">
    Sei nell'
    [url="riservata.php"]Area Riservata[/url]
    <input type="submit" value="Esci" style="padding:2px;border-color:#7d5024;background-color:#6a7c2a;color:#000000;border-style:solid;" />
    </form>
    HTML;
    }
    else{
    $form=<<<HTML
    <form name="login" method="POST" action="login.php">
    Utente&nbsp<input type="text" name="utente" id="utente" style="background-color:#000000;border-color:#6a7c2a;color:#b0b0b0;border-style:solid;" />
    Password&nbsp<input type="password" name="psw" id="psw" style="background-color:#000000;border-color:#6a7c2a;color:#b0b0b0;border-style:solid;" />
    <input type="submit" value="Entra" id="login" style="padding:2px;border-color:#7d5024;background-color:#6a7c2a;color:#000000;border-style:solid;" />
    </form>
    HTML;
    }
    print 
    $form;
    ?>
    con POST mi dice:

    Notice: Undefined index: utente in C:\xampp\phpMyAdmin\blackskull\index.php on line 21
    NULL

    con SESSION mi dice:

    Notice: Undefined variable: _SESSION in C:\xampp\phpMyAdmin\blackskull\index.php on line 21
    NULL

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.