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

    [Newbie]Gestione valori di un form

    Salve a tutti sono un novizio del php, sto creando un sistema di gestione. In pratica devo:

    - Attraverso un form, creare una tabella mysql, e metterci al suo interno alcuni valori. Non tutti i valori, per esempio un utente potrebbe fermarsi a tre valori anzichè metterli tutti.

    Il codice che posto funziona perfettamente se l'utente compila tutti i campi. Cosa devo fare per farlo funzionare quando l'utente ne compila ad esempio solo 3? Avevo pensato di sicuro a un ciclo (for o while?) potete aiutarmi?

    Ecco il codice:

    file form_tabelle.php

    codice:
       
     <form action="crea_tabelle.php" method="get"> 	
     Nome Tabella: <input type="text" name="nome_tabella" />
          
    Valore1:<input type="text" name="valore1" /> 
     
     Valore2:<input type="text" name="valore2" /> 
           
    Valore3:<input type="text" name="valore3" />  
       
    <input type="submit" />
    	</form>
    codice:
    <?php
    
    	require_once("connessione_db.php");
    
    	$tabella = $_GET["nome_tabella"];
    	$valore1 = $_GET["valore1"];
    	$valore2 = $_GET["valore2"];
    	$valore3 = $_GET["valore3"];
    
    	
    	
    
    
    	// Create table
    			mysql_select_db("noli", $connessione);
    				$sql = "CREATE TABLE $tabella
    			(
    			$valore1 varchar(15),
    			$valore2 varchar(15),
    			$valore3 varchar(15)
    	
    			)";
    
    		// Execute query
    			mysql_query($sql,$connessione);
    
    			mysql_close($connessione);
    ?>

  2. #2
    Ciao,
    sulla form che hai postato non c'e' nessuna obbligatorieta', probabilmente il controllo dei campi viene fatto nel file crea_tabelle.php

  3. #3
    no scusa il dice non e' completo non so perchè il forum non carica oggi...ora e' completo =)
    http://www.targetweb.it - Web design, guide e risorse utili su Html5, jQuery, Css3

  4. #4
    prova a testare che i campi che passi con $_GET esistano, utilizzando questo comando

    $valore1 = ( isset ( $_GET['valore1'] ) ? $_GET['valore1'] : "") ;

  5. #5
    Ho modificato in questo modo ma non va =(

    codice:
    <?php
    
    	require_once("connessione_db.php");
    
    	$tabella = $_GET["nome_tabella"];
    	$valore1 =  ( isset ( $_GET['valore1'] ) ? $_GET['valore1'] : "") ;
    	$valore2 =  ( isset ( $_GET['valore2'] ) ? $_GET['valore2'] : "") ;
    	$valore3 =  ( isset ( $_GET['valore3'] ) ? $_GET['valore3'] : "") ;
    
    	
    	
    
    	// Create table
    			mysql_select_db("form_noli", $connessione);
    				$sql = "CREATE TABLE $tabella
    			(
    			$valore1 varchar(15),
    			$valore2 varchar(15),
    			$valore3 varchar(15)
    	
    			)";
    
    		// Execute query
    			mysql_query($sql,$connessione);
    
    			mysql_close($connessione);
    ?>
    Andavano messi li giusto?
    http://www.targetweb.it - Web design, guide e risorse utili su Html5, jQuery, Css3

  6. #6
    scusa, non ci avevo fatto caso, ma tu mandi in esecuzione il comando CREATE TABLE, che server per creare una tabella.

    Una volta che hai creato la tabella (e questo penso che lo hai gia' fatto prima di far partire il tuo programma PHP) dovresti invece mandare un comando INSERT che serve per inserire un record all'interno della tabella

    In pratica prima dell'ultima riga dovresti scrivere:

    Codice PHP:
    require_once("connessione_db.php");

        
    $tabella $_GET["nome_tabella"];
        
    $valore1 =  ( isset ( $_GET['valore1'] ) ? $_GET['valore1'] : "") ;
        
    $valore2 =  ( isset ( $_GET['valore2'] ) ? $_GET['valore2'] : "") ;
        
    $valore3 =  ( isset ( $_GET['valore3'] ) ? $_GET['valore3'] : "") ;

        
        

        
    // Create table
                
    mysql_select_db("form_noli"$connessione);
                    
    $sql "INSERT INTO $tabella
                (
                
    $valore1 varchar(15),
                
    $valore2 varchar(15),
                
    $valore3 varchar(15)
        
                )"
    ;

    $SQL=mysql_query("insert into tabella (campo1, campo2, campo3) values (\"$_GET[nomevar2]\", \"$_GET[$valore2]\",  \"$_GET[$valore3]\")"); 
    if(
    $SQL==true){ 
    echo 
    "record inviato con successo"

    else{ 
    echo 
    mysql_error(); 
    }


                
    mysql_close($connessione);
    ?> 

  7. #7
    Logicamente se la tabella l'hai gia' creata prima devi togliere il comando CREATE TABLE

    penso che in questo caso il secondo modo in cui ho costruito il comando INSERT sia piu' appropriato

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.