2014-11-18 6 views
0

Я новичок в этом, я создаю сайт с корзиной покупок. У меня есть главная страница входа, которая уже перенаправляет пользователей на домашнюю страницу, если они пытаются войти с этой страницы, никаких проблем с этим. Однако у меня есть другая страница (страница проверки), которая направляет пользователей на страницу входа в систему, если они выбрали элемент для покупки, но еще не вошли в систему, после входа с этой страницы он генетически перенаправляется на главную страницу. Как это сделать, чтобы вернуться на страницу проверки, если пользователи входят в систему здесь?Как перенаправить на другую страницу после входа в систему

if (count($_SESSION['prodquan']) != 0) 
{ 
    print "<table border='1' align='center' width='50%'>"; 
    print "<tr><td colspan='5' style='color:red'>"; 
    if (isset($_SESSION['username'])) print 'Hello ' . $_SESSION['username']; 
    print "</td></tr>"; 
    print "<caption style='font-size:20;color:red'>Shopping Cart</caption>"; 
    print "<tr>"; 
    print "<td>Product Id</td><td>Product Description</td><td>Quantity</td><td>Price</td><td>Cost</td></tr>"; 
    foreach ($_SESSION['prodquan'] as $prod=>$quan) 
    { 
     $query = "select productdescription, price from product where productid = $prod"; 
     $result = mysqli_query($conn, $query); 
     $row = mysqli_fetch_array($result); 
     $cost = $row[1]*$quan; 
     print "<tr><td>$prod</td><td>$row[0]</td><td>$quan</td><td>$row[1]</td><td>$cost</td></tr>"; 
     $_SESSION['totalcost'] += $cost; 
     mysqli_free_result($result); 
    } 
    print "<tr align='right'><td colspan='4'>Total Cost:</td><td>" . $_SESSION['totalcost'] . "</td></tr>"; 
    print "</table>"; 
    print "<table border='0' width='50%' align='center'>"; 
    print "<tr rowspan='2'>"; 
    print "<td align='center'><a href='checkout.php?payment=yes'>Payment</a>&nbsp&nbsp<a href='validpage.php'>Products</a>&nbsp&nbsp<a href='logout.php'>logout</a></td>"; 
    print "</tr>"; 
    print "</table>"; 
} 
else 
{ 
    $errormessage = " The shopping cart is empty"; 
    header("location:validpage.php?errormsg=$errormessage"); 
    exit(); 
} 

if (@$_GET['payment'] == "yes") 
{ 
    if (!isset($_SESSION['username'])) 
    { 
     $errormessage = "Please login"; 
     header("location:http://localhost/shoppingcart/?page_id=5?errormsg=$errormessage"); 
     exit(); 
    } 
    //$_SESSION['payment'] = "yes"; 
    print "<td align='center'><a href='checkout.php?credit=yes'>Credit Card</a>&nbsp&nbsp<a href='checkout.php?cheque=yes'>Cheque</a>&nbsp&nbsp<a href='checkout.php?american=yes'>American Express</a></td>"; 
    //unset($_GET['payment']); 
} 

Большое спасибо

ответ

1

Вы можете использовать $_SERVER['HTTP_REFERER'], чтобы проверить, если пользователь приходит из CHECKOUT страницы

В СИСТЕМУ ПААГ

if(!empty($_SERVER['HTTP_REFERER'])){ 
if($_SERVER['HTTP_REFERER']) == 'YOUR CHECKOUT URL') 
    //REDIRECT to CHECKOUT ie $_SERVER['HTTP_REFERER'] 
else 
    //NORMAL HOME PAGE REDIRECT 
} 
0

Просто передайте переменная вместе с вашим первоначальным перенаправлением на страницу входа в систему, что-то вроде :

header('Location : /login?intent=/checkout/'); 

затем на странице входа в систему вы можете либо сохранить $ _GET [ «намерение»] на сессии, или сохранить его как скрытое поле в форму:

<form method="POST" action="/login"> 
    <input type="hidden" name="intent" value="<?php echo !empty($_GET['intent']) ? htmlentities($_GET['intent']) : '/'; ?>" /> 
    <input type="text" name="email" /> 
    <input type="password" name="password" /> 
    <input type="submit" value="Login" /> 
</form> 

Тогда, в ваш код обработки формы:

if (!empty($_GET['intent']) { 
    header('Location: ' . $_GET['intent']); 
} 
0

Вы, ребята, чемпионы! :-) Я пошел с CodingAnt, потому что коды выглядят проще, так как я только начинаю, но спасибо за ваш вклад Джонатан. Cheers

Смежные вопросы