여기서 초보자 모드를 유의하십시오. 데이터베이스에서 제품을 검색하는 전자 상거래 사이트를 만들고 있습니다. 내가 사용하는 로그인 정보는 데이터베이스의 0과 1을 기준으로합니다. admin으로 로그인하고 admin.php 페이지에서 검색 기능을 사용하면 로그 아웃되거나 프론트 페이지로 리디렉션됩니다. 동일한 검색 기능이 프론트 페이지에서 올바르게 작동합니다.
여기는 admin.php에서 양식을 제출하는 부분입니다. admin.php 페이지의
<div id="mainArea">
<form id="searchBox" action="<?=$_SERVER['PHP_SELF']?>" method="post"><input id="search" name="title" type="text" placeholder="Search Products" /><input name="submit" type="submit" value="Search" style="width:75px;height:36px"/></form>
</div>
<div id="show">
<?php
include("searchAdmin.php");
?>
</div>
최고 다음과 같습니다
<?php
if ($_POST['submit']){
include ("connection.php");
$title = (trim($_POST['title'])=="")?
die ("You did not enter any search criteria"):
mysql_real_escape_string($_POST['title']);
$query = "select * from beer where upper(beer_name) like '%".strtoupper($title) ."%' OR upper(beer_descr) like '%". strtoupper($title) ."%' OR upper(beer_categ) like '%". strtoupper($title) ."%'";
if(! ($result = mysql_query($query)))
die ("No matches found. Please search again.</body></html>");
echo "<table border=1>";
while ($rows = mysql_fetch_array($result)) {
echo "<tr><td rowspan=3>" . '<img src="images/'. $rows['beer_image'] . '.jpg"/>'."</td><td>".$rows['beer_name']."</td><td><a href='updateBeer.php?id=". $rows['beer_id'] ."'>Update</a></td></tr>";
echo "<tr><td>".$rows['beer_categ']."</td><td><a href='deleteBeer.php?id=". $rows['beer_id'] ."'>Delete</a></td></tr>";
echo "<tr><td>".$rows['beer_descr']."</td>
<td>".$rows['beer_cost']."</td></tr>";
}
echo "</table>";
}
else include("showAdmin.php");
?>
편집 :
<?php
session_start();
$name = $_SESSION['myusername'];
?>
검색 adminSearch.php이를 내 로그인의 끝을 보여 분실 PHP는 이렇게 보입니다. 그것은 관리자 페이지로 나를 보내지 만, 관리자 페이지에서 검색을하면 나를 로그 아웃하거나 프론트 페이지로 보냅니다.
if($count==1){
if($auth==1){
session_start();
$_SESSION['myusername'] = $myusername;
$_SESSION['auth']=$auth;
header("location: /admin.php");
}
elseif($auth==0){
session_start();
$_SESSION['myusername'] = $myusername;
$_SESSION['auth']=$auth;
header("location: /user.php");
}
}
else {
echo "Wrong Username or Password";
}
내 로그 아웃이 같은 관리자 페이지에 다음과 같습니다
:
<div id="login1">
<font color="white">Logged in with Administrator privilages as: <?php echo $name ?>.</font><br /><form id="logout" method="post" name="logout" action="logout.php"><input name="logout" type="submit" value="Logout" style="width:75px;height:22px"><br />
</div>
그리고 logout.php 읽기 : 눈에서
<?php
if (!empty($_POST['logout'])){
session_start();
session_destroy();
header("location: /frontPage.php");
}
?>
첫 번째 변경 if ($ _POST [ 'submit']) {to if (! _ POST [ 'submit'])) {PHP가 아닌 C :-) – sivann
mysql_ * 함수는 다음과 같습니다. deprecated ([red box] (http://php.net/mysql_query) 참조). 그리고 mysql_real_escape_string ($ _ POST [ 'title'])'의 결과를 변수로 선언하지 않습니다. 또한, LIKE 쿼리에서'%'와'_ '를 이스케이프해야합니다. ['addcslashes'] (http://php.net/addcslashes)를 사용하십시오. 그리고 데이터베이스 레코드를 HTML 마크 업으로 출력 할 때 ['htmlspecialchars'] (http://php.net/htmlspecialchars)를 사용해야합니다. –