Newsgroup: it.comp.www.php
Titolo: Recupero valori da due text box e utilizzo in pagina PHP

Ho un codice HTML che elabora una query.... io vorrei aggiungere 
(nell'HTML) due input da passare alla query
come aggiungo i due campi di input nell'HTML, partendo dal codice PHP 
sottostante e come gestisco le due variabili degli input nella query?
Grazie
<?php
function safe_set(&$var_true,$var_false="")
{
         if (isset ($var_true))
         { return true; }
         else
         {
                 $var_true = $var_false;
                 return false;
         }
}
define ("DB_HOST", "localhost:3307");
define ("DB_USER", "root");
define ("DB_PASSWORD", "root");
define ("DB_DATABASE", "db");
define ("DB_TABLE", "tabella_prova");
define ("CSV_FILENAME", "excelFname.csv");
define ("CSV_FIELD_SEPARATOR", ";");
define ("CSV_ROW_SEPARATOR", "\r\n");
mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) or die (mysql_error());
mysql_select_db (DB_DATABASE) or die (mysql_error());
... come posso gestire il recupero di due text box?? e come sarà l'HTML 
della pagina???
if(isset($HTTP_GET_VARS['TextBox']) || isset($HTTP_POST_VARS['TextBox']) )
{
    $TextBox = ( isset($HTTP_POST_VARS['TextBox']) )
                     ? htmlspecialchars($HTTP_POST_VARS['TextBox'])
                     : htmlspecialchars($HTTP_GET_VARS['TextBox']);
}
else
{
     $TextBox = 'NULL';
}
.... come posso modificare la select con i due campi recuperati 
dall'HTML???
$rs = mysql_query ("SELECT * FROM " . DB_TABLE) or die (mysql_error());
$fields_num = mysql_num_fields ($rs);
$field_names = array ();
$cvs = "";
for ($i = 0; $i < $fields_num; $i++)
{
         $field_names[] = mysql_field_name ($rs, $i);
         if (mysql_field_name ($rs,$i) != "ID")
         { $cvs .= mysql_field_name($rs,$i) . CSV_FIELD_SEPARATOR; }
         else
         { $cvs .= "Index" . CSV_FIELD_SEPARATOR; }
}
$cvs .= CSV_ROW_SEPARATOR;
while ($row = mysql_fetch_assoc ($rs))
{
         foreach ($field_names as $field_name)
         {
                 safe_set ($row[$field_name], "");
                 $cvs .= '"' . $row[$field_name] . '"' . 
CSV_FIELD_SEPARATOR;
         }
         $cvs .= CSV_ROW_SEPARATOR;
}
header ("Content-type: application/vnd.ms-excel;");
header ("Accept-Ranges: bytes");
header ("Content-Disposition: attachment; filename=".CSV_FILENAME.";");
print ($cvs);
?>

 $fields_num = mysql_num_fields ($rs);
Sicuramente in una clausola WHERE. Ma dipende dal tipo di ricerca che
vuoi fare.
Ciao,
    Fabrizio
=== 
http://www.negusweb.it
 ===

 vuoi fare.
questo lo immaginavo, quello che non capivo è come includere le due 
variabile in questa stringa:
$rs = mysql_query ("SELECT * FROM " . DB_TABLE) or die (mysql_error());
forse sarebbe meglio creare una nuova var
$tmp_query = "SELECT * FROM " . DB_TABLE .... ed ora come aggiungo 
"WHERE  Campo = variabile1 and Campo2 = variabile2"
Grazie

 "WHERE  Campo = variabile1 and Campo2 = variabile2"
Ottima scelta!


 Ottima scelta!
Aspetta :-D ... il mio problema è come aggiungere le due var alla 
stringa qui sopra postata :-(( .... cioè come aggiungere le due 
variabile1 e variabile2

 variabile1 e variabile2
$query = "SELECT * FROM ".DB_TABLE." WHERE campo=\"".$variabile1."\"
and campo2=\"".$variabile2."\"";
Occhio al virgolettato \" indispensabile nel caso in cui il campo sia
testuale.


Grazie mille! Questa sera provo! Ultimo dubbio.... nel form cosa metto?? 
GET???
grazie


Quello che preferisci. Di solito POST.


Il GET di solito è usato per pagine senza dati o con dati poco
importanti e non soggetti a diversi injection SQL, PHP, ecc. (se infatti
sono interi, puoi convertirli direttamente con intval(); e sei sicuro
che nessuno fa injection, perché quello che esce è solamente un numero
intero. Se fossero altri tipi, basta vedere il convertitore ed
eventualmente fare qualche controllo).
Il POST di solito è usato per inviare i dati da form che:
 1. Inviano file, oppure
 2. Inviano dati importanti che necessitano di non essere visibili
all'utente e ad altri siti.
In particolare, se qualcuno riesce ad inserire (in qualsiasi metodo) un
immagine, un iframe, un object, un qualsiasi cosa faccia riferimento ad
una pagina su un sito esterno, troverà nel suo $_SERVER['HTTP_REFERER']
il percorso della pagina chiamata sul primo server, e, nel caso fosse
richiamata da un form con GET, anche i dati (visto che appaiono
nell'URL). Con il POST eviti questo problema.
Nel tuo caso vanno bene entrambi ;-)
Enrico

Scusate un secondo... credo ci aver fatto un po' di casini
potreste gentilmente indicarmi come dovrebbe essere la pagina HTML+PHP 
completa?
Grazie