Visualizzazione risultati 1 fino 11 di 11

Discussione: [PHP] Creare errore dopo un submit

  1. #1
    Guest

    Question [PHP] Creare errore dopo un submit

    Salve, sto cercando di fare un area utenti nel mio sito, le pagine e le funzioni del login funzionano a meraviglia e di questo non mi lamento. L'unica cosa che vorrei fare è riuscire a mettere sotto il form, in caso di errore, un box rosso con scritto appunto l'errore e le sue soluzioni perché ora come ora gli errori vengono fatti visualizzare su una pagina bianca chiamata allo stesso modo di quella che contiene il form "login.php".

    Vi posto qui il mio file "Login.php" dove vorrei aggiungere quella funzione.


    Codice PHP:
    <?php
    if(isset($_POST) && !empty($_POST))
    {
    session_start();
    include(
    "config.php"); //including config.php in our file
    $username = mysql_real_escape_string(stripslashes($_POST['username'])); //Storing username in $username variable.
    $password = mysql_real_escape_string(stripslashes(md5($_POST['password']))); //Storing password in $password variable.


    $match = "select id from $table where username = '".$username."' and password = '".$password."';";

    $qry = mysql_query($match);

    $num_rows = mysql_num_rows($qry);



    if (
    $num_rows <= 0) {

    die(
    'C'è stato un errore nel compilare i campi.');

    } else {



    $_SESSION['
    user']= $_POST["username"];
    header("location:home.php");

    }
    }else{
    ?>
    <html>
    <head>
    <title>Login</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <link rel="stylesheet" href="../css/animations.css">
    </head>
    <body>
    <div class="admin-logo">
    <div id="logotext">
    <h1 class="slideExpandUp">
    AtzenDei
    </h1>
    </div>
    </div>
    <div class="container login">
    <form action="<?php $_SERVER['
    PHP_SELF'] ?>" method="post" class="form-signin" id = "login_form" >
    <input type="text" name="username" size="20" placeholder="Username">
    <input type="password" name="password" size="20" placeholder="Password"></br>
    <input type="submit" value="Log In" class="btn btn-large btn-primary">
    <input formaction="../index.php" type="submit" value="Indietro" class="btn btn-large btn-primary">
    </form>
    </div>

    </body>
    </html>
    <?php
    }
    ?>
    Chiedo gentilmente un aiuto, e un sincero ringraziamento a chi ne avrà voglia e tempo di aiutarmi

  2. #2
    Guest

    Predefinito

    Beh, basta che fai una cosa del tipo:
    Codice PHP:
    [....]
    </form>
    <div>
    <?php
    echo "Qui il tuo errore";
    ?>
    </div>
    [....]
    Ciao :)

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da mathis Visualizza messaggio
    Beh, basta che fai una cosa del tipo:
    Codice PHP:
    [....]
    </form>
    <div>
    <?php
    echo "Qui il tuo errore";
    ?>
    </div>
    [....]
    Ciao :)
    HO già provato ma niente, sempre pagina bianca

  4. #4
    Guest

    Predefinito

    Scusa non avevo visto il codice.

    L'errore lo si vede analizzando i colori del tuo codice:
    Codice PHP:
    die('C'è stato un errore nel compilare i campi.');
    Cambialo in:
    Codice PHP:
    die('C\'è stato un errore nel compilare i campi.');
    Ciao :)

  5. #5
    Guest

    Predefinito

    Ora provo, e se per esempio voglio farlo vedere in un <div> che ho personalizzato tramite css?

  6. #6
    Guest

    Predefinito

    Beh, se per esempio vuoi mostrare un messaggio nel caso in cui un campo resta vuoto:
    Prima di tutto modifica il form così (anche perché i tag input erano sbagliati):
    Codice PHP:
    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" class="form-signin" id = "login_form" >
    <input type="text" name="username" value="<?= $_POST['username']?>" size="20" placeholder="Username" />
    <input type="password" name="password" value="<?= $_POST['password']?>" size="20" placeholder="Password" /></br>
    <input type="submit" value="Log In" name="login" class="btn btn-large btn-primary"/>
    <input formaction="../index.php" type="submit" value="Indietro" class="btn btn-large btn-primary"/>
    </form>
    <div id="errore">
    <?php
    if(isset($_POST['login'])){ //SE HAI PREMUTO IL PULSANTE LOGIN
    if(trim($_POST['username'])=="") //SE IL CAMPO USERNAME E' VUOTO
    echo "Inserire username";
    }
    </
    div>
    Comunque ti consiglio di dare un'occhiata alle centinaia di guide che trovi online :)

  7. #7
    Guest

    Predefinito

    Sinceramente ho guardato tutto il giorno e alla fine, non essendo un "mago" del php, ho deciso di chiedere a chi ne sa di più di me :) Grazie mille. Come torno al mio pc vedo il da farsi :)



    Notice: Undefined index: username in C:\xampp\htdocs\account\login.php on line 48 Mi scrive questo nella barra degli username e in più ora, al posto di darmi l'errore mi logga come se qualunque username/password siano nel database :@ Help
    Ultima modifica di atzendei : 23-02-2014 alle ore 21.43.02 Motivo: Aggiunta

  8. #8
    Guest

    Predefinito

    Non ci capisco più niente, ho fatto come mi hai detto tu ma mi da un sacco di errori in più.

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da atzendei Visualizza messaggio
    Notice: Undefined index: username in C:\xampp\htdocs\account\login.php on line 48 Mi scrive questo nella barra degli username e in più ora, al posto di darmi l'errore mi logga come se qualunque username/password siano nel database :@ Help
    Questa è una notice, non è un errore.
    Puoi evitare che spunti precedendolo con una @ o inizializzando la value:
    Codice PHP:
    $_POST['username']="";
    Comunque dipende da come hai impostato i controlli tu per il fatto che logga con qualsiasi username.
    Per questo è meglio non fare un copia e incolla passivo da internet :)

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da mathis Visualizza messaggio
    Questa è una notice, non è un errore.
    Puoi evitare che spunti precedendolo con una @ o inizializzando la value:
    Codice PHP:
    $_POST['username']="";
    Comunque dipende da come hai impostato i controlli tu per il fatto che logga con qualsiasi username.
    Per questo è meglio non fare un copia e incolla passivo da internet :)
    Non è proprio un copia e incolla da internet, sono più guide unite in un solo file e infatti in se il sistema funziona. Solo che poi mi sono accorto di questo piccolo problema e quindi ho deciso di chiedere a voi. Ora ho provato tutto ciò che ho letto sia da te che da altri forum e ancora non sono riuscito a farlo funzionare. Se hai altri suggerimenti ti prego di scriverli qua :) Grazie mille

  11. #11
    Guest

    Predefinito

    Ho risolto in un altra maniera, c'era un errore a livello di "If" ed "Else" Grazie mille lo stesso :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •