Redirection in PHP

Discussion in 'PHP' started by moeen, Nov 5, 2007.

  1. #1
    Will anyone please tell me the redirection code in PHP. That is at particular point, page is redirected to another page.
     
    moeen, Nov 5, 2007 IP
  2. nico_swd

    nico_swd Prominent Member

    Messages:
    4,153
    Likes Received:
    344
    Best Answers:
    18
    Trophy Points:
    375
    #2
    
    <?php
    header('Location: http://www.example.com/');
    ?>
    
    PHP:
    Note: You have to send the header BEFORE ANY output is sent to the browser. No white spaces or HTML can be sent, before executing this line.
     
    nico_swd, Nov 5, 2007 IP
  3. moeen

    moeen Well-Known Member

    Messages:
    232
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    108
    #3
    Is there any other code that force redirect the page after executing some code to another page?
     
    moeen, Nov 5, 2007 IP
  4. bobb1589

    bobb1589 Peon

    Messages:
    289
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    0
    #4
    you could echo a meta redirect
     
    bobb1589, Nov 5, 2007 IP
  5. moeen

    moeen Well-Known Member

    Messages:
    232
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    108
    #5
    I never learned PHP and trying to edit an existing code. I am successful in that except page is not redirecting as I want. Please give me exact redirection code.
     
    moeen, Nov 5, 2007 IP
  6. nico_swd

    nico_swd Prominent Member

    Messages:
    4,153
    Likes Received:
    344
    Best Answers:
    18
    Trophy Points:
    375
    #6
    This is the exact redirection code...........


    Post your code if you need help.
     
    nico_swd, Nov 5, 2007 IP
  7. moeen

    moeen Well-Known Member

    Messages:
    232
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    108
    #7
    <?php


    require_once('../config/tce_config.php');

    require_once('../../shared/code/tce_authorization.php');

    $thispage_title = $l['t_user_editor'];
    require_once('../code/register_header.php');

    require_once('../../shared/code/tce_functions_form.php');

    $userid = $_SESSION['session_user_id'];
    $userip = $_SESSION['session_user_ip'];
    $userlevel = $_SESSION['session_user_level'];

    if (isset($_REQUEST['user_level'])) {
    // you cannot create a user with a level higher than yours
    $user_level = min($_SESSION['session_user_level'],$_REQUEST['user_level']);
    }

    switch($menu_mode) { // process submited data

    case "delete":{
    F_stripslashes_formfields(); // ask confirmation
    F_print_error("WARNING", $l['m_delete_confirm']);
    ?>
    <div class="confirmbox">
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data" id="form_delete">
    <div>

    <input type="hidden" name="user_id" id="user_id" value="<?php echo $user_id; ?>" />
    <input type="hidden" name="user_name" id="user_name" value="<?php echo stripslashes($user_name); ?>" />
    <?php
    F_submit_button("forcedelete", $l['w_delete'], $l['h_delete']);
    F_submit_button("cancel", $l['w_cancel'], $l['h_cancel']);
    ?>
    </div>
    </form>
    </div>
    <?php
    break;
    }

    case "forcedelete":{
    F_stripslashes_formfields(); // Delete specified user
    if($forcedelete == $l['w_delete']) { //check if delete button has been pushed (redundant check)
    if($user_id==1) { //can't delete anonymous user
    F_print_error("WARNING", $l['m_delete_anonymous']);
    }
    else {
    $sql = "DELETE FROM ".K_TABLE_USERS." WHERE user_id=".$user_id."";
    if(!$r = F_db_query($sql, $db)) {
    F_display_db_error(false);
    } else {
    $user_id=FALSE;
    F_print_error("MESSAGE", "[".stripslashes($user_name)."] ".$l['m_user_deleted']);
    }
    }
    }
    break;
    }

    case "update":{ // Update user
    if($formstatus = F_check_form_fields()) {
    // check if name is unique
    if(!F_check_unique(K_TABLE_USERS, "user_name='".$user_name."'", "user_id", $user_id)) {
    F_print_error("WARNING", $l['m_duplicate_name']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    // check if registration number is unique
    if(isset($user_regnumber) AND (strlen($user_regnumber) > 0) AND (!F_check_unique(K_TABLE_USERS, "user_regnumber='".$user_regnumber."'", "user_id", $user_id))) {
    F_print_error("WARNING", $l['m_duplicate_regnumber']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    // check if ssn is unique
    if(isset($user_ssn) AND (strlen($user_ssn) > 0) AND (!F_check_unique(K_TABLE_USERS, "user_ssn='".$user_ssn."'", "user_id", $user_id))) {
    F_print_error("WARNING", $l['m_duplicate_ssn']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    // check password
    if(!empty($newpassword) OR !empty($newpassword_repeat)) {
    if($newpassword == $newpassword_repeat) {
    $user_password = md5($newpassword);
    }
    else { //print message and exit
    F_print_error("WARNING", $l['m_different_passwords']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    }

    $sql = "UPDATE ".K_TABLE_USERS." SET
    user_regdate='".$user_regdate."',
    user_ip='".$user_ip."',
    user_name='".$user_name."',
    user_email=".F_empty_to_null($user_email).",
    user_password='".$user_password."',
    user_regnumber=".F_empty_to_null($user_regnumber).",
    user_firstname=".F_empty_to_null($user_firstname).",
    user_lastname=".F_empty_to_null($user_lastname).",
    user_birthdate=".F_empty_to_null($user_birthdate).",
    user_birthplace=".F_empty_to_null($user_birthplace).",
    user_ssn=".F_empty_to_null($user_ssn).",
    user_level='".$user_level."'
    WHERE user_id=".$user_id."";
    if(!$r = F_db_query($sql, $db)) {
    F_display_db_error(false);
    } else {
    F_print_error("MESSAGE", $user_name.": ".$l['m_user_updated']);
    }
    // delete previous groups
    $sql = "DELETE FROM ".K_TABLE_USERGROUP."
    WHERE usrgrp_user_id=".$user_id."";
    if(!$r = F_db_query($sql, $db)) {
    F_display_db_error(false);
    }
    // update user's groups
    if (!empty($user_groups)) {
    foreach ($user_groups as $group_id) {
    $sql = "INSERT INTO ".K_TABLE_USERGROUP." (
    usrgrp_user_id,
    usrgrp_group_id
    ) VALUES (
    '".$user_id."',
    '".$group_id."'
    )";
    if(!$r = F_db_query($sql, $db)) {
    F_display_db_error(false);
    }
    }
    }
    }
    break;
    }

    case "add":{ // Add user
    if($formstatus = F_check_form_fields()) { // check submittef form fields
    // check if name is unique
    if(!F_check_unique(K_TABLE_USERS, "user_name='".$user_name."'")) {
    F_print_error("WARNING", $l['m_duplicate_name']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    // check if registration number is unique
    if(isset($user_regnumber) AND (strlen($user_regnumber) > 0) AND (!F_check_unique(K_TABLE_USERS, "user_regnumber='".$user_regnumber."'"))) {
    F_print_error("WARNING", $l['m_duplicate_regnumber']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    // check if ssn is unique
    if(isset($user_ssn) AND (strlen($user_ssn) > 0) AND (!F_check_unique(K_TABLE_USERS, "user_ssn='".$user_ssn."'"))) {
    F_print_error("WARNING", $l['m_duplicate_ssn']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    // check password
    if(!empty($newpassword) OR !empty($newpassword_repeat)) {// update password
    if($newpassword == $newpassword_repeat) {
    $user_password = md5($newpassword);
    } else { //print message and exit
    F_print_error("WARNING", $l['m_different_passwords']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }
    } else { //print message and exit
    F_print_error("WARNING", $l['m_empty_password']);
    $formstatus = FALSE; F_stripslashes_formfields();
    break;
    }

    $user_ip = $_SERVER['REMOTE_ADDR']; // get the user's IP number
    $user_regdate = date(K_TIMESTAMP_FORMAT); // get the registration date and time

    $sql = "INSERT INTO ".K_TABLE_USERS." (
    user_regdate,
    user_ip,
    user_name,
    user_email,
    user_password,
    user_regnumber,
    user_firstname,
    user_lastname,
    user_birthdate,
    user_birthplace,
    user_ssn,
    user_level
    ) VALUES (
    '".$user_regdate."',
    '".$user_ip."',
    '".$user_name."',
    ".F_empty_to_null($user_email).",
    '".$user_password."',
    ".F_empty_to_null($user_regnumber).",
    ".F_empty_to_null($user_firstname).",
    ".F_empty_to_null($user_lastname).",
    ".F_empty_to_null($user_birthdate).",
    ".F_empty_to_null($user_birthplace).",
    ".F_empty_to_null($user_ssn).",
    '".$user_level."'
    )";
    if(!$r = F_db_query($sql, $db)) {
    F_display_db_error(false);
    } else {
    $user_id = F_db_insert_id($db, K_TABLE_USERS, 'user_id');
    }
    // add user's groups
    if (!empty($user_groups)) {
    foreach ($user_groups as $group_id) {
    $sql = "INSERT INTO ".K_TABLE_USERGROUP." (
    usrgrp_user_id,
    usrgrp_group_id
    ) VALUES (
    '".$user_id."',
    '".$group_id."'
    )";
    if(!$r = F_db_query($sql, $db)) {
    F_display_db_error(false);
    }
    }
    }
    header('Location: http://www.mysite.com/directory/');
    }
    break;
    }



    case "clear":{ // Clear form fields
    $user_regdate = "";
    $user_ip = "";
    $user_name = "";
    $user_email = "";
    $user_password = "";
    $user_regnumber = "";
    $user_firstname = "";
    $user_lastname = "";
    $user_birthdate = "";
    $user_birthplace = "";
    $user_ssn = "";
    $user_level = "";
    break;
    }

    default :{
    break;
    }

    } //end of switch

    // --- Initialize variables
    if($formstatus) {
    if (($menu_mode != $l['w_clear']) AND ($menu_mode != unhtmlentities($l['w_clear']))) {
    if(!isset($user_id) OR empty($user_id)) {
    $sql = "SELECT * FROM ".K_TABLE_USERS." ORDER BY user_name LIMIT 1";
    }
    else {
    $sql = "SELECT * FROM ".K_TABLE_USERS." WHERE user_id=".$user_id." LIMIT 1";
    }
    if($r = F_db_query($sql, $db)) {
    if($m = F_db_fetch_array($r)) {
    $user_id = $m['user_id'];
    $user_regdate = $m['user_regdate'];
    $user_ip = $m['user_ip'];
    $user_name = $m['user_name'];
    $user_email = $m['user_email'];
    $user_password = $m['user_password'];
    $user_regnumber = $m['user_regnumber'];
    $user_firstname = $m['user_firstname'];
    $user_lastname = $m['user_lastname'];
    $user_birthdate = $m['user_birthdate'];
    $user_birthplace = $m['user_birthplace'];
    $user_ssn = $m['user_ssn'];
    $user_level = $m['user_level'];
    }
    else {
    $user_regdate = "";
    $user_ip = "";
    $user_name = "";
    $user_email = "";
    $user_password = "";
    $user_regnumber = "";
    $user_firstname = "";
    $user_lastname = "";
    $user_birthdate = "";
    $user_birthplace = "";
    $user_ssn = "";
    $user_level = "";
    }
    }
    else {
    F_display_db_error();
    }
    }
    }
    ?>

    <div class="container">

    <div class="tceformbox">
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data" id="form_usereditor">

    <noscript>
    <div class="row">
    <span class="label">&nbsp;</span>
    <span class="formw">
    <input type="submit" name="selectrecord" id="selectrecord" value="<?php echo $l['w_select']; ?>" />
    </span>
    </div>
    </noscript>

    <div class="row"><hr /></div>

    <div class="row">
    <span class="label">
    <label for="user_name"><?php echo $l['w_username']; ?></label>
    </span>
    <span class="formw">
    <input type="text" name="user_name" id="user_name" size="20" maxlength="255" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="user_email"><?php echo $l['w_email']; ?></label>
    </span>
    <span class="formw">
    <input type="hidden" name="x_user_email" id="x_user_email" value="^([a-zA-Z0-9_\.\-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$" />
    <input type="hidden" name="xl_user_email" id="xl_user_email" value="<?php echo $l['w_email']; ?>" />
    <input type="hidden" name="user_password" id="user_password" value="<?php echo $user_password; ?>" />
    <input type="text" name="user_email" id="user_email" size="20" maxlength="255" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="newpassword"><?php echo $l['w_password']; ?></label>
    </span>
    <span class="formw">
    <input type="password" name="newpassword" id="newpassword" size="20" maxlength="255" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="newpassword_repeat"><?php echo $l['w_password']; ?></label>
    </span>
    <span class="formw">
    <input type="password" name="newpassword_repeat" id="newpassword_repeat" size="20" maxlength="255" />
    </span>
    </div>



    <input type="hidden" name="user_regdate" id="user_regdate" />



    <input type="hidden" name="user_ip" id="user_ip" value="<?php echo $user_ip; ?>" />



    <input type="hidden" name="user_level" id="user_level" value="1">



    <input type="hidden" name="user_regnumber" id="user_regnumber"/>



    <div class="row">
    <span class="label">
    <label for="user_firstname"><?php echo $l['w_firstname']; ?></label>
    </span>
    <span class="formw">
    <input type="text" name="user_firstname" id="user_firstname" size="20" maxlength="255" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="user_lastname"><?php echo $l['w_lastname']; ?></label>
    </span>
    <span class="formw">
    <input type="text" name="user_lastname" id="user_lastname" size="20" maxlength="255" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="user_birthdate"><?php echo $l['w_birth_date']; ?></label>
    </span>
    <span class="formw">
    <input type="hidden" name="x_user_birthdate" id="x_user_birthdate" value="^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$" />
    <input type="hidden" name="xl_user_birthdate" id="xl_user_birthdate" value="<?php echo $l['w_birth_date']; ?>" />
    <input type="text" name="user_birthdate" id="user_birthdate" size="20" maxlength="10" title="<?php echo $l['h_birth_date']; ?> <?php echo $l['w_date_format']; ?>" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="user_birthplace"><?php echo $l['w_birth_place']; ?></label>
    </span>
    <span class="formw">
    <input type="text" name="user_birthplace" id="user_birthplace" size="20" maxlength="255" />
    </span>
    </div>

    <div class="row">
    <span class="label">
    <label for="user_ssn"><?php echo $l['w_fiscal_code']; ?></label>
    </span>
    <span class="formw">
    <input type="text" name="user_ssn" id="user_ssn" size="20" maxlength="255" />
    </span>
    </div>





    <input type="hidden" id="user_groups" value="Free Users">





    <div class="row">

    <input type="submit" name="add" id="add" value="Add" title="adds current record to database" />


    <!-- comma separated list of required fields -->
    <input type="hidden" name="ff_required" id="ff_required" value="user_name" />
    <input type="hidden" name="ff_required_labels" id="ff_required_labels" value="<?php echo htmlspecialchars($l['w_name'], ENT_COMPAT, $l['a_meta_charset']); ?>" />
    </div>

    </form>
    </div>

    <?
    require_once('../code/tce_page_footer.php');

    //============================================================+
    // END OF FILE
    //============================================================+
    ?>


    Above is the code. At red code place, I want this code to redirect.
     
    moeen, Nov 5, 2007 IP
  8. bobb1589

    bobb1589 Peon

    Messages:
    289
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    0
    #8
    <?php

    echo "<meta http-equiv=\"refresh\" content=\"0;url=pagetoberedirected\">";

    ?>
     
    bobb1589, Nov 5, 2007 IP
  9. moeen

    moeen Well-Known Member

    Messages:
    232
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    108
    #9
    I think this code will not serve my purpose. It for general page redirection without execution of any code.
     
    moeen, Nov 5, 2007 IP
  10. bobb1589

    bobb1589 Peon

    Messages:
    289
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    0
    #10
    no that will work... just put wherever you want the page to redirect to after the url=
     
    bobb1589, Nov 5, 2007 IP
  11. moeen

    moeen Well-Known Member

    Messages:
    232
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    108
    #11
    Including

    header('Location: http://www.mysite.com/directory/');

    gives following error.

    ERROR: [2] Cannot modify header information - headers already sent by (output started at /_______.php:52)
     
    moeen, Nov 5, 2007 IP
  12. bobb1589

    bobb1589 Peon

    Messages:
    289
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    0
    #12
    USE THIS

    echo "<meta http-equiv=\"refresh\" content=\"0;url=http://www.mysite.com/directory\">";

    IT WILL WORK
     
    bobb1589, Nov 5, 2007 IP
  13. moeen

    moeen Well-Known Member

    Messages:
    232
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    108
    #13
    But it is header information. Will it not cause page to redirect without execution of code?

    Also should I include at place of red line on above code?
     
    moeen, Nov 5, 2007 IP
  14. nico_swd

    nico_swd Prominent Member

    Messages:
    4,153
    Likes Received:
    344
    Best Answers:
    18
    Trophy Points:
    375
    #14
    Place exit(); right under the line above. This will stop the execution of the code below.
     
    nico_swd, Nov 5, 2007 IP