Newsgroup: it.comp.www.php
Titolo: Problemi sui tipi di variabile ed il loro utilizzo

Ciao,
sto creando u motore di ricerca inerno per trovare i prodotti nel mio sito
utilizo php e mysql su piattaforma unix (ma adesso sto sperimentando in 
locale con easyphp)
Ho due problemi.
primo errore:
Notice: Undefined index: codprod in 
c:\programmi\easyphp1-8\sito\php\funzioni.php on line 4
Notice: Undefined index: articolo in 
c:\programmi\easyphp1-8\sito\php\funzioni.php on line 5
Notice: Undefined index: descrizione in 
c:\programmi\easyphp1-8\sito\php\funzioni.php on line 6
Inserisci dei parametri nella ricerca libera o naviga tra le categorie
Queste tre variabili sono quelle che tramite form passo ad una funzione php 
che ricerca e stampa gli articoli.
L'errore compare solo quando ci si collega la prima volta alla pagina di 
ricerca, poi anche inviando i campi vuoti lo stesso errore non mi compare e 
la funzione funziona tranquillamente.
Credo che dipenda dal fatto che quando si apre la pagina la prima volta 
nelle variabili: codprod, articolo, descrizione non sono inizializzate. Una 
volta invece fatto il submit dalla form inviando dei carateri o anche un 
vuoto l'errore non si ripresenta più per tutta la navigzione le ricerche.
Questa è la funzione in esame:
FUNCTION ricercalibera()
{
$arga = $_POST['codprod'];      //gli argomenti arrivano tramite un form con 
metodo post
$argb = $_POST['articolo'];       //le righe 4, 5, 6 del'errore sono queste
$argc = $_POST['descrizione'];  // tre
IF($arga=="" AND $argb=="" AND $argc=="") {echo "Inserisci dei parametri 
nella ricerca libera o naviga tra le categorie";} ELSE {
-connessione al db-
$ricerca = "SELECT * FROM dbarticoli WHERE descrizione LIKE '%$argc%' AND 
codice LIKE '%$argb%' AND codice LIKE '%$arga%'";
$result = mysql_query($ricerca, $db) or die("Errore ricerca tabella");
 WHILE ($row = MYSQL_FETCH_ARRAY($result))
 // e qui stampo quello che mi occorre
Secondo problema.
Nella stampa degli elementi prelevati dal db uso questo codice:
echo "$row[Articolo]";
e mi stampa tutti gli articoli che trova, in base alla SELECT che voglio. 
Quindi funziona.
Ho provato ad utilizzare $row[Prezzo] (ovviamente è la posizione del db dove 
all'interno c'è il prezzo dell'articolo, a proposito uso float 11,2 per i 
prezzi è giusto?)
Per far dei conti ho tentato di usare la variabile in questo modo:
$VsPrezzo = $row[Prezzo]; //su questa riga mi da l'errore: Use of undefined 
constant Prezzo
per poi utilizzarlo
$VsPrezzoIVA = VsPrezzo * 1.2;
echo $VsPrezzo;
echo $VsPrezzoIVA;
Nonostante funziona tutto correttamente in output ogni risultato esatto 
viene preceduto dall'errore: Use of undefined constant Prezzo
Grazie per qualsiasi aiuto o informazione mi darete
JdiPik

 constant Prezzo
Non è un errore, ma un Notice. L'indice di un elemento di un array
associativo va messo tra singoli apici (o virgolette), quindi:
$VsPrezzo = $row['Prezzo'];
Altrimenti PHP presume che tu abbia definito da qualche parte una
costante Prezzo, ma siccome non è così ti avverte che c'è qualcosa che
non va con il Notice "Use of undefined constant..."
Ciao.
-- 
Federico

 non va con il Notice "Use of undefined constant..."
Sei un grande :)
Hai proposto una soluzione, mi hai fornto la spiegazione dell'errore e mi 
dai anche delle fonti dove imparare ad usare la nuova funzione/comando che 
mi suggerisci.
Cosa chiedere di piů per me che sono un'autodidatta agli inizi?
Grazie
Roberto