Visualizzazione dei risultati da 1 a 5 su 5

Discussione: esercizio form php

  1. #1

    esercizio form php

    ciao, mi servirebbe un aiuto per questo piccole esercizio php.
    Mi spiego: dovrei fare un form con inserimento di user e password. La pagina in questione (home.php) deve fare questo: se l'user è uguale a "admin" mi redirige sulla pagina admin.php altrimenti vado sulla pagina indexOLD.html.
    Questo il codice:

    Codice PHP:
     <head>
      <title>form2</title>
     </head>
     <?php
     $pagina
    ;
     echo 
    '<form method="get" action="'.$pagina.'">';
     
    ?>

     <table border="3">
     <tr><td>User:</td><td>
     <?php
     $username_php
    ="username_php";
     echo 
    '<input type="text" name="'.$username_php.'"/>';
     if(
    $username_php=="admin")
     {
    $pagina="admin.php";}
     else
     {
    $pagina="indexOLD.html";}
     echo 
    $username_php;
     echo 
    $pagina;
     
    ?>
     
    </td>
     <tr><td>Password:</td><td><input type="text" name="password"/></td>
     </table>

     <input type="submit" name="invio" value="invio"/>
     </form>
    Il problema è che una volta che premo "invia", rimango nella stessa pagina (home.php). Mi sembra però che i parametri inseriti nel form vengano passati correttamente (lo vedo nella url)

    Grazie del vosro aiuto.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    E' decisamente un pastrocchio di codice.
    Se è una cosa che stai studiando ti consiglio di studiarla meglio perché proprio non l'hai capita.

  3. #3
    beh.. diciamo che cosi non mi sei molto di aiuto!
    la mia idea era quella di leggere dal campo username del input type=text, e verificare tramite php se fosse uguale a admin o meno.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ti sarei ancor meno di aiuto scrivendoti il codice corretto.
    Da ciò che hai scritto tu si capisce che non hai idea di come funzioni la comunicazione tra un form e uno script php.

    Cerca di studiare e capire questa parte, vedrai che ti accorgerai da solo che ciò che hai scritto è lontano anni luce dall'essere corretto.

  5. #5
    Utente di HTML.it L'avatar di ercoli
    Registrato dal
    Mar 2002
    Messaggi
    173
    Ciao, effettivamente il codice che hai postato é molto confuso...

    Comunque é chiaro che se stati cercando di imparare hai bisogno di una risposta un po' più costruttiva.

    form.php

    codice:
    <html>
    <head></head>
    <body>
    
    <!-- Con questa stringa verifico se la form é stata compilata: 
           in caso negativo presento la form all'utente -->
    <? if (!isset($_GET['user'])): ?>
    
    
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="get">
    <label>User: <input type="text" name="user" />
    <label>Password: <input type="password" name="password" />
    <input type="submit" name="invio" value="invio" /> 
    </form>
    
    
    <? 
    else {
    	if ($_GET['user'] == "admin") {
    		header("Location: admin.php");		
    		}
    	else {header( "Location: indexOLD.htm" );} 	
    	}
    
    ?>
    
    </html>
    Un'occhiata veloce al codice.

    !isset($_GET['user']) >>> questo frammento verifica che la variabile 'user' non sia stata inizializzata; isset() verifica l'esistenza di una variabile; aggiungere il punto esclamativo "!" significa negare quell'istruzione. Dunque se isset(); restituisce VERO se la variabile esiste, !isset(); restuituisce VERO solo se la variabile NON esiste.

    $_SERVER['PHP_SELF'] >>> indica allo script di ricaricare se stesso. IN questo modo, una volta compilata la form, lo script verrà ricaricato, e verrà eseguito il frammento else{} dopo la form, perchè !isset($_GET['user']) é FALSO.

    Intendiamoci: questo codice é appunto didattico e non può assolutamente essere utilizzato per un applicativo.
    Ad esempio: non verifica la password; oppure ancora non effettua alcun controllo sull'input. Ma questi ed altri argomenti esulano dalla tua richiesta.

    Ciao.

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.