Τετάρτη 14 Ιουλίου 2010

How to redirect back to previous page | PHP Session

Ψάχνοντας έναν τρόπο σε PHP να ανακατευθύνω τους χρήστες στην προηγούμενη ιστοσελίδα, όταν εκτελείται επιτυχώς μια συνθήκη, κατέληξα ότι με τη χρήση session μπορεί να γίνει εύκολα και γρήγορα.

Η διαδικασία είναι η εξής απλή:

Στην αρχική σελίδα (σε αυτήν δηλαδή που θέλουμε να επιστρέψουμε), μετά το

<?php

γράφουμε

session_start();

ώστε να ξεκινήσει το session. Στη συνέχεια φτιάχνουμε τη session μεταβλητή μας, url, και της περνάμε σαν τιμή τη διεύθυνση της σελίδας (π.χ. το /index.html), μετά από το αίτημα στο web server.

$_SESSION['url']=$_SERVER['REQUEST_URI'];


Πάμε τώρα στη δεύτερη σελίδα, και γράφουμε πάλι

session_start();


μετά το <?php ,ώστε να συνεχιστεί το
session. Το μόνο που θα χρειαστεί να κάνουμε τώρα είναι να περάσουμε τη session μεταβλητή, σε μια απλή, και στη συνέχεια με τη χρήση HTML να γίνει η ανακατεύθυνση.

$url = $_SESSION['url'];
echo "<meta http-equiv=\"Refresh\" Content=\"0; URL=$url\">";

Εννοείται πως με αυτό το παράδειγμα μπορείτε να πάτε σε οποιαδήποτε σελίδα ορίσετε και όχι μόνο στην προηγούμενη.