디렉토리 목록을 만들 때 올바른 이벤트에서 트리거하기 위해 PHP if 문을 지시하는 데 어려움을 겪고 있습니다.PHP - 문이 필요한 경우이 간단한 작업에 더 나은 솔루션이 필요합니다.
문은 두 단락의 표시를 제어합니다.
그것은 다음과 같습니다
if ($userIsLoggedIn && $_SESSION['accountNum'] == $lstId)
{
$pageContent .= "
<span class='editListing'><a href='/listings/edit/basic/index.php'>Edit Listing...</a></span>
";
} else {
$pageContent .= "
<span class='editListing'>Your Listing? <a href='/listings/edit/basic/index.php'>Login to edit...</a></span>
";
}
$userIsLoggedIn
는 사용자가 웹 사이트에 로그인 한 있는지 확인하는 기능입니다. (웹 사이트로 사용자가 로그인, 계정 번호는 다음 세션 변수로 저장됩니다.)
변수 $ lstId는 다음과 같이 설명 될 수있다 : 어디는 필드의 값
while ($row = mysql_fetch_array($data)) {
$lstId = $row['id'];
...
입니다 mysql 테이블에 저장된 특정 행의 id.
이제 사용자가 2 개의 결과를 반환하는 문자열을 검색한다고 가정 해보십시오. 각 결과는 A 테이너 내에 보유되고 루프는 A 테이너가 일치하는 것으로 _ 견된 각 행 결과와 함 2 컨테이너를] 복하게합니다.
컨테이너 내부는 if 문이 적용되는 곳입니다.
내가 기본적으로하고 싶은 것은 각 목록에 대해 사용자에게 "귀하의 목록 - 편집을 위해 로그인하십시오"라는 메시지가 표시됩니다. 그리고 사용자가이 링크를 선택하면 로그인 한 후 로그인 페이지로 이동합니다 사용자 계정과 관련된 목록을 수정할 수 있습니다.
하지만 난 데 문제는, $lstId
이 반환하는 모든 행의 ID 것 같다되도록 기본적으로 웹 사이트에 사용자가 로그인은, 단락 "목록 편집"각자에 표시 될 때 그들의 결과와 관련이없는 것조차도 포함합니다. 사용자가이 링크를 클릭하면 자신의 목록을 수정할 수있는 페이지로 이동합니다.
내가 목표로하는 효과는 단락 "편집 목록"이 자체 목록이 포함 된 결과에만 나타납니다. 그리고 다른 모든 목록에서 단락은 "귀하의 목록, 편집을 위해 로그인"으로 유지됩니다. 여기
는 각각의 결과를 생성하는 데 사용됩니다 전체의 HTML입니다 :if ($tempVar == 0) {
$pageContent .= "
<div class='searchResultS'>
";
if ($total_pgs > 1)
{
$pageContent .= "
<p>$paginator</p>
";
}
}
$pageContent .= "
<div class='searchResult'>
<div class='searchResultWrapper'>
";
if ($lstPage !== "")
{
$pageContent .= "
<span class='moreDetails'><a href='/listings/$lstPage.php'>More Details...</a></span>
";
}
$pageContent .= "
<h3>$lstName</h3>
";
if ($userIsLoggedIn && $_SESSION['accountNum'] == $lstId)
{
$pageContent .= "
<span class='editListing'><a href='/listings/edit/basic/index.php'>Edit Listing...</a></span>
";
} else {
$pageContent .= "
<span class='editListing'>Your Listing? <a href='/listings/edit/basic/index.php'>Login to edit...</a></span>
";
}
$pageContent .= "
<br style='clear:both; height:0; font-size: 1px; line-height: 0px;' />
<div class='bizDesc'>
<p><span class='listHeadings'>Description:</span> $lstDesc</p>
</div>
<div class='bizAddr'>
<p><span class='listHeadings'>Street:</span> $lstAddress</p>
<p><span class='listHeadings'>Town:</span> $lstArea</p>
<p><span class='listHeadings'>Province:</span> $lstProvince</p>
<p><span class='listHeadings'>Post Code:</span> $lstPostcode</p>
<p><span class='listHeadings'>GPS Co-Ords:</span> $lstGps</p>
</div>
<div class='bizCont'>
<p><span class='listHeadings'>Contact:</span> $lstContact</p>
<p><span class='listHeadings'>Tel:</span> $lstTel</p>
<p><span class='listHeadings'>Cell:</span> $lstCell</p>
<p><span class='listHeadings'>Fax:</span> $lstFax</p>
<p><span class='listHeadings'>Skype:</span> $lstSkype</p>
<p><span class='listHeadings'>eMail:</span> <a href='mailto: $lstEmail?subject=Your listing on bergbiz.co.za'>$lstEmail</a></p>
</div>
</div>
</div><!-- end .searchResult -->
";
$tempVar ++;
}
사람이에 대한 모든 입력, 제안이나 통찰력이있는 경우에 당신이 그것의 일부를 공유 할 수 있다면, 그것은 크게 감사하겠습니다 나 !!
감사합니다.
편집 : 루프 내에서 if 문 바로 뒤에 배치
코드 :
$td = $_SESSION['accountNum'];
echo"session var is $td";
echo"lst id is $lstId";
출력 :
session var is 10005lst id is 10003session var is 10005lst id is 10004session var is 10005lst id is 10002session var is 10005lst id is 10005
이 같이 나오는 이유 어떤 아이디어? 세션 var는 동일하게 유지되지만 id 변수가 반복됩니다.
if ($ userIsLoggedIn && $ _SESSION [ 'accountNum'] = $ lstId) 비교하는 대신 $ _SESSION [ 'accountNum']을 (를) 지정 하시겠습니까? –
try == '$ _SESSION ['accountNum '] = $ lstId';) – canihavesomecoffee
@Mark, 사용자가 로그인 양식을 작성하여 사이트에 로그인 할 때 세션 변수가 지정되지 않습니다. 내가하고 싶은 일은 계좌 번호와 특정 업체 정보의 ID를 비교하는 것입니다. –