it-swarm.com.de

Wie erhalte ich einen Wert von der URL?

Ich möchte einen Wert von der URL erhalten, um Daten aus der Datenbank anhand der ID auszuwählen. Ich möchte Wert für ID.

Zum Beispiel, wenn ich www.example.com/index.php?id=12 öffne
Ich möchte einen Wert erhalten, dessen id = 12 in der Datenbank ist.

Wenn ich www.example.com/index.php?id=7 öffne
Wert abrufen, dessen id = 7 in der Datenbank usw. ist.

Ich habe einen Code:

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

Webadresse:

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

Es gibt zwei Möglichkeiten, Variablen in PHP von der URL abzurufen:

Wenn Ihre URL: http://www.example.com/index.php?id=7 ist, können Sie diese id über den $_GET['id']- oder $_REQUEST['id']-Befehl abrufen und in der $id-Variablen speichern.

Lest's mal:

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

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

das Gleiche wird sein:

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

der Unterschied besteht darin, dass die Variable über eine URL oder die Methode POST an die Datei übergeben werden kann. 

wenn die Variable über URL übergeben wird, können Sie sie mit $_GET['variable_name'] oder $_REQUEST['variable_name'] erhalten. Wenn jedoch eine Variable gebucht wird, müssen Sie $_POST['variable_name'] oder $_REQUST['variable_name']

Wie Sie sehen, kann $_REQUEST['variable_name'] auf beide Arten verwendet werden.

P.S: Denken Sie auch daran, dass Sie - niemals so machen: $results = mysql_query("SELECT * FROM next WHERE id=$id"); Dies kann zu MySQL-Injection führen und Ihre Datenbank kann gehackt werden.

Versuchen zu benutzen: 

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

Sie können diesen Wert erhalten, indem Sie das $_GET-Array verwenden. Der ID-Wert würde also in $_GET['id'] gespeichert.

In Ihrem Fall können Sie diesen Wert in der $id-Variablen wie folgt speichern:

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

Sie können auf diese Werte mit der globalen Variablen $ _GET zugreifen

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

Sie sollten alle "eingehenden" Benutzerdaten überprüfen - hier ist diese "ID" ein INT. Verwenden Sie es nicht direkt in SQL (anfällig für SQL-Injektionen).

0
djot

Sie können einen Abfragezeichenfolgewert auch erhalten als:

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