Newsgroup: it.comp.www.php
Titolo: Elementare problema

Buongiono a tutti,
in questi giorni ho deciso di imparare un po' di php, sto seguendo un
tutorial, ma appena si è un po' complicato ho avuto subito problemi
perchè pur copia-incollando il codice non funziona.
Vi riporto qua sotto il codice:
html>
<body>
<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
// display individual record
if ($id) {
   $result = mysql_query("SELECT * FROM employees WHERE id=$id",$db);
   $myrow = mysql_fetch_array($result);
   printf("First name: %s\n<br>", $myrow["first"]);
   printf("Last name: %s\n<br>", $myrow["last"]);
   printf("Address: %s\n<br>", $myrow["address"]);
   printf("Position: %s\n<br>", $myrow["position"]);
} else {
    // show employee list
   $result = mysql_query("SELECT * FROM employees",$db);
    if ($myrow = mysql_fetch_array($result)) {
      // display list if there are records to display
      do {
        printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PHP_SELF,
$myrow["id"], $myrow["first"], $myrow["last"]);
      } while ($myrow = mysql_fetch_array($result));
    } else {
      // no records to display
      echo "Sorry, no records were found!";     
    }
}
?>
</body>
</html>
Sul testo del tutorial spiegano che php dovrebbe automaticamente creare
una variabile se nell'indirizzo è riportato che vado a riportare si
trova un codice del tipo ....../test.php?id=1
in pratica ora dovrei avere una variabile $id inizializzata ad 1....
al primo caricamento della pagina, il codice funziona.
La variabile id è uguale a NULL e mi visualizza una lista contenente i 3
record presenti nel database. I 3 record sono dei link creati dal codice
della mia pagina così formati:
http://silver.local/~filtro/database.php?id=1
http://silver.local/~filtro/database.php?id=2
http://silver.local/~filtro/database.php?id=3
cliccando ricarica la pagina, ma $id è sempre a NULL e non entra mai
nella primo caso dell'IF.
Ora mi chiedo: sono impediti quelli che hanno scritto il tutorial,
oppure c'è qualcosa che non va sulla mia macchina
Grazie per la pazienza
FilTro
 
-- 
Se Vuoi scrivermi in primato togli .nospam

 La variabile id è uguale a NULL 
Non proprio, la variabile molto probabilmente non e' definita.
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
http://www.php.net/register_globals
Comunque e' una stra faq ...
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

 
http://www.php.net/register_globals
Errata corrige:
http://www.php.net/manual/en/configuration.directives.php#ini.register-g
lobals [ 
http://url.repository.biz/go/4L
 ]
e
http://www.php.net/manual/en/language.variables.external.php
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y


 > 
http://www.php.net/register_globals
Ti ringrazio per l'aiuto perchč attraverso le tue indicazioni sono
arrivato alla soluzione...
vediamo se č giusta ed accetabile
il metodo utilizzato dal tutorial che avevo davanti era deprecato ed
insicuto. in pratica per poter utilizzare quel metodo avrei dovuto
attivare nel file init - register_globals
Invece io cosa ho fatto, mi sono andato a leggere il file init che č
tutto bello commentato... 
ed ho aggiunto una riga al mio codice:
$id=$_REQUEST["id"];
esistenva un altro modo?
Probabilmente č qualcosa che č stato trattato migliaia di volte se non
miglioni... il problema č che non ho idea di cosa ricercare all'interno
delle FAQ... 
Grazie


esistenva un altro modo?
$id=$_GET["id"];
Nel caso ti capiti di usare una form con il metodo post:
$id=$_POST["id"];
'bye

delle FAQ... 
Prova su questo gruppo a cercare "_REQUEST", "isset", "foreach", e anche
"default". Sono le keyword che qualsiasi modulo di 'fixing' dovra' usare
quasi per forza. Un post, che le contenga tutte, o e' questo qui che sto
scrivendo ora, o probabilmente e' qualcosa che ti potrebbe servire.
Leonardo e la propria opinione
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio