Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Problema con form

  1. #1

    Problema con form

    Buongiorno a tutti ho un problema curioso con il mio form...
    Mi redirige su una pagina sbagliata rispetto a quella indicata nella action e non capisco il perchè mi manda su la pagina login.php quando io nella action specifico insert.php...
    vi posto il codice sia del form sia js per completezza...

    Php:

    Codice PHP:
    <?phpsession_start();
    header("Content-type: text/html; charset=utf-8");
    $title=NULL;$content="   <title>Registrazione</title>    

    <h1>Modulo Registrazione Banca del Tempo</h1>
    <table id=\"table\"><form method=\"post\" name=\"modulo\" action=\"insert.php\" onsubmit= \"return Modulo()\" enctype=\"text/plain\">    <tr>        <td colspan=\"2\" align=\"center\"><b>Registrazione al servizio<br>Tutti i campi sono obbligatori</b></td>    </tr>    <tr><td><b>Nome</b></td><td><input type=\"text\" name=\"nome\" id=\"nome\"></td></tr>    <tr><td><b>Cognome</b></td><td><input type=\"text\" name=\"cognome\"id=\"cognome\"></td></tr>    <tr><td><b>Username</b></td><td><input type=\"text\" name=\"username\"id=\"username\"></td></tr>    <tr><td><b>Password</b></td><td><input type=\"password\" name=\"password\"id=\"password\"></td></tr>    <tr><td><b>Conferma password</b></td><td><input type=\"password\" name=\"conferma\"id=\"conferma\"></td></tr>    <tr><td><b>Data di nascita (es: 12/04/1978)</b></td><td><input type=\"text\" name=\"nascita\"id=\"nascita\"></td></tr>    <tr><td><b>Sesso</b></td><td>      <input type=\"radio\" name=\"sesso\" value=\"M\" checked>M      <input type=\"radio\" name=\"sesso\" value=\"F\">F    </td>    </tr>    <tr><td><b>Città</b></td><td>      <select name=\"citta\" id=\"citta\">        <option>- Seleziona la tua città -</option>        <option value=\"Roma\">Roma</option>        <option value=\"Milano\">Milano</option>        <option value=\"Napoli\">Napoli</option>        <option value=\"Firenze\">Firenze</option>        <option value=\"Bologna\">Bologna</option>      </select>    </td>    </tr>    <tr><td><b>Indirizzo</b></td><td><input type=\"text\" name=\"indirizzo\"id=\"indirizzo\"></td></tr>    <tr><td><b>Telefono (senza spazi nè simboli)</b></td><td><input type=\"text\" name=\"telefono\"id=\"telefono\"></td></tr>    <tr><td><b>Email</b></td><td><input type=\"text\" name=\"email\"id=\"email\"></td></tr>        <tr><td colspan=\"2\"><b>Firma</b></td></tr><tr>        <td colspan=\"2\" align=\"center\">        <textarea name=\"firma\" rows=\"5\" cols=\"32\" id=\"firma\">Inserisci qui il tuo slogan!</textarea>        </td>    </tr>      <tr><td colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Invia\"></td></tr>     <tr><td colspan=\"2\" align=\"right\"><input type=\"reset\" value=\"Cancella\"></td></tr></form></table>"
    ;    // costruzione della pagina        include ('layout/header.php');    include ('layout/menu.php');    include ('layout/content.php');    include ('layout/footer.php');    
    ?>
    JS:

    codice:
    function Modulo() {    // Variabili associate ai campi del modulo
        var nome = document.getElementById("nome").value;
        var cognome = document.getElementById("cognome").value;
        var username = document.getElementById("username").value;
        var password = document.getElementById("password").value;
        var conferma = document.getElementById("conferma").value;
        var nascita = document.getElementById("nascita").value;
        var citta = document.getElementById("citta").options[document.getElementById("citta").selectedIndex].value;
        var indirizzo = document.getElementById("indirizzo").value;
        var telefono = document.getElementById("telefono").value;
        var email = document.getElementById("email").value;
      //  var homepage = document.modulo.homepage.value;
        var firma = document.getElementById("firma").value;
     
        // Espressione regolare dell'email
        var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
          
        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome è obbligatorio.");
            document.getElementById("nome").focus();
            return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cognome == "") || (cognome == "undefined")) {
            alert("Il campo Cognome è obbligatorio.");
            document.getElementById("cognome").focus();
            return false;
        }
        //Effettua il controllo sul campo NICKNAME
        else if ((username == "") || (username == "undefined")) {
            alert("Il campo Username è obbligatorio.");
            document.getElementById("username").focus();
            return false;
        }
        //Effettua il controllo sul campo PASSWORD
        else if ((password == "") || (password == "undefined")) {
            alert("Il campo Password è obbligatorio.");
            document.getElementById("password").focus();
            return false;
        }
        //Effettua il controllo sul campo CONFERMA PASSWORD
        else if ((conferma == "") || (conferma == "undefined")) {
            alert("Il campo Conferma password è obbligatorio.");
            document.getElementById("conferma").focus();
            return false;
        }
        //Verifica l'uguaglianza tra i campi PASSWORD e CONFERMA PASSWORD
        else if (password != conferma) {
            alert("La password confermata è diversa da quella scelta, controllare.");
            document.getElementById("conferma").value = "";
            document.getElementById("conferma").focus();
            return false;
        }
        //Effettua il controllo sul campo DATA DI NASCITA
        else if (document.getElementById("nascita").value.substring(2,3) != "/" ||
                 document.getElementById("nascita").value.substring(5,6) != "/" ||
                 isNaN(document.getElementById("nascita").value.substring(0,2)) ||
                 isNaN(document.getElementById("nascita").value.substring(3,5)) ||
                 isNaN(document.getElementById("nascita").value.substring(6,10))) {
             
            alert("Inserire nascita in formato gg/mm/aaaa");
            document.getElementById("nascita").value = "";
            document.getElementById("nascita").focus();
            return false;
        }
        else if (document.getElementById("nascita").value.substring(0,2) > 31) {
            alert("Impossibile utilizzare un valore superiore a 31 per i giorni");
            document.getElementById("nascita").select();
            return false;
        }
        else if (document.getElementById("nascita").value.substring(3,5) > 12) {
            alert("Impossibile utilizzare un valore superiore a 12 per i mesi");
            document.getElementById("nascita").value = "";
            document.getElementById("nascita").focus();
            return false;
        }
        else if (document.getElementById("nascita").value.substring(6,10) < 1900) {
            alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno");
            document.getElementById("nascita").value = "";
            document.getElementById("nascita").focus();
            return false;
        }
        //Effettua il controllo sul campo CITTA'
        else if ((citta == "") || (citta == "undefined")) {
            alert("Il campo Città è obbligatorio.");
            document.getElementById("citta").focus();
            return false;
        }
        //Effettua il controllo sul campo INDIRIZZO
        else if ((indirizzo == "") || (indirizzo == "undefined")) {
            alert("Il campo Indirizzo è obbligatorio.");
            document.getElementById("indirizzo").focus();
            return false;
        }
        //Effettua il controllo sul campo TELEFONO
        else if ((isNaN(telefono)) || (telefono == "") || (telefono == "undefined")) {
            alert("Il campo Telefono è numerico ed obbligatorio.");
            document.getElementById("telefono").value = "";
            document.getElementById("telefono").focus();
            return false;
        }
        else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
            alert("Inserire un indirizzo email corretto.");
            document.getElementById("email").select();
            return false;
        }
       
       
        //Effettua il controllo sul campo FIRMA
        else if ((firma == "") || (firma == "undefined") || (firma.indexOf("Inserisci qui il tuo slogan!") != (-1))) {
            alert("Il campo Firma è obbligatorio e non si può inserire la scritta predefinita.");
            document.getElementById("firma").focus();
            return false;
        }
        //INVIA IL MODULO
        
        else {
        	return true;
            
            
        }
    }
    //-->



    Grazie mille per l'aiuto...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Qual'è il codice di insert.php? Chi chiama la funzione Modulo()? Come previeni la propagazione del submit?

    p.s. in jQuery tutti quei document.getElementById sparirebbero! (questo non risolve il problema)

  3. #3
    Il codice di insert è:
    codice:
    <?php
    session_start();
    
    
    header("Content-type: text/html; charset=utf-8");
    	
    		
    	
    	
    	include ("functions/mysqldb.php");
    	
    	$conn = new mysqlClass;
    	$conn->connect();
    	if($conn->newinsert($_POST["nome"],$_POST["cognome"],$_POST["username"],$_POST["password"])){
    
    
    		$_SESSION["loggedin"]=1;
    		$title = "Congratulazioni!";
    		$content = "sei Registrato";
    	}
    	else {
    		$title = "Errore!";
    		$content = "errore nella Registrazione";
    	}	
    	
    
    
    
    
    
    
    $content="Ci vanno slot per tutto";
    
    
    
    
    
    
    
    
    // costruzione della pagina
    	
    	include ('layout/header.php');
    	include ('layout/menu.php');
    	include ('layout/content.php');
    	include ('layout/footer.php');
    	
    
    
    ?>
    é un inizio di codice per lanciare la query al database non so se sia giusto...

    Il problema è che il form mi reindirizza alla pagina login.php e non a questa...
    la funzione è chiamata dal form con un onClick()...

  4. #4
    Quote Originariamente inviata da SimoX90 Visualizza il messaggio
    Qual'è il codice di insert.php? Chi chiama la funzione Modulo()? Come previeni la propagazione del submit?

    p.s. in jQuery tutti quei document.getElementById sparirebbero! (questo non risolve il problema)

    Continua lo stesso problema quando lancio il form contrariamente a quanto dovrebbe fare non mi reindirizza a insert.php ma continua con login.php Perchè?????
    Help me please

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Non ho letto riga per riga il tuo codice, ma direi che quello che hai fatto dovrebbe essere corretto...
    Iniziamo a capire dov'è l'errore, prova a lanciare il submit con js disattivato (Google Chrome permette di farlo comodamente dalla console di debug) e dicci se il problema si presenta lo stesso...
    avevo letto male- inoltre posta il codice js che evita il submit e lancia i controlli, l'errore potrebbe essere lì oppure in qualcuno dei php che includi.
    P.s. nella bozza di codice di insert non fai alcun controllo sui dati, se faccio il submit con js disabilitato inserendo le giuste stringhe ti friggo il database e mi autentico come chi voglio, occhio
    Ultima modifica di SimoX90; 02-01-2014 a 08:14

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Quote Originariamente inviata da surapazzo Visualizza il messaggio
    Codice PHP:
    $content="   <title>Registrazione</title>    

    <h1>Modulo Registrazione Banca del Tempo</h1>
    <table id=\"table\"><form method=\"post\" name=\"modulo\" action=\"insert.php\" onsubmit= \"return Modulo()\" enctype=\"text/plain\"> 
    Ora che ci faccio caso, cosa ci fa un tag title qui???

  7. #7
    Non lo vedo...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Quote Originariamente inviata da surapazzo Visualizza il messaggio
    Non lo vedo...
    La seconda parola nel codice che ho quotato sopra

  9. #9
    Quote Originariamente inviata da SimoX90 Visualizza il messaggio
    La seconda parola nel codice che ho quotato sopra
    Ah ma no scusami quello è il titolo della registrazione non centra nulla=)

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Codice PHP:
    $content="   <title>Registrazione</title> 
    Questo è un tag title html.

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.