2016-04-23 10 views
2

Ich versuche, ein Benutzerumgebungssystem einzurichten. Ich habe home.php Seite, die eine Profilseite und planet_search.php ist, die alle Benutzer mit der Fähigkeit anzeigt, ihre Profile anzuzeigen. Ich kämpfe den ID-Variable auf vorbei home.php, so kann ich richtig Avatar image.Here den Teil home.php zeigen, dass Avatar-Bild zeigt:Verwalten von Benutzern Anzeigen von Profilen System und Übergeben der ID, um Profilseite anzuzeigen, um das korrekte Avatarbild anzuzeigen

<img class='ima'src="<?php 
        $id = $_SESSION['id']; 
        $query = "SELECT avatar_url FROM users WHERE id = '$id' LIMIT 1"; 
        if(isset($_POST['id'])){$idu = $_POST['id']; 
        "SELECT avatar_url FROM users WHERE id = '$idu' LIMIT 1";} 
        $result = mysqli_query($conn,$query); 

        $row = mysqli_fetch_assoc($result); 

        if(!$row["avatar_url"]){echo 'img/profile3.png';}else{echo $row["avatar_url"];} 

       ?>" alt="face" > 

Und hier ist JQuery von planet_search.php: $ (document) .ready (function() {

$('.square').on('click', function(){ 
    $this_id = $(this).find('.id_user').text(); 

    $.ajax({ 
    type: "POST", 

    url: "home.php", 

    data: { id: $this_id }, // or the string: 'id=1' 
    complete: 
    function() { 
     window.location = "home.php"; 
    } 

    }); 
    }) 
    }); 

aber es funktioniert nicht? es die Variable passieren tut, weil die

if(isset($_POST['id'])) 

nie wahr. Was mache ich falsch?

Antwort

1

Versuchen Sie, diesen Code verwenden stattdessen gestartet wurde.

<?php 
$idu = null; 

if (isset($_GET['id'])) { 
    $idu = $_GET['id']; 
} elseif (isset($_SESSION['id'])) { 
    $idu = $_SESSION['id']; 
} 

$avatar_url = "img/profile3.png"; 

if (!is_null($idu)) { 
    $query = "SELECT avatar_url FROM users WHERE id = '$idu' LIMIT 1"; 

    $result = mysqli_query($conn, $query); 

    $row = mysqli_fetch_assoc($result); 

    if ($row["avatar_url"]) { 
     $avatar_url = $row["avatar_url"]; 
    } 
} 

?> 

<img class='ima' src="<?php echo $avatar_url; ?>" alt="face"> 

und JS:

$('.square').on('click', function() { 
    $this_id = $(this).find('.id_user').text(); 

    if ($this_id != "") { 
     window.location = "home.php?id=" + $this_id; 
    } 
}); 
+1

Danke! Es funktionierte. –

1

Sie keine Sitzung, session_start();

+0

wo exactelly? Ich schließe common.php in alle Dateien ein, in denen session_start() ist! –

+0

Wenn Sie jemals ein $ _SESSION verwenden möchten, müssen Sie es zuerst starten, test1.php => ' ' test2php =>' ' – Hachachin