Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Convalida Form con PHP
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • C
      codencode User Attivo • 5 set 2011, 14:54 ultima modifica di

      Prova a fare così:
      [PHP]
      if(isset($_POST['login'])){
      echo "OK";
      }
      [/PHP]

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        talkoman User Attivo • 5 set 2011, 15:00 ultima modifica di

        Nada, mi ricarica la pagina ma senza darmi alcun esito...

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • C
          codencode User Attivo • 5 set 2011, 16:17 ultima modifica di

          Scusa mi posti tutto il codice che utilizzi?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            talkoman User Attivo • 6 set 2011, 07:43 ultima modifica di

            Eccolo!
            [PHP]<?php
            // Includo la connessione al database
            require('config.php');
            // Se il modulo viene inviato...
            /echo "<script>alert('".$_POST['login']."');</script>";/
            if(isset($_POST['login'])){
            echo "OK";

            // Dati Inviati dal modulo
            $user = (isset($_POST['username'])) ? trim($_POST['username']) : '';    // Metto nella variabile 'user' il dato inviato dal modulo, se non viene inviato dò di default ''
            $pass = (isset($_POST['password'])) ? trim($_POST['password']) : '';    // Metto nella variabile 'pass' il dato inviato dal modulo, se non viene inviato dò di default ''
            
            // Filtro i dati inviati se i magic_quotes del server sono disabilitati per motivi di sicurezza
            if (!get_magic_quotes_gpc()) {
                $user = addslashes($user);
                $pass = addslashes($pass);
            }
            
            // Crypto la password e la confronto con quella nel database
            $pass = md5($pass);
            
            // Controllo l'utente esiste
            $query = mysql_query("SELECT idUtente FROM utenti WHERE visibile='s' AND gesfin='s' AND eliminato='n' AND nomeUtente = '$user' AND PassUtente = '$pass' LIMIT 1");
            
            // Se ha trovato un record
            if(mysql_num_rows($query) == 1){
                // prelevo l'id dal database
                $login = mysql_fetch_array($query);
            		// Creo una variabile di sessione
            		$_SESSION['loginGesfin'] = $login['idUtente'];
            		// reindirizzo l'utente
            		header('Location: index.php');
                exit;
            }
            // se non esiste da l'errore
            else{
                echo "<script>alert('Nome Utente e/o Password errati');</script>";
            	session_start();
            	session_destroy();
            	header('Location: login.php');
            	exit;
            }
            

            }

            ?>
            <!DOCTYPE html>
            <html>
            <head>
            <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
            <meta http-equiv="Content-Script-Type" content="text/javascript" />
            <noscript>
            </noscript>
            <title><?php echo $nomeSito;?></title>
            <link href="css/login.css" rel="stylesheet" type="text/css" />
            <link href="css/apple.css" rel="stylesheet" type="text/css" />
            <script type="text/javascript" src="/js/jquery-1.4.min.js"></script>
            <script type="text/javascript" src="/js/jquery.validate.min.js"></script>
            <script type="text/javascript">
            $(document).ready(function(){
            $('form[name=loginForm]').validMe({shaker: true});
            });

            function invia(){
            	document.loginForm.submit();
            }
            

            </script>
            </head><body style="overflow: hidden">
            <div class="sfumatura"></div>
            <div class="login" align="center"> <img style="position: relative;" src="http://www.giorgiotave.it/forum/images/logo.png" width="326" height="220" alt="FIN Sicilia" />
            <form id="loginForm" name="loginForm" action="" method="post" style="width: 640px; margin-top: -13px;">
            <div style="width: 266px; height: 59px; left: 1px; top: 33px; z-index: 0;">
            <div id="usernameRing" class="field-ring sprite" style="opacity: 0;"></div>
            </div>
            <div id="usernameContainer" class="field-container sprite">
            <input id="username" name="username" type="text" class="field eye-transparent-mouse-opaque required" spellcheck="false" maxlength="128" value="" placeholder="Username" />
            </div>
            <div style="width: 266px; height: 59px; left: 253px; top: 33px; z-index: 0;">
            <div id="passwordRing" class="field-ring sprite" style="opacity: 0;"></div>
            </div>
            <div id="passwordContainer" class="field-container sprite">
            <input id="password" name="password" type="password" class="field eye-transparent-mouse-opaque required" maxlength="128" value="" placeholder="Password" />
            </div>
            <div style="width: 130px; height: 62px; left: 506px; top: 32px; z-index: 0;">
            <div id="submitRing" class="button-ring" style="opacity:0; filter:alpha(opacity=0);">
            <div id="submitRingLeft" class="left-halffull left sprite"></div>
            <div id="submitRingRight" class="right-halffull right sprite"></div>
            </div>
            </div>
            <div id="submitContainer" class="button-container down" style="width: 130px;">
            <input id="submitButton" class="button-input" type="text" value="_" name="login">
            <div id="submitLabel" class="button-label shadowy" shadowopacity="0.64" shadowcolor="white" shadowblur="1"><a class="loginButton" href="#" onClick="document.loginForm.submit();">Accedi</a></div>
            <div id="submitBG" class="button-bg">
            <div id="submitBGLeft" class="left-halffull left sprite"></div>
            <div id="submitBGRight" class="right-halffull right sprite"></div>
            </div>
            </div>
            </form>
            </div>
            </body>
            </html>
            [/PHP]

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • C
              codencode User Attivo • 6 set 2011, 07:57 ultima modifica di

              Ho provato il tuo codice, rimuovendo ovviamente[php] require ('config.php');[/php] e appena dopo [php]echo "OK";[/php] ho messo [php]exit();[/php] così da evitare il redirect.
              Quindi l'if è corretto, come già ti avevo detto, non è che c'è qualche altro errore?
              Prova a fare come ho fato io, aggiungi l'exit, quindi:
              [php]if (isset($_POST ['login'])) {
              echo "OK";
              exit();[/php]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                talkoman User Attivo • 6 set 2011, 08:27 ultima modifica di

                Ho provando mettendo un exit() quasi in ogni riga per vedere dove si bloccava.
                A quanto pare non gli piace l'header in questa porzione di codice:

                [PHP]if(mysql_num_rows($query) == 1){
                // prelevo l'id dal database
                $login = mysql_fetch_array($query);
                // Creo una variabile di sessione
                $_SESSION['loginGesfin'] = $login['idUtente'];
                // reindirizzo l'utente
                header('Location: index.php');
                exit;
                }
                // se non esiste da l'errore
                else{
                echo "<script>alert('Nome Utente e/o Password errati');</script>";
                session_start();
                session_destroy();
                header('Location: login.php');
                exit;
                }[/PHP]

                Hai suggerimenti? E' la prima volta che mi da questo problema. Sempre usato lo stesso script ovunque!

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  codencode User Attivo • 6 set 2011, 08:56 ultima modifica di

                  Quindi entra nell'IF. Il problema degli header è che devono essere usati prima di una qualsiasi istruzione di output, basta una andata a capo e ti da problemi.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    talkoman User Attivo • 6 set 2011, 09:14 ultima modifica di

                    Quindi? Che mi consigli?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • C
                      codencode User Attivo • 6 set 2011, 09:23 ultima modifica di

                      Di verificare se esegui output prima dell'Header.
                      Se è così devi modificare il codice affinchè non ci siano autput prima dell'header.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • T
                        talkoman User Attivo • 6 set 2011, 13:17 ultima modifica di

                        No, nessun output, lo vedi anche tu, hai il codice intero della pagina...

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • C
                          codencode User Attivo • 6 set 2011, 13:52 ultima modifica di

                          Ma nel codic ec'è ancora [php]echo "OK";[/php]
                          prova a toglierlo.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • T
                            talkoman User Attivo • 6 set 2011, 16:45 ultima modifica di

                            Nel mio codice l'ho già tolto...

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • C
                              codencode User Attivo • 6 set 2011, 19:18 ultima modifica di

                              Io ho provato il codice in locale e funziona nel senso che viene eseguito il redirect. Non so proprio cosa pensare. Qual'è l'errore che ti restituisce?

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • T
                                talkoman User Attivo • 7 set 2011, 08:27 ultima modifica di

                                Nulla, semplice refresh della pagina...ho verificato la query e viene eseguita tranquillamente con un risultato valido. Ho messo la @ davanti alle istruzioni mysql in modo da evitare output involontari di errori ma nulla....se metto l'exit prima dell'istruzione header funziona tutto....altrimenti ricarica la pagina...!

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • C
                                  codencode User Attivo • 7 set 2011, 08:49 ultima modifica di

                                  E tu cosa vuoi che faccia?
                                  [PHP]header('Location: index.php'); [/PHP]

                                  esegue il redirect alla index.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • T
                                    talkoman User Attivo • 7 set 2011, 08:57 ultima modifica di

                                    Ma lui mi redirect su login.php, sia che entra nel caso vero, che nel falso...

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • C
                                      codencode User Attivo • 7 set 2011, 11:51 ultima modifica di

                                      Ma sei sicuro che allora non va nell'else? perche dovrebbe andare al login se l'istruzione di redirect è verso la index?

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • T
                                        talkoman User Attivo • 7 set 2011, 14:00 ultima modifica di

                                        Perché se no dovrebbe eseguire questo
                                        [PHP]echo "<script>alert('Nome Utente e/o Password errati');</script>";[/PHP]

                                        Cosa che fa se metto l'exit() prima dell'header

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • C
                                          codencode User Attivo • 7 set 2011, 14:18 ultima modifica di

                                          ma quale header? questo?
                                          [PHP] header('Location: login.php');[/PHP]

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • T
                                            talkoman User Attivo • 7 set 2011, 14:23 ultima modifica di

                                            Si

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti