Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Invio campi vuoti da form in un database tramite Php

    Ciao a tutti ragazzi, allora ho creato un database con MySQL nel quale ho creato una tabella con delle colonne dato_nome, dato_cognome, data_di_nascita .

    Questa è la pagina html nel quale ho inserito il mio form.
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Form inserimento dati su db</title>
    <style type="text/css">
    #apDiv1 {
    	position: absolute;
    	width: 100%;
    	height: 100%;
    	z-index: 1;
    	left: 0px;
    	top: 0px;
    }
    #apDiv2 {
    	position: relative;
    	width: 980px;
    	height: 800px;
    	border-left: thin solid #000;
    	border-right: thin solid #000;
    	margin: 0 auto;
    }
    </style>
    </head>
    
    
    <body>
    
    
    <div id="apDiv1">
    	<div id="apDiv2">
    		<table border="0">
            <form method="post" action="invio.php">
            	<tr>
                	<td>Nome</td>
                    <td><input type="text" name="nome" maxlength="20" /></td>
                </tr>
                <tr>
                    <td>Cognome</td>
                    <td><input type="text" name="cognome" maxlenght="25" /></td>
                </tr>
                <tr>
                    <td>Data di nascita</td>
                    <td><input type="date" name="ddn" /></td>
                </tr>
                
                <tr>
                	<td colspan="2">
                    	<input type="submit" value="inserisci valore" />
                    </td>
                </tr>
    
    
    </form>
    </table>
    	</div>
    
    
    
    
    </div>
    </body>
    </html>
    Questa è la pagina invio.php


    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Inserimento 2</title>
    </head>
    
    
    <?php
    
    
    	$host="localhost";
    	$user="root";
    	$password="";
    	$database="dati_inseriti";
    	
    	$db=mysql_connect($host,$user,$password) or die("nononnononono");
    	
    	mysql_connect($host,$user,$password) or die("Impossibile collegarsi al server");
    	@mysql_select_db("$database") or die("Impossibile connettersi al database $database");
    	$dato1=$_POST['nome'];
    	$dato2=$_POST['cognome'];
    	$dato3=$_POST['ddn'];
    	
    	$query="INSERT INTO estrapolazione (dato_nome,dato_cognome,data_di_nascita)
    		VALUES('$_POST[nome]','$_POST[cognome]','$_POST[ddn]')";
    	
    
    
    	
    	if (!mysql_query($query,$db)||($dato1=="")||($dato2=="")||($dato3==""))
    	{
    	print("Impossibile inserire i dati nel DB");
    	}
    	else
    	{
    	print("Dato inserito nel DB");
    	}
    	
    	mysql_close($db);
    	
    ?>
    	
    	
    
    
    <body>
    </body>
    </html>
    Ora non ho alcun problema a effettuare l'invio dei dati sul database ma nel caso in cui anche uno solo dei dati nel form ha valore nullo (cioè non inserisca nulla al suo interno) vorrei che non effettui l'inserimento dei dati nel database.
    In effetti funziona il messaggio d'errore "Impossibile inserire i dati nel DB" tramite gli OR ma poi l'inserimento dei dati nel DB lo fa comunque.


    Grazie per gli eventuali suggerimenti.
    www.ginoguida.com

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Devi cambiare questo
    Codice PHP:
    if (!mysql_query($query,$db)||($dato1=="")||($dato2=="")||($dato3==""))
        {
        print(
    "Impossibile inserire i dati nel DB");
        }
        else
        {
        print(
    "Dato inserito nel DB"); 
    in questo modo

    Codice PHP:
    if ( $dato1=="" || $dato2=="" || $dato3=="" )
    {
        echo 
    "Inserimento non eseguito, mancano dei dati!";
    }
    else
    {
        if ( ! 
    mysql_query($query,$db) )
        {
            echo 
    "Inserimento dati fallito";
        }
        else
        {
            echo 
    "inserimento dati riuscito";
        }


  3. #3
    Ti ringrazio, semplice ed efficace. Grazie ancora.
    www.ginoguida.com

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Scusate, ma facendo prima insert del controllo if avrà una tabella piena di record vuoti o sbaglio io nella logica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non col mio codice, perché prima verifica se i dati sono tutti stati inseriti, poi eventualmente effettua l'insert.

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.