webForumDet fria alternativet

Vet inte riktigt vad som går snett i skriptet:(

PHP

2 svar · 410 visningar · startad av Mycodez

Medlem sedan feb. 2010445 inlägg
Frågan#1

Hej.

Jag håller då på med ett vän system till min sida men nu när jag ska göra en koll tex om man e vän med personen så ska det finnas en knapp där det står remove friend och e man inte vän så ska det stå add friend

men nu e det så att den kollen vill inte funka riktigt så nu tänkte jag ge ut koden och fråga er vad e det som e felet?

<?php
if (isset($_SESSION['id'])&&$_SESSION['id']!=$id){
	// SQL Query the friend array for the logged in viewer of this profile if not the owner
	$sqlArray = mysql_query("SELECT friend_array FROM user WHERE id='" . $id ."' LIMIT 1"); 
	while($row=mysql_fetch_array($sqlArray)) { $iFriend_array = $row["friend_array"]; }
		$iFriend_array = explode(",", $iFriend_array);
			if (in_array($id, $iFriend_array)) { 
			$friendLink = '<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'remove_friend\');">Remove Friend</a>';
			} else {
			$friendLink = '<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'add_friend\');">Add as Friend</a>';	
			}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			$interactionBox = ' <div class="interactionLinksDiv">
			' . $friendLink . ' 
			<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'private_message\');">Skicka privat meddelande</a>
			</div><br />';
} else if(isset($_SESSION['id'])&&$_SESSION['id']==$id){
	$interactionBox = ' <div class="interactionLinksDiv" >
	<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'friend_requests\');">Friend requests</a>
	</div>';
}
?>

jag startar Session_start(); i början av all denna kod. detta är allt knappa som fin på min underversal memberpage :) men vad e felet får inte att Remove friend skriv ut
koden där knapparna då ska skriva ser ut så här

        <?php echo $interactionBox; ?>
        <div class="interactContainers" id="add_friend">
			<div align="right">
        		<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('add_friend');">Stäng</a>
        	</div>
        	Vill du ha <?php print $username; ?> som vän?&nbsp;
            <a href="#" onclick="return false" onmousedown="javascript:addAsFriend(<?php echo $_SESSION['id']; ?>, <?php echo $id; ?>);">Ja</a>
                        <span id="add_friend_loader"><img src="images/loading.gif" width="28" height="10" alt="Loading" /></span>
        </div>
        <div class="interactContainers" id="remove_friend">
			<div align="right">
        		<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('remove_friend');">Stäng</a>
        	</div>
        	Är du säker på att du vill ta bort <?php print $username; ?> som vän?&nbsp;
            <a href="#" onclick="return false" onmousedown="javascript:removeAsFriend(<?php echo $_SESSION['id']; ?>, <?php echo $id; ?>);">Ja</a>
            <span id="remove_friend_loader"><img src="images/loading.gif" width="28" height="10" alt="Loading" /></span>
        </div>
        <div class="interactContainers" id="private_message">
        	Här kommer du kunna snart kunna skicka privat meddelande till folk.
        </div>
        <div class="interactContainers" id="friend_requests" style="background-color:#FFFM height:240px; overflow:auto;">
        	<h3>The following people are requesting you as a friend</h3>
   		 	<?php
    $sql = "SELECT * FROM friends_requests WHERE mem2='$id' ORDER BY id ASC LIMIT 50";
	$query = mysql_query($sql) or die ("Sorry we had a mysql error!");
	$num_rows = mysql_num_rows($query);
	if ($num_rows < 1) {
		echo 'You have no Friend Requests at this time.';
	} else {
        while ($row = mysql_fetch_array($query)) {
		    $requestID = $row["id"];
		    $mem1 = $row["mem1"];
	        $sqlName = mysql_query("SELECT username FROM user WHERE id='$mem1' LIMIT 1") or die ("Sorry we had a mysql error!");
		    while ($row = mysql_fetch_array($sqlName)) { $requesterUserName = $row["username"]; }
		    ///////  Mechanism to Display Pic. See if they have uploaded a pic or not  //////////////////////////
		    $check_pic = 'members/' . $mem1 . '/image01.jpg';
		    if (file_exists($check_pic)) {
				$lil_pic = '<a href="member.php?id=' . $mem1 . '"><img src="' . $check_pic . '" width="50px" border="0"/></a>';
		    } else {
				$lil_pic = '<a href="member.php?id=' . $mem1 . '"><img src="members/0/image01.jpg" width="50px" border="0"/></a>';
		    }
		    echo	'<hr />
<table width="100%" cellpadding="5"><tr><td width="17%" align="left"><div style="overflow:hidden; height:50px;"> ' . $lil_pic . '</div></td>
                        <td width="83%"><a href="profile.php?id=' . $mem1 . '">' . $requesterUserName . '</a> wants to be your Friend!<br /><br />
					    <span id="req' . $requestID . '">
					    <a href="#" onclick="return false" onmousedown="javascript:acceptFriendRequest(' . $requestID . ');" >Accept</a>
					    &nbsp; &nbsp; OR &nbsp; &nbsp;
					    <a href="#" onclick="return false" onmousedown="javascript:denyFriendRequest(' . $requestID . ');" >Deny</a>
					    </span></td>
                        </tr>
                       </table>';
        }
	}
    ?>

Ser ni felet säg till :)

/Robin K

Medlem sedan dec. 2004736 inlägg
#2

Utan att veta vad dina variabler i översta koden gör är det svårt, men jag tolkar det såhär:
$_SESSION['id']: Användaren som kollar på sidan
$id: ID för användaren vars profil vi är inne på

Om min tolkning stämmer är denna if-sats konstig:

if (in_array($id, $iFriend_array)) {

Då den verkar kolla om användaren vi besöker är vän med sig själv. Jag antar att du vill kolla

if (in_array($_SESSION['id'], $iFriend_array)) {

istället?

Medlem sedan feb. 2010445 inlägg
#3

Du tolka rätt förlåt var lite otydlig med det ska bättra mig.
Men tusen tack

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)