Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110

    problema con la query o con il form?

    ciao a tutti ho da poco iniziato a studiare PHP con l'uso di MySql per la gestione dei database.
    Dopo aver creato un database con phpmyadmin ho provato a fare la connessione e a stampare il contenuto e tutto è andato bene, ora stavo provando a inserire dei dati tramite form, ma mi da errore nella query...per fare una prova ho tolto la query e inserito un echo della variabile che volevo inserire...ma non mi visualizza niente...ho sbagliato qualcosa nel form o ho sbagliato qualcosa nella query...o in entrambi??

    metto qui il codice

    pagina principale
    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>Documento senza titolo</title>
    </head>
    
    <body>
    
     <form method='post' action='insert.php'>
       <input type='text' name="sub" value='inserisci qui un piatto' size='60' maxlength='300' \>
       
       <input type='submit' value='invia'>
       </form>
       
     
    
    	<?php 
    	  $dbcn = @mysql_connect( 'localhost', 'sudimealter', 'password');
    	  if(!$dbcn)
    	  { echo 'connessione non riuscita';
                exit();
    	  }
    	
    
     echo '
    
    ' . 'Il nostro menu di oggi:';
     echo '
    
    ';
    	   if(!@mysql_select_db('my_sudimealter'))
    	   {echo 'errore durante la connessione al database';
    	    exit();
    	    }
    	   else
    	   { 
                 
                 
    	   $query1 = @mysql_query('SELECT * FROM `menu`');
    
    	     while ($row = mysql_fetch_array($query1))
    	     { echo '
    
    ';
    	       echo $row['PID'] . $row['Nome'] . '(' . $row['prezzo'] . ')';
    	     }
    	   } 
    ?>
    
      
    </body>
    </html>
    pagina insert

    codice:
    <html>
     <head>
      <title> prova inserimento nel database </title>
     </head>
     <body>
      <?php
      
    
    	  $dbcn = @mysql_connect( 'localhost', 'sudimealter', 'password');
    	  if(!$dbcn)
    	  { echo 'connessione non riuscita';
                exit();
    	  }
    	
    
     echo '
    
    ' . 'Il nostro menu di oggi:';
     echo '
    
    ';
    	   if(!@mysql_select_db('my_sudimealter'))
    	   {echo 'errore durante la connessione al database';
    	    exit();
    	    }
      
                            
       
       $sub = $_post['sub'];
       echo $sub;
     
    /*  $query2 = 'insert into menu(PId, Nome) VALUES ('14','$sub')';
         if(@mysql_query($query2))
         { echo 'grazie per il suggerimento';
         }
         else
         { 
         echo 'qualcosa non &egrave andato bene';
         }
        */
       
       echo '
    
    ' . 'ecco il nuovo menu:';
       ?>
       
       </body>
       </html>
    Per essere più chiaro la parte che ho messo come commento è quella che mi causa errore (più precisamente proprio query2) invece in questo modo, mi stampa gli echo ma non la variabile sub. qualche suggerimento

  2. #2
    $sub = $_post['sub'];

    le variabili sono case sensitive... $_POST e non $_post

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110
    grazie, mi ero completamente dimenticato che le variabili come post e get vanno in maiuscolo...comunque la query continua a non funzionare

  4. #4
    Originariamente inviato da Magi13
    grazie, mi ero completamente dimenticato che le variabili come post e get vanno in maiuscolo...comunque la query continua a non funzionare
    attenzione all'uso delle apici, sono caratteri di controllo:

    $query2 = 'insert into menu(PId, Nome) VALUES ('14','$sub')';

    deve essere:

    $query2 = "insert into menu(PId, Nome) VALUES ('14','$sub')";

    e questo vale in genere per tutte le query dove all'interno ci sono stringhe delimitate da apici

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110
    Ok grazie per l'aiuto

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.