Passaggio di parametri tramite URI
Vediamo come si possono passare parametri tramite l'indirizzo.
Creiamo un progetto e creiamo un controllo (controllo.php), un modello (modello.php) e una vista (home.php ) :
modello.php :
controllo.php:
home.php :
Creiamo un progetto e creiamo un controllo (controllo.php), un modello (modello.php) e una vista (home.php ) :
modello.php :
<?php
class modello extends CI_Model {
function __construct()
{
parent::__construct();
}
function get_dati()
{
$oggetto1["id"] = 1;
$oggetto1["contenuto"] = "link1";
$oggetto2["id"] = 2;
$oggetto2["contenuto"] = "link2";
$oggetti
= Array
($oggetto1,$oggetto2);
return $oggetti;
}
}
controllo.php:
<?php
class controllo extends CI_Controller
{
public function index()
{
$this->load->model("modello");
$oggettiDalModello =
$this->modello->get_dati();
$data["oggettiAllaVista"] = $oggettiDalModello;
$this->load->view('home',$data);
}
public function link()
{
echo $this->uri->segment(1)." ";
echo $this->uri->segment(2)." ";
echo $this->uri->segment(3)." ";
}
}
home.php :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"
/>
<title>home</title>
</head>
<body>
<h1>HOME</h1>
<?php
foreach ($oggettiAllaVista as $riga)
{
echo $riga['id'] , ' ';
echo $riga['contenuto'] , ' ';;
echo '<br>';
echo "<a
href=http://localhost:8080/CI8/index.php/controllo/link/".$riga['id'].">".$riga['contenuto']."</a>";
echo '<br>';
echo '<br>';
}
?>
</body>
</html>
Il modello non ha niente di particolare, è identico a quello usato in esempi precedenti. Produce in uscita degli oggetti con vari attributi tra cui un id che usiamo per identificare i vari oggetti, come una chiave primaria.
La vista produce un link che ha la parte finale variabile che è proprio l'id. Quindi verranno stampati questi link :
http://localhost:8080/CI8/index.php/controllo/link/1
http://localhost:8080/CI8/index.php/controllo/link/2
e così via.
Nel controllo vediamo come recuperare questi indirizzo (URI) e estrarne le informazioni.
Lo si fa con questa istruzione echo $this->uri->segment(n), dove n è il segmento che ci interessa a partire dall'indice.
Quindi :
$this->uri->segment(1) = controllo
Perciò siamo stai in grado di recuperare l'ID dalla navigazione, con il terzo segmento.
vai all' indice generale
La vista produce un link che ha la parte finale variabile che è proprio l'id. Quindi verranno stampati questi link :
http://localhost:8080/CI8/index.php/controllo/link/1
http://localhost:8080/CI8/index.php/controllo/link/2
e così via.
Nel controllo vediamo come recuperare questi indirizzo (URI) e estrarne le informazioni.
Lo si fa con questa istruzione echo $this->uri->segment(n), dove n è il segmento che ci interessa a partire dall'indice.
Quindi :
$this->uri->segment(1) = controllo
$this->uri->segment(2) = link
$this->uri->segment(3) = 2
Perciò siamo stai in grado di recuperare l'ID dalla navigazione, con il terzo segmento.
vai all' indice generale
Nessun commento:
Posta un commento