Visualizzazione risultati 1 fino 6 di 6

Discussione: Segnalari campi vuoti in un form

  1. #1
    Guest

    Predefinito Segnalari campi vuoti in un form

    Salve a tutti dopo aver capito com si usa GET ho creato questo piccolo script:
    Codice PHP:
    <?
    $nome
    = $_GET["nome"];
    $cognome = $_GET["cognome"];
    $eta = $_GET["eta"];
    $hobbyes = $_GET["hobbyes"];


    echo
    "Il tuo nome è: " . $nome . "<br />";
    echo
    "Il tuo Cognome è: " . $cognome . "<br />";
    echo
    "Hai" . $eta . "anni<br />";
    echo
    "I tuoi hobby sono: " . $hobbyes . "<br />";
    ?>

    e il file con i campi da compilare:
    Codice PHP:
    <form method="get" action="get.php">
    Inserisci il tuo nome:<input type="text" name="nome"><br>
    Inserisci Il tuo cognome:<input type="text" name="cognome"><br>
    Inserisci quanti anni hai:<input type="text" name="eta"><br>
    Inserisci i tuoi hobby:<input type="text" name="hobbyes"><br>
    <
    center><input type="submit" value="OK"></center>
    </
    form>

    Io vorrei capire se un utente non compila i campi come faccio a dire che un campo non è stato compilato....

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Devi utilizzare la funzione empty() quindi ad esempio potresti fare:

    Codice PHP:
    <?
    $nome
    = $_GET["nome"];
    $cognome = $_GET["cognome"];
    $eta = $_GET["eta"];
    $hobbyes = $_GET["hobbyes"];

    if(empty(
    $nome)){ $nome = "Campo vuoto."; }
    if(empty(
    $cognome)){ $cognome = "Campo vuoto."; }
    if(empty(
    $eta)){ $eta = "Campo vuoto."; }
    if(empty(
    $hobbyes)){ $hobbyes = "Campo vuoto."; }

    echo
    "Il tuo nome è: " . $nome . "<br />";
    echo
    "Il tuo Cognome è: " . $cognome . "<br />";
    echo
    "Hai" . $eta . "anni<br />";
    echo
    "I tuoi hobby sono: " . $hobbyes . "<br />";
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    grazie mille.
    Senza aprire un altro threads volevo che quello che viene scritto in questo script viene salvato sul database però non riesco ....
    Questo è il codice:
    Codice PHP:
    <?
    $nome
    = $_GET["nome"];
    $cognome = $_GET["cognome"];
    $eta = $_GET["eta"];
    $hobbyes = $_GET["hobbyes"];

    $db = mysql_connect("localhost", "stichtom",""); /*accedo al database*/
    if(!$db) /*se c'é stato qualche errore:*/
    die('ERRORE: non posso accedere al database!');
    mysql_select_db("my_stichtom",$db); /*mio database*/
    $testo="INSERT INTO persona (nome,cognome,eta,hobbyes) VALUES ('$nome','$cognome''$eta','$hobbyes')";
    if(!
    mysql_query($testo,$db)) /*eseguo la query e controllo se va a buon fine ^^*/
    die('Errore: non riesco a eseguire la query');
    mysql_close($db);


    if(empty(
    $nome)){ $nome = "Campo vuoto."; }
    if(empty(
    $cognome)){ $cognome = "Campo vuoto."; }
    if(empty(
    $eta)){ $eta = "Campo vuoto."; }
    if(empty(
    $hobbyes)){ $hobbyes = "Campo vuoto."; }

    echo
    "Il tuo nome è: " . $nome . "<br />";
    echo
    "Il tuo Cognome è: " . $cognome . "<br />";
    echo
    "Hai" . $eta . "anni<br />";
    echo
    "I tuoi hobby sono: " . $hobbyes . "<br />";
    ?>
    Questa è la query che ho eseguito:
    Codice:
    CREATE TABLE persona (id INT (5) UNSIGNED not null AUTO_INCREMENT, nome VARCHAR (200),cognome VARCHAR(255),eta VARCHAR(10), hobbyes VARCHAR(255),PRIMARY KEY (id))
    E un altra cosa con il suo codice se una persona non scrive niente viene visualizzato il tuo nome è: Campo vuoto...
    Invece io vorrei una roba del tipo che se un campo non è compilato viene fuori scritto Errore Uno o più campi vuoti

    Grazie anticipamente
    Ultima modifica di marinegame : 08-06-2009 alle ore 19.10.59

  4. #4
    Guest

    Predefinito

    dovresti usare anche trim() e qualche altra cosina
    prova così
    Codice PHP:
    <?php
    $nome
    =htmlspecialchars(trim($_GET["nome"]));
    $cognome=htmlspecialchars(trim($_GET["cognome"]));
    $eta=htmlspecialchars(trim($_GET["eta"]));
    $hobbyes=htmlspecialchars(trim($_GET["hobbyes"]);

    $db = mysql_connect("localhost","stichtom","")or die('ERRORE: non posso accedere al database!');
    mysql_select_db("my_stichtom",$db)or die("ERRORE nella selezione del database");

    if(empty(
    $nome)) || empty($cognome) || empty($eta) || empty($hobbyes)){
    echo
    "Devi riempire tutti i campi!";}else{
    $testo="INSERT INTO persona (nome,cognome,eta,hobbyes) VALUES ('".mysql_real_escape_string(nome)."','".mysql_real_escape_string($cognome)."','".mysql_real_escape_string($eta)."','".mysql_real_escape_string($hobbyes)."')";
    if(!
    mysql_query($testo,$db)) /*eseguo la query e controllo se va a buon fine ^^*/
    die('Errore: non riesco a eseguire la query');
    mysql_close($db);

    echo
    "Il tuo nome è: " . $nome . "<br />";
    echo
    "Il tuo Cognome è: " . $cognome . "<br />";
    echo
    "Hai" . $eta . "anni<br />";
    echo
    "I tuoi hobby sono: " . $hobbyes . "<br />"; }
    ?>
    mancava una , nella insert
    Ultima modifica di fabio29 : 08-06-2009 alle ore 19.18.06

  5. #5
    Guest

    Predefinito

    grazie ora vedo se funge e ti faccio sapere

    Si grazie funge ma la funzione trim() a che serve?
    Ultima modifica di marinegame : 08-06-2009 alle ore 19.19.20

  6. #6
    Guest

    Predefinito

    elimina gli spazi all'inizio e alla fine di una stringa

Regole di scrittura

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