$_GET['comune']

amhal

Utente Attivo
17 Feb 2011
89
1
8
Ciao a tutti ho un problemino, sicuramente banale per voi, che mi manda ai matti...
Ho scaricato una classe per visualizzare il classico db con regioni province e comuni, quando seleziono la regione lui carica le province, scelta quest'ultima carica tutti i relativi comuni e poi carica la pagina php scelta da me in automatico. Posto la classe:

Codice:
<?php


$selfparts = split('/', $_SERVER['PHP_SELF']);
@$file = ereg_replace('\\\\','/', _FILE_);
$fileparts = split('/', $file);

if ($selfparts[count($selfparts) - 1] == $fileparts[count($fileparts) - 1])
{

echo "directory non trovata";
exit;

}









class OptionMenu 
{ 
    protected    $conn; 
    protected    $page; 
     
        public function __construct() 
        { 
            $this->page = basename($_SERVER['PHP_SELF']); 
            $this->DbConnectAndSelect(); 
            $this->ParsingAction(); 
             
        } 
         
        protected function DbConnectAndSelect() 
        { 
            


$db = "xxxx"; 
$host = "xxxx"; 
$username = "xxxx"; 
$password = "xxxxx";


 
             
            $this->conn = @mysql_connect($host,$username,$password) OR 
            die("Impossibile connettersi al server"); 
             
            @mysql_select_db($db, $this->conn) OR 
            die("Impossibile selezionare il database"); 
        } 
         
        public function JsHeader() 
        { 
            echo '<SCRIPT language=JavaScript> 
            <!-- 
            function goSelect(daform) 
            { 
                with(daform) 
                { 
                    top.window.location=options[selectedIndex].value; 
                } 
            } 
            //--> 
            </SCRIPT> 
            '; 

        } 
         
        public function ShowRegioni() 
        { 
            if(isset($_SESSION['regione'])) 
            { 
                $regione = $_SESSION['regione']; 
            } 
            else 
            { 
                $regione = "Regioni"; 
            } 
             
            $sql = "SELECT id,regione FROM regioni order by regione"; 
            $res = mysql_query($sql, $this->conn); 
             
            echo '<form> 
            <select onchange="goSelect(this)" size="1" style="font-family: Tahoma; font-size: 8pt; color: #006C23">
            <option>' . $regione . '</option> 
            '; 
             
                while($row = mysql_fetch_array($res)) 
                { 
                    if($row['regione'] != $regione) 
                    { 
                        echo '<option value="' . $this->page . '?id_regione=' . $row['id'] . '&action=provincia&regione=' . $row['regione'] . '">' . $row['regione'] . '</option> 
                        '; 
                    } 
                } 
             
            echo '</select> 
            </form> 
            '; 
        } 
         
        public function ShowProvince() 
        { 
            if(isset($_SESSION['provincia'])) 
            { 
                $provincia = $_SESSION['provincia']; 
            } 
            else 
            { 
                $provincia = "Province"; 
            } 
             
            echo '<form> 
            <select onchange="goSelect(this)" size="1" style="font-family: Tahoma; font-size: 8pt; color: #006C23"> 
            <option>' . $provincia . '</option> 
            '; 
             
            if($regione = $this->SelectProvincia()) 
            { 
                $sql = "SELECT id,provincia FROM province WHERE id_regione='$regione'"; 
                $res = mysql_query($sql, $this->conn); 
                 
                    while($row = mysql_fetch_array($res)) 
                    { 
                        if($row['provincia'] != $provincia) 
                        { 
                            echo '<option value="' . $this->page . '?id_provincia=' . $row['id'] . '&action=comune&provincia=' . $row['provincia'] . '">' . $row['provincia'] . '</option> 
                        '; 
                        } 
                    } 
            } 
             
                echo '</select> 
            </form> 
            '; 
        } 
         
        public function ShowComuni() 
        { 
            if(isset($_SESSION['comune'])) 
            { 
                $comune = $_SESSION['comune']; 
            } 
            else 
            { 
                $comune = "Comuni"; 
            } 
             
            echo '<form> 
            <select onchange="goSelect(this)" size="1" style="font-family: Tahoma; font-size: 8pt; color: #006C23"> 
            <option>' . $comune . '</option> 
            '; 
             
            if($_GET['id_provincia']) 
            { 
                $sql = "SELECT id,comune FROM comuni WHERE id_provincia='$_GET[id_provincia]'"; 
                $res = mysql_query($sql, $this->conn); 
                 
                    while($row = mysql_fetch_array($res)) 
                    { 
                        echo '<option value="' . $this->page . '?id_comune=' . $row['id'] . '&action=end&comune=' . $row['comune']. '" name="prova" >' . $row['comune'] . '</option> 
                    '; 
                    } 
            } 
             
                echo '</select> 
            </form> 
            '; 
        } 
         
        protected function SelectProvincia() 
        { 
            if(!$_GET['id_regione'] AND !$_SESSION['regione']) 
            { 
                return FALSE; 
            } 
            else 
            { 
                if($_GET['id_regione']) 
                { 
                    return $_GET['id_regione']; 
                } 
                else 
                { 
                    $sql = "SELECT id FROM regioni WHERE regione='$_SESSION[regione]'"; 
                    $res = mysql_query($sql, $this->conn); 
                    $row = mysql_fetch_array($res); 
                     
                    return $row['id']; 
                } 
            } 
        } 
         
        protected function ParsingAction() 
        { 
            if(isset($_GET['action'])) 
            { 
                if($_GET['action'] == 'provincia') 
                { 
                    $_SESSION['regione'] = $_GET['regione']; 
                    unset($_SESSION['provincia']); 
                    unset($_SESSION['comune']); 
                } 
                if($_GET['action'] == 'comune') 
                { 
                    $_SESSION['provincia'] = $_GET['provincia']; 
                    unset($_SESSION['comune']); 
                } 
                if($_GET['action'] == 'end') 
                { 
                    $_SESSION['comune'] = $_GET['comune'];	

                  	header("Location: prova.php"); 
                    die; 
                } 
            } 
        } 
}



?>

ora nella pagina di destinazione, prova.php, ho inserito un campo di testo e vorrei che ci caricasse automaticamente il comune scelto dall'utente

come si fa??

grazie come sempre in anticipo

:hammer:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
PHP:
<input type="text" name="comune" value="<?php echo $_SESSION['comune']; ?>" />
 

amhal

Utente Attivo
17 Feb 2011
89
1
8
grazie per aver risposto, ho creato nella pagina di destinazione ( prova.php ) il campo input come me lo hai scritto, ma quando seleziono il comune e l'header mi carica la prova.php, nel campo di testo non trovo il nome del comune selezionato ma questa stringa:

<br /><b>Notice</b>: Undefined variable: _SESSION in <b>C:\apache\cartella\prova.php</b> on line <b>201</b><br />

che vuole dire?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Devi scrivere
PHP:
session_start();
subito dopo <?php e prima di qualsiasi tag html
 

amhal

Utente Attivo
17 Feb 2011
89
1
8
se lo scrivo prima della classe mi da questo errore:
[CODEWarning: session_start() [function.session-start]: open(C:/php/sessionfiles\sess_238sifrbsug7h695c48mhn3vr2, O_RDWR) failed: No such file or directory (2) in C:\apache\catella\prova\class.php on line 3
][/CODE]

0:)

grazie per l'aiuto
 

amhal

Utente Attivo
17 Feb 2011
89
1
8
Codice:
1.	<?php
2.	
3.	session_start();
4.	
5.	$selfparts = split('/', $_SERVER['PHP_SELF']);
6.	@$file = ereg_replace('\\\\','/', _FILE_);
7.	$fileparts = split('/', $file);
8.	
9.	if ($selfparts[count($selfparts) - 1] == $fileparts[count($fileparts) - 1])
10.	{
11.	
12.	echo "directory non trovata";
13.	exit;
14.	
15.	}
16.	
25.	class OptionMenu 
26.	{ 
27.	    protected    $conn; 
28.	    protected    $page; 
29.	     
30.	        public function __construct() 
31.	        { 
32.	            $this->page = basename($_SERVER['PHP_SELF']); 
33.	            $this->DbConnectAndSelect(); 
34.	            $this->ParsingAction(); 
35.	             
36.	        } 
37.	         
38.	        protected function DbConnectAndSelect() 
39.	        { 
40.	            
41.	
42.	
43.	$db = "xxxx"; 
44.	$host = "xxxx"; 
45.	$username = "xxxx"; 
46.	$password = "xxxxx";
47.	
48.	
49.	 
50.	             
51.	            $this->conn = @mysql_connect($host,$username,$password) OR 
52.	            die("Impossibile connettersi al server"); 
53.	             
54.	            @mysql_select_db($db, $this->conn) OR 
55.	            die("Impossibile selezionare il database"); 
56.	        } 
57.	         
58.	        public function JsHeader() 
59.	        { 
60.	            echo '<SCRIPT language=JavaScript> 
61.	            <!-- 
62.	            function goSelect(daform) 
63.	            { 
64.	                with(daform) 
65.	                { 
66.	                    top.window.location=options[selectedIndex].value; 
67.	                } 
68.	            } 
69.	            //--> 
70.	            </SCRIPT> 
71.	            '; 
72.	
73.	        } 
74.	         
75.	        public function ShowRegioni() 
76.	        { 
77.	            if(isset($_SESSION['regione'])) 
78.	            { 
79.	                $regione = $_SESSION['regione']; 
80.	            } 
81.	            else 
82.	            { 
83.	                $regione = "Regioni"; 
84.	            } 
85.	             
86.	            $sql = "SELECT id,regione FROM regioni order by regione"; 
87.	            $res = mysql_query($sql, $this->conn); 
88.	             
89.	            echo '<form> 
90.	            <select onchange="goSelect(this)" size="1" style="font-family: Tahoma; font-size: 8pt; color: #006C23">
91.	            <option>' . $regione . '</option> 
92.	            '; 
93.	             
94.	                while($row = mysql_fetch_array($res)) 
95.	                { 
96.	                    if($row['regione'] != $regione) 
97.	                    { 
98.	                        echo '<option value="' . $this->page . '?id_regione=' . $row['id'] . '&action=provincia&regione=' . $row['regione'] . '">' . $row['regione'] . '</option> 
99.	                        '; 
100.	                    } 
101.	                } 
102.	             
103.	            echo '</select> 
104.	            </form> 
105.	            '; 
106.	        } 
107.	         
108.	        public function ShowProvince() 
109.	        { 
110.	            if(isset($_SESSION['provincia'])) 
111.	            { 
112.	                $provincia = $_SESSION['provincia']; 
113.	            } 
114.	            else 
115.	            { 
116.	                $provincia = "Province"; 
117.	            } 
118.	             
119.	            echo '<form> 
120.	            <select onchange="goSelect(this)" size="1" style="font-family: Tahoma; font-size: 8pt; color: #006C23"> 
121.	            <option>' . $provincia . '</option> 
122.	            '; 
123.	             
124.	            if($regione = $this->SelectProvincia()) 
125.	            { 
126.	                $sql = "SELECT id,provincia FROM province WHERE id_regione='$regione'"; 
127.	                $res = mysql_query($sql, $this->conn); 
128.	                 
129.	                    while($row = mysql_fetch_array($res)) 
130.	                    { 
131.	                        if($row['provincia'] != $provincia) 
132.	                        { 
133.	                            echo '<option value="' . $this->page . '?id_provincia=' . $row['id'] . '&action=comune&provincia=' . $row['provincia'] . '">' . $row['provincia'] . '</option> 
134.	                        '; 
135.	                        } 
136.	                    } 
137.	            } 
138.	             
139.	                echo '</select> 
140.	            </form> 
141.	            '; 
142.	        } 
143.	         
144.	        public function ShowComuni() 
145.	        { 
146.	            if(isset($_SESSION['comune'])) 
147.	            { 
148.	                $comune = $_SESSION['comune']; 
149.	            } 
150.	            else 
151.	            { 
152.	                $comune = "Comuni"; 
153.	            } 
154.	             
155.	            echo '<form> 
156.	            <select onchange="goSelect(this)" size="1" style="font-family: Tahoma; font-size: 8pt; color: #006C23"> 
157.	            <option>' . $comune . '</option> 
158.	            '; 
159.	             
160.	            if($_GET['id_provincia']) 
161.	            { 
162.	                $sql = "SELECT id,comune FROM comuni WHERE id_provincia='$_GET[id_provincia]'"; 
163.	                $res = mysql_query($sql, $this->conn); 
164.	                 
165.	                    while($row = mysql_fetch_array($res)) 
166.	                    { 
167.	                        echo '<option value="' . $this->page . '?id_comune=' . $row['id'] . '&action=end&comune=' . $row['comune']. '" name="prova" >' . $row['comune'] . '</option> 
168.	                    '; 
169.	                    } 
170.	            } 
171.	             
172.	                echo '</select> 
173.	            </form> 
174.	            '; 
175.	        } 
176.	         
177.	        protected function SelectProvincia() 
178.	        { 
179.	            if(!$_GET['id_regione'] AND !$_SESSION['regione']) 
180.	            { 
181.	                return FALSE; 
182.	            } 
183.	            else 
184.	            { 
185.	                if($_GET['id_regione']) 
186.	                { 
187.	                    return $_GET['id_regione']; 
188.	                } 
189.	                else 
190.	                { 
191.	                    $sql = "SELECT id FROM regioni WHERE regione='$_SESSION[regione]'"; 
192.	                    $res = mysql_query($sql, $this->conn); 
193.	                    $row = mysql_fetch_array($res); 
194.	                     
195.	                    return $row['id']; 
196.	                } 
197.	            } 
198.	        } 
199.	         
200.	        protected function ParsingAction() 
201.	        { 
202.	            if(isset($_GET['action'])) 
203.	            { 
204.	                if($_GET['action'] == 'provincia') 
205.	                { 
206.	                    $_SESSION['regione'] = $_GET['regione']; 
207.	                    unset($_SESSION['provincia']); 
208.	                    unset($_SESSION['comune']); 
209.	                } 
210.	                if($_GET['action'] == 'comune') 
211.	                { 
212.	                    $_SESSION['provincia'] = $_GET['provincia']; 
213.	                    unset($_SESSION['comune']); 
214.	                } 
215.	                if($_GET['action'] == 'end') 
216.	                { 
217.	                    $_SESSION['comune'] = $_GET['comune'];	
218.	
219.	                  	header("Location: prova.php"); 
220.	                    die; 
221.	                } 
222.	            } 
223.	        } 
224.	}


poi non so se lo devo mettere anche in prova.php ma ho provato e non funge

ciao e grazie
 

amhal

Utente Attivo
17 Feb 2011
89
1
8
fatto ma quando apro la index.php dove posso scegliere regione provincia e comune mi carica subito questo errore
Codice:
Warning: session_start() [function.session-start]: open(C:/php/sessionfiles\sess_0geke3btubr3v82snmgg31mug5, O_RDWR) failed: No such file or directory (2) in C:\apache\sito\regioni\option.class.php on line 2

che devo fare?

grazie
 

amhal

Utente Attivo
17 Feb 2011
89
1
8
ho controllato il phpinfo(); e ho trovato il comando session.auto_start su off... possibile che dipenda da questo??
 

Discussioni simili