Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problema con 0

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    Problema con 0

    ciao a tutti

    qualcuno mi sa dire perchè non riesco ad inserire la cifra 0 nel database, a qualunque campo cerco di metterla non và

    il database (mySql)
    codice:
       IDProdotto  int(11)   No     auto_increment  Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       Prodotto  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       Descrizione  varchar(255)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       IDFornitore  int(11)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       quantit  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       Prezzo  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       Categoria  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       dataodiernap  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       capacita  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       marca  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       codProdotto  varchar(50)   Si   NULL    Modifica  Elimina  Primaria  Indice  Unica  Testo completo  
       gestore  varchar(50)   Si   NULL
    la pagina php
    codice:
    <?php
    require_once('../Connections/conf.inc.php');
    
    if(!empty($_POST['Prodotto']) && !empty($_POST['Descrizione']) &&  !empty($_POST['IDFornitore']) &&  !empty($_POST['Prezzo']) &&  !empty($_POST['Categoria']) && !empty($_POST['dataodiernap']) && !empty($_POST['capacita']) && !empty($_POST['marca']) && !empty($_POST['codProdotto']) && !empty ($_POST['gestore']) && !empty ($_POST['quantit']))
        {
    
    
            $Prodotto = $_POST['Prodotto'];
            $Descrizione = $_POST['Descrizione'];
            $IDFornitore = $_POST['IDFornitore'];
            $Prezzo = $_POST['Prezzo'];
    		$Categoria = $_POST['Categoria'];
    		$dataodiernap = $_POST['dataodiernap'];
    		$capacita = $_POST['capacita'];
    		$marca = $_POST['marca'];
    		$codProdotto = $_POST['codProdotto'];
    		$gestore = $_POST['gestore'];
    		$quantit = $_POST['quantit'];
    		
    
    
            $result =  mysql_query("INSERT INTO prodotti (Prodotto, Descrizione, IDFornitore, Prezzo, Categoria, dataodiernap, capacita, marca,codProdotto,gestore,quantit)
                        VALUES ('$Prodotto', '$Descrizione', '$IDFornitore', '$Prezzo','$Categoria','$dataodiernap','$capacita','$marca','$codProdotto','$gestore','$quantit')") or die(mysql_error());
    
            if($result)
                {
                    echo "vailda=true&";
    				echo "errorMsg=Dati inseriti con successo";
                } else {
                    echo "vailda=false&";
    				echo "errorMsg=Attenzione!! Non è stato possibile inserire i dati - Contattare l'aministatore";
                }
    
            mysql_close($conn);
    
        }
    
    ?>
    funziona con tutto tranne che con lo 0


  2. #2
    Se vuoi fare vedere la struttura della tua tabella sarebbe piu' conveniente eseguire "SHOW CREATE TABLE tabella" e postare il risultato. Quelle righe lassu' creano solo confusione.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    cosi?

    codice:
    CREATE TABLE prodotti (
      IDProdotto int(11) NOT NULL auto_increment,
      Prodotto varchar(50) default NULL,
      Descrizione varchar(255) default NULL,
      IDFornitore int(11) default NULL,
      quantit varchar(50) default NULL,
      Prezzo varchar(50) default NULL,
      Categoria varchar(50) default NULL,
      dataodiernap varchar(50) default NULL,
      capacita varchar(50) default NULL,
      marca varchar(50) default NULL,
      codProdotto varchar(50) default NULL,
      gestore varchar(50) default NULL,
      PRIMARY KEY  (IDProdotto),
      KEY FornitoriProdotti (IDFornitore),
      KEY IDFornitore (IDFornitore),
      KEY Prodotto (Prodotto)
    ) TYPE=MyISAM;

  4. #4
    empty('o') === TRUE !!!

    codice:
    albert@emc2$ php4
    <?php
    $a = '0';
    var_dump(empty($a)) ?>
    bool(true)
    albert@emc2$
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille
    ma come lo devo inserire? :master:

  6. #6
    if(!empty($_POST['Prodotto']) && !empty($_POST['Descrizione']) && !empty($_POST['IDFornitore']) && !empty($_POST['Prezzo']) && !empty($_POST['Categoria']) && !empty($_POST['dataodiernap']) && !empty($_POST['capacita']) && !empty($_POST['marca']) && !empty($_POST['codProdotto']) && !empty ($_POST['gestore']) && !empty ($_POST['quantit']))
    {
    volevo dire che il tuo errore era qui!
    non usare la funzione empty() per il controllo, usa array_key_exists() invece
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    Grazie mille ho letto dal link ma non sono molto pratica stò imparando ti và di farmi un'esempio concreto sul mio codice non riesco ancora a capire, e poi se il campo del database e di testo dovrebbe accettare tutti i caratteri che gli passo giusto??


  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    allora ho fatto cosi e adesso lo 0 lo scrive
    codice:
    <?php
    require_once('../Connections/conf.inc.php');
    
    if(!empty($_POST['Prodotto']) && !empty($_POST['Descrizione']) &&  !empty($_POST['IDFornitore']) &&  !empty($_POST['Prezzo']) &&  !empty($_POST['Categoria']) && !empty($_POST['dataodiernap']) && !empty($_POST['capacita']) && !empty($_POST['marca']) && !empty($_POST['codProdotto']) && !empty ($_POST['gestore']) && !array_key_exists ($_POST['quantit']))
        {
    
    
            $Prodotto = $_POST['Prodotto'];
            $Descrizione = $_POST['Descrizione'];
            $IDFornitore = $_POST['IDFornitore'];
            $Prezzo = $_POST['Prezzo'];
    		$Categoria = $_POST['Categoria'];
    		$dataodiernap = $_POST['dataodiernap'];
    		$capacita = $_POST['capacita'];
    		$marca = $_POST['marca'];
    		$codProdotto = $_POST['codProdotto'];
    		$gestore = $_POST['gestore'];
    		$quantit = $_POST['quantit'];
    		
    
    
            $result =  mysql_query("INSERT INTO prodotti (Prodotto, Descrizione, IDFornitore, Prezzo, Categoria, dataodiernap, capacita, marca,codProdotto,gestore,quantit)
                        VALUES ('$Prodotto', '$Descrizione', '$IDFornitore', '$Prezzo','$Categoria','$dataodiernap','$capacita','$marca','$codProdotto','$gestore','$quantit')") or die(mysql_error());
    
            if($result)
                {
                    echo "vailda=true&";
    				echo "errorMsg=Dati inseriti con successo";
                } else {
                    echo "vailda=false&";
    				echo "errorMsg=Attenzione!! Non è stato possibile inserire i dati - Contattare l'aministatore";
                }
    
            mysql_close($conn);
    
        }
    
    ?>
    solo che invece di restituirmi "Dati inseriti con successo" mi da
    una montagna di cose ho provato ad interpretare e sono arrivata alla seguente conclusione

    codice:
    errorMsg=Dati inseriti con successo Warning Wrong parameter count for array key exists in  programmi apache group apache htdocs actionsoftware inserimento inserimentoprodotto.php  on line  vailda=true&onLoad= 5Btype Function 5D&codProdotto=Btt8&quantit=0&gestore=guest&capacita=2&marca=test&dataodiernap=Martedi C 11 Gennaio 2005 C alle ore 3A 12 3A20 3A9&Categoria=Bibite&Prezzo=2&IDFornitore=1&Descrizione=test&Prodotto=test
    quello in grassetto non dovrebbe cacciarlo il resto va bene come posso evitare questo inconveniente??

  9. #9
    scusa non è per essere cafone, ma sei sicura di aver letto la pagina di man di array_key_exists() ??

    comunque, per questa volta eccoti la pappa pronta:-P

    1) ritogli le modifiche che hai fatto
    2) sostituisci tutti gli empty($_POST['Prodotto']) con array_key_exists('Prodotto', $_POST)

    nulla di più
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ho fatto due prove, sostituendo tutti e sostituendo solo il campo che mi interessa "quantit" ma non và mi dice sempre

    "Non è stato possibile inserire i dati "


    codice:
    <?php
    require_once('../Connections/conf.inc.php');
    
    if(!empty($_POST['Prodotto']) && !empty($_POST['Descrizione']) &&  !empty($_POST['IDFornitore']) &&  !empty($_POST['Prezzo']) &&  !empty($_POST['Categoria']) && !empty($_POST['dataodiernap']) && !empty($_POST['capacita']) && !empty($_POST['marca']) && !empty($_POST['codProdotto']) && !empty ($_POST['gestore']) && !array_key_exists('quantit', $_POST))
        {
    
    
            $Prodotto = $_POST['Prodotto'];
            $Descrizione = $_POST['Descrizione'];
            $IDFornitore = $_POST['IDFornitore'];
            $Prezzo = $_POST['Prezzo'];
    		$Categoria = $_POST['Categoria'];
    		$dataodiernap = $_POST['dataodiernap'];
    		$capacita = $_POST['capacita'];
    		$marca = $_POST['marca'];
    		$codProdotto = $_POST['codProdotto'];
    		$gestore = $_POST['gestore'];
    		$quantit = $_POST['quantit'];
    		
    
    
            $result =  mysql_query("INSERT INTO prodotti (Prodotto, Descrizione, IDFornitore, Prezzo, Categoria, dataodiernap, capacita, marca,codProdotto,gestore,quantit)
                        VALUES ('$Prodotto', '$Descrizione', '$IDFornitore', '$Prezzo','$Categoria','$dataodiernap','$capacita','$marca','$codProdotto','$gestore','$quantit')") or die(mysql_error());
    
            if($result)
                {
                    echo "vailda=true&";
    				echo "errorMsg=Dati inseriti con successo";
                } else {
                    echo "vailda=false&";
    				echo "errorMsg=Attenzione!! Non è stato possibile inserire i dati - Contattare l'aministatore";
                }
    
            mysql_close($conn);
    
        }
    
    ?>
    Scusa ma non posso sostituire solo il campo che al quale vorrò inserire la cifra 0??

    Grazie mille

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.