Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    29

    Bottoni diversi in una stessa form / registrazione utenti

    ciao a tutti! ho bisogno del vostro aiuto.
    sto costruendo una pagina php per la registrazione degli utenti in una scuola. in realtà a questo sito possono accedere solo gli utenti che frequentano la scuola, quindi all'interno del database sono presenti la loro chiave primaria e il nome e cognome. quando ci si registra, se esisti nel database, puoi completare l'iscrizione con le informazioni di user e password + altre accessorie.
    ho creato 2 file: registrazione.php che mi permette da il modulo per la registrazione e check_registrati.php per il controllo e le varie operazioni.
    registrazione.php
    codice:
    <?php session_start(); ?> 
    <form action="check_registrati.php" method="POST"> 
    <table width="45%" cellpadding="15" cellspacing="15" align="center"> 
    <?php if (!isset($_SESSION['id_user'])){ ?> 
    <tr><td></td><td><select name="sel_ut"> <option value="s">Studente</option> <option value="d">Corpo docente</option> <option value="a">Amministrazione</option> </select></td></tr> 
    <tr><td>OIB: </td><td><input type='text' name='oib' required maxlength="11" /></td></tr> 
    <tr><td>Nome:</td><td><input type='text' name='nome' required /></td></tr> 
    <tr><td>Cognome:</td><td><input type='text' name='cognome' required /></td></tr>
     <tr><td colspan='2' align="center"><input type='submit' value='Cerca'></td></tr> <?php }
     else { ?> 
    <tr><th colspan='2'>COMPLETA LA REGISTRAZIONE</th></tr> 
    <tr><td>OIB:</td><td><?php echo $_SESSION['id_user'] ?></td></tr> 
    <tr><td>Nome:</td><td><?php echo $_SESSION['nome'] ?></td></tr> 
    <tr><td>Cognome:</td><td><?php echo $_SESSION['cognome'] ?></td></tr>
    <tr><td>Username:</td><td><input type='text' name='user' required></td></tr>
    <tr><td>Password:</td><td><input type='password' name='pass' required /></td></tr> 
    <tr><td>Indirizzo:</td><td><input type='text' name='indirizzo' required /></td></tr>
    <tr><td>Data di nascita:</td><td><input type='text' name='data' required /> <font size="-2">(gg-mm-aaaa)</font></td></tr>
    <tr><td>Luogo di nascita:</td><td><input type='text' name='luogo' required /></td></tr> 
    <tr><td>E-mail:</td><td><input type='email' required name='mail' /></td></tr> 
    <tr><td colspan='2' align="center"><input type='submit' value='Registrati'></td></tr> 
    <?php } ?> </table> </form>
    check_registrati.php
    codice:
    <?php require 'config.php'; require 'connect.php'; // recupero di valori inviati dal form 
    $oib = $_POST['oib']; 
    $nome = $_POST['nome']; 
    $cognome = $_POST['cognome']; 
    session_start(); ?> 
    <html><head><title>BENVENUTO <?php echo $_POST['user']?></title></head></html> 
    <?php $oib=$_POST['oib']; 
    $nome=$_POST ['nome']; 
    $cognome=$_POST['cognome'];
     switch ($_POST['sel_ut']) { 
    case 'a': $nome_tab='tab_amministrazione'; $tab='amm'; break; 
    case 'd': $nome_tab='tab_professori'; $tab='prof'; break; 
    case 's': $nome_tab='tab_studenti'; $tab='studente'; break; }
     $sql= "SELECT nome_" . $tab . ", cognome_" . $tab . " FROM " . $nome_tab . " WHERE ID_" . $tab . "='$oib'"; 
    echo $sql; $result = mysql_query($sql) or die ("Errore nella query $sql: " . mysql_error()); 
    $row=mysql_fetch_row($result); 
    $count=mysql_num_rows($result);
    if ($count>0){ 
    $_SESSION['id_user']=$oib; 
    $_SESSION['nome']=$nome;
     $_SESSION['cognome']=$cognome; 
    header('location: registrazione.php'); } 
    else { ?>
     <script language="JavaScript1.2"> 
    window.alert('Non sei inserito nel database; per informazioni rivolgiti presso la segreteria della scuola'); 
    window.parent.location.href="index.php"; 
    </script> 
    <?php }?>
    al momento se mi sto registrando inizialmente scrivo le 3 info principale nel modulo, controllo con il file check_registrati.php se ci sono nel db e poi ritorno al modulo per completare l'iscrizione.
    domanda: come faccio adesso a dirgli che se premo il pulsante "registrati" devo fare altro sempre utilizzando il file check_registrati.php?
    novi

  2. #2
    allora....la cosa migliore potrebbe essere usare ajax e javascript, però si può fare anche tutto con PHP

    fai così:

    in check_registrati.php la riga
    Codice PHP:
    header('location: registrazione.php'); 
    diventa
    Codice PHP:
    header('location: registrazione.php?check=ok'); 
    poi dentro registrazione.php
    la parte
    Codice PHP:
    <?php session_start(); ?>
    <form action="check_registrati.php" method="POST">
    diventa così:
    Codice PHP:
    <?php session_start(); 
    if isset(
    $_GET['check'] && $_GET['check']=='ok'
    echo 
    '<form action="check_registrati.php?action=primocontrollo" method="POST"> '
    else 
    echo 
    '<form action="check_registrati.php?action=altro" method="POST"> '
     
    ?>
    ora dentro check_registrati.php
    basta che controlli $_GET['action']
    se $_GET['action'] == primocontrollo
    fai quello che facevi finora
    se $_GET['action'] == altro
    fai le altre cose che devi fare


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    29
    uff... mi da questo errore
    Notice : Use of undefined constant primocontrollo - assumed 'primocontrollo' in C:\Program Files (x86)\EasyPHP-5.3.9\www\check_registrati.php on line 6
    Notice : Use of undefined constant altro - assumed 'altro' in C:\Program Files (x86)\EasyPHP-5.3.9\www\check_registrati.php on line 58
    novi

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    29
    a dire il vero ho risolto l'errore
    Notice : Use of undefined constant primocontrollo - assumed 'primocontrollo' in C:\Program Files (x86)\EasyPHP-5.3.9\www\check_registrati.php on line 6 Notice : Use of undefined constant altro - assumed 'altro' in C:\Program Files (x86)\EasyPHP-5.3.9\www\check_registrati.php on line 58
    ma ora mi si apre il file http://127.0.0.1:8080/check_registrati.php?action='primocontrollo' e non ho nulla... provo a fare un po' di debug...
    novi

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    29
    niente da fare... non c sto riuscendo... non riesco a farlo andare nella seconda parte di check_registrati.php ...
    :'(
    novi

  6. #6
    Codice PHP:
    $_GET['action'] == 'primocontrollo';
    $_GET['action'] == 'altro'

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    29
    RISOLTO, ma molto + facilmente...
    ho semplicemente inserito nella II parte della form (quella di ritorno alla registrazione x completarla) un campo nascosto e poi nel chek_registrati.php ho fatto il controllo sulla sua esistenza...
    così c sono riuscita...
    grazie di tutto
    tra l'altro avevo già provato a fare la modifica che mi hai suggerito e continuava a non andare...
    novi

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.