2016-12-02 6 views
0

Ich möchte der Lage sein, Benutzer-ID in URL zu zeigen, wie folgt aus: profile.php user = 1, 2 usw.PHP - Show User-ID in URL

Ich habe überall gesucht, aber ich kann nicht Mach es zur Arbeit.

profile.php Code:

<?php 
ob_start(); 
session_start(); 
require_once 'dbconnect.php'; 


// if session is not set this will redirect to login page 
if(!isset($_SESSION['user'])) { 
header("Location: index.php"); 
exit; 
} 
// select loggedin users detail 
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']); 
$userRow=mysql_fetch_array($res); 
$id = $_GET['userId']; 

?> 

PHP-Code:

<?php 
ob_start(); 
session_start(); 
require_once 'dbconnect.php'; 

$id = (isset($_GET['id'])) ? $_GET['id'] : $_SESSION['id']; 
$query = "SELECT * FROM users WHERE userId = $id"; 
// if session is not set this will redirect to login page 
if(!isset($_SESSION['user'])) { 
header("Location:profile.php?id=" . $_SESSION['user']); 
exit; 
} 
// select loggedin users detail 
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']); 
$userRow=mysql_fetch_array($res); 
$id = $_GET['userId']; 
?> 


<?php echo $userRow['userId'];?> 

ich, dass es letzte Befehl an mein eigenes Profil zu verknüpfen, aber ich möchte wissen, wie andere Benutzer Profile anzuzeigen.

+3

$ _GET wird den Parameter liest, ist es nicht dort setzen. Sie müssen es manuell eingeben, dh wenn Sie eine href in Ihrem HTML-Code eingeben, sollten Sie etwas wie 'href =" domain.com/profile.php?user=$variable "' tun. Für '$ variable' sollten Sie den Wert aus SQL lesen. – Twinfriends

+0

$ id = $ _GET ['userId']; ist für den Erhalt GET Parameter nicht setzen –

+0

Sie möchten $ ID in Location hinzufügen: index.php wie Location: index.php? uid = $ id; –

Antwort

0

Ich glaube, Sie setzen die $ _SESSION [ ‚user‘] auf erfolgreich anmelden, dann leiten Sie den Benutzer auf profile.php Seite den Header verwendet wird, was Sie tun müssen, jetzt müssen u Ihre Header ändern aussehen:

<?php 


header("Location:profile.php?id=" . $_SESSION['user']); 

?> 

, dass der Benutzer leiten wird profile.php verwenden = 1, wenn id ist man dann, wann immer Sie zurück zu profile.php verknüpfen von Ihrem Armaturenbrett mit dem Anker muss es aussehen:

<a href="profile.php?id=<?php echo $_SESSION['user'];?>">profile</a> 

NB: Zu Ihrem eigenen Vorteil nutzen mysql_ nicht die Funktion abgeschrieben und von PHP 7. Verwendung Mysqli stattdessen entfernt,

dann für die eigene Datensicherheit Verwendung Aussagen vorbereitet, mit mysqli oder pdo

+0

Dies funktionierte, um die Benutzer-ID in der URL zu bekommen, aber gibt es eine Möglichkeit, dass ich andere Profile sehen kann, indem ich die Nummer in der URL ändere? von ID = 2 bis ID = 1 f.eks – CAMELYON

+0

dies funktioniert für den aktuellen angemeldeten Benutzer, wenn Sie Profil eines anderen Benutzers als ein anderer Benutzer sehen würde sagen Admin, würden Sie dann 'profile' Ich werde meine Antwort für mehr bearbeiten –

+0

hi, ich bekomme immer noch nicht zur Arbeit, um andere Profile zu sehen .. – CAMELYON

0

Also im Grunde wollen Sie ID in URL zeigen, oder die ID von URL übergeben wollen

wenn Sie id mit url übergeben wollen als:

Verwendung

<a href="profile.php?user=<?php echo $id; ?>"> 

Und Sie kann nicht erhalten, dass Daten mit $_GET[user];

SO bitte bitte klären, was Sie wollen.?

0

ich so tun würde:

if(!isset($_SESSION['user'])) { 
    header("Location: index.php"); 
    exit; 
} 
elseif (isset($_SESSION['user'] && !$_GET['user']){ 
    header("Location: profile.php?user=" . $_SESSION['user']); 
} 
else{ 
    // select loggedin users detail 
    $res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']); 
    $userRow=mysql_fetch_array($res); 
    $id = $_GET['userId']; 
} 
0

Dieser Code wird die Benutzer-ID an die uRL zeigen, wenn Ihr Formular:

<form="profile.php?=user<?php echo $id; ?>"> 

Und für den Fall, dass Sie es auf anderer Seite passieren, damit Sie es dort hier verwenden können, ist der Code:

if (isset($_POST['nameofsubmitbutton'])) 
{ 

$Sample = $_POST['nameoffield']; 
header("Location: nextpage.php?id=$Sample"); 
}