web-dev-qa-db-fra.com

Comment obtenir de la valeur de l'URL

Je veux obtenir une valeur d'URL pour choisir les données de la base de données par ID. Je veux la valeur pour id.

Par exemple si j'ouvre www.example.com/index.php?id=12
Je veux obtenir la valeur dont l'id = 12 dans la base de données.

Si j'ouvre www.example.com/index.php?id=7
obtenir la valeur dont id = 7 dans la base de données et ainsi de suite.

J'ai du code:

$results = mysql_query("SELECT * FROM next WHERE id=$id");    
while ($row = mysql_fetch_array($results))     
{       
    $url = $row['url'];
    echo $url;    
}
5
Vaja Axobadze

URL de site web:

http://www.example.com/?id=2

Code:

$id = intval($_GET['id']);
$results = mysql_query("SELECT * FROM next WHERE id=$id");    
while ($row = mysql_fetch_array($results))     
{       
    $url = $row['url'];
    echo $url; //Outputs: 2
}
13
Steven

Il y a deux façons d'obtenir une variable d'URL en PHP:

Lorsque votre URL est: http://www.example.com/index.php?id=7, vous pouvez obtenir cette id via la commande $_GET['id'] ou $_REQUEST['id'] et la stocker dans la variable $id.

Nous allons jeter un coup d'œil:

// url is www.example.com?id=7

//get id from url via $_GET['id'] command:
$id = $_GET['id']

idem sera:

//get id from url via $_REQUEST['id'] command:
$id = $_REQUEST['id']

la différence est que cette variable peut être transmise au fichier via l’URL ou viaPOSTmethod. 

si la variable est passée par l'URL, alors vous pouvez l'obtenir avec $_GET['variable_name'] ou $_REQUEST['variable_name'] mais si la variable est publiée, alors vous aurez besoin de $_POST['variable_name'] ou $_REQUST['variable_name']

Donc, comme vous le voyez, $_REQUEST['variable_name'] peut être utilisé dans les deux sens.

P.S: Rappelez-vous également - ne faites jamais comme ceci: $results = mysql_query("SELECT * FROM next WHERE id=$id");, cela pourrait provoquer une injection MySQL et votre base de données pourrait être piratée.

Essayez d'utiliser:  

$results = mysql_query("SELECT * FROM next WHERE id='".mysql_real_escape_string($id)."'");
7
zur4ik

Vous pouvez obtenir cette valeur en utilisant le tableau $_GET. Donc, la valeur id serait stockée dans $_GET['id'].

Donc, dans votre cas, vous pouvez stocker cette valeur dans la variable $id comme suit:

$id = $_GET['id'];
0
SharpKnight

Vous pouvez accéder à ces valeurs avec la variable globale $ _GET

//www.example.com/index.php?id=7
print $_GET['id']; // prints "7"

Vous devriez vérifier toutes les données utilisateur "entrantes" - alors ici, cet "id" est un INT Ne l'utilisez pas directement dans votre SQL (vulnérable aux injections SQL).

0
djot

Vous pouvez également obtenir une valeur de chaîne de requête sous la forme suivante:

$uri =  $_SERVER["REQUEST_URI"]; //it will print full url
$uriArray = explode('/', $uri); //convert string into array with explode
$id = $urlArray[1];
0
Dinesh