Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 10 of 10
  1. #1
    New Coder
    Join Date
    Jun 2012
    Posts
    18
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Header() not working as i like

    Hi all,

    I am trying to get my header() to work on my page, but all it does is redirect me instantly as i enter the page or give me an error.

    My current code redirects me automatically when i open the page. What am I doing wrong? I've read serveral online docs and they all give me the same code to use. As i implemented, but i am not getting the reaction i want.

    Here is my code:

    PHP Code:
    <?
    session_start
    ();
    #header('Cache-control: private');
    ini_set('display_errors',1);
    ini_set('display_startup_errors',1);
    error_reporting (E_ALL);

    # doorsturen naar persoonlijke_home.php
    header('Location: http://www.discreet-daten.nl/Test/PHP/persoonlijke_home.php'); 
    exit;
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">

    <head>
        <title>Discreet daten.nl | Home</title>
        
        <link href="fonts_ff.css" rel=stylesheet type="text/css">

        <!--[if gt IE 4]>
        <link href="fonts_ie60.css" rel=stylesheet type="text/css">
        <![endif]-->

        <!--[if IE 8]>
        <link href="fonts_ie80.css" rel=stylesheet type="text/css">
        <![endif]-->

        <script language="JavaScript" src="bron.js"><!-- //--></script>
        <script language="JavaScript" src="scripts.js"><!-- //--></script>
    </head>

    <body style="margin:0;">
    <div class="container">
        <div class="header">Header</div>
        <div class="body">
        <img class="img_bckgrnd" src="Plaatjes/background.gif" alt="">
        <div class="kolom_links">
            Welkom,<br>
            Op de website van discreet-daten.<br>
            Bij ons kunt u op een vernieuwde manier op zoek gaan naar een sexdate.<br>
            Maak een gratis account aan, ontvang gratis credits en ga op zoek naar jouw match.<br>
            U betaald bij ons niet per minuut dat u online bent, maar voor handelingen die u uitvoert.<br>
            Veel plezier,<br>
            Het discreet-daten team.
        </div>
        <div class="kolom_midden">
            <!-- 2do: koppeling aanmaken naar gratis zoek pagina //-->
            &nbsp;
        </div>
        <div class="kolom_rechts">
            
            <?
            $vk 
    = @mysql_pconnect('localhost''****''****')
            or die (
    'Verbinding maken met MySQL-server is mislukt!');
            @
    mysql_select_db('****'$vk)
            or die (
    'Verbinding maken met de database is mislukt!');
        
            
    # Declareer variabelen
            
    $nickname "";
            
    $wachtwoord "";
            
            function 
    show_form_index($nickname=""$wachtwoord="")
            {
            
    ?>
            
            <form class="index_form" name="inlog" method="post" > <!-- action="index.php" //-->
            <fieldset>
                <div class="inl_inschr">
                Heeft u nog geen account bij ons? Schrijf u dan gratis in bij ons.
                <a href="basisgegevens.php" title="Account aanmaken">Ik wil een account.</a>
                </div>
                <div class="inlog"><label for="inlognaam">Nickname: *</label></div>
                <div class="inlog_antw">
                <input type="text" id="inlognaam" name="nickname" value="<? echo $nickname ?>">
                </div>
                <div class="inlog"><label for="wachtwoord">Wachtwoord: *</label></div>
                <div class="inlog_antw">
                <input type="password" id="wachtwoord" name="wachtwoord" value="<? echo $wachtwoord ?>">
                </div>
                <div class="inlog_vergeten">
                <a href="ww_vergeten.php" title="Vraag uw wachtwoord op!">Wachtwoord vergeten?</a>
                </div>
                <div class="inlog_knop"><input type="submit" value="Login"></div>
            </fieldset>
            </form>
            
            <?
            
    }
            
            
    # Ken waardes toe aan de variabelen
            
    if(isset($_POST['nickname'])) { $nickname $_POST['nickname']; }
            if(isset(
    $_POST['wachtwoord'])) { $wachtwoord $_POST['wachtwoord']; }
            
            
    # Database beveiliging
            
    function anti_injection($nickname$wachtwoord
            { 
            
    $verboden = array("insert""select""update""delete""distinct""having""truncate",
            
    "replace""handler""like""procedure""limit""order by""group by"); //mogelijk:, "asc", "desc", "as", "or"
        
            # Controleer variabele waarden
            
    if (preg_match('#^[a-z0-9]+$#i'$nickname))
            { 
    $nickname trim(str_replace($verboden'HACK'strtolower($nickname))); }
            else { 
    $nickname ''; echo "nickname:" .$nickname"<br>"; }
            
            if (
    preg_match('#^[a-z0-9]+$#i'$wachtwoord))
            { 
    $wachtwoord trim(str_replace($verboden'HACK'strtolower($wachtwoord))); }
            else { 
    $wachtwoord ''; echo "wachtwoord:" .$wachtwoord"<br>"; }
            
            
    # Array vullen en controleren
            
    $array = array('nickname'=>$nickname'wachtwoord'=>$wachtwoord);

            if (
    in_array('HACK'$array))
            {
                die (
    'Sorrij uw hackpoging is mislukt.');
            }
            else
            {
                return 
    $array;
            }        
            }
            
            
    //echo "isset<br>nickname: " .$nickname. ", ww: " .$wachtwoord;
            
            # Controleer of de variabelen leeg zijn.
            
    if(empty($nickname) && empty($wachtwoord))
            {
            
    show_form_index();
            }
            else
            {
            
    #################################################################
            #################################################################
            #                                #
            # - Controleer of alle variabelen een waarde hebben.        #
            # - Beveilig de database                    #
            #                                #
            #################################################################
            #################################################################
                
            
    if (empty($nickname) || empty($wachtwoord))
            {
                echo 
    "U heeft niet alle verplichte velden ingevuld! Probeert u het nog eens.";
                
    show_form_index($nickname$wachtwoord);
            }
            else
            {
                
    # Database beveiliging
                
    $invoer anti_injection($_POST['nickname'], $_POST['wachtwoord']);
            
                if ((
    $invoer['nickname'] == strtolower($nickname)) && ($invoer['wachtwoord'] == strtolower($wachtwoord)))
                {
                
                
    #########################################################
                #########################################################
                #                            #
                # Databasewerk:                        #
                # - controleer nickname tabel profiel_personalia    #
                # - controleer wachtwoord tabel profiel_inlog        #
                # - controleren of de queries goed zijn            #
                # - controleer gegevens                    #
                # - zet $_SESSION['login_status'] = '1'            #
                # - doorsturen naar persoonlijke_home.php        #
                #                            #
                #########################################################
                #########################################################
                
                
    $sql_query_select_personalia "SELECT nickname, prof_id FROM profiel_personalia WHERE nickname = '$nickname'";
                
    $result_select_personalia mysql_query($sql_query_select_personalia$vk);
                
                if (
    $result_select_personalia)
                {
                    while (
    $row_personalia mysql_fetch_object($result_select_personalia))
                    {    
                    
    $nickname = ($row_personalia -> nickname);
                    
    $prof_id = ($row_personalia -> prof_id);
                    }
                    
                    
    $sql_query_prof_inlog "SELECT wachtwoord FROM profiel_inlog WHERE prof_id = '$prof_id'";
                    
    $result_select_prof_inlog mysql_query($sql_query_prof_inlog$vk);
                    
                    if (
    $result_select_prof_inlog)
                    {
                    while (
    $row_ww_db mysql_fetch_object($result_select_prof_inlog))
                    {
                        
    $ww_db = ($row_ww_db -> wachtwoord);
                    }
                    
                    if (
    $ww_db == $wachtwoord)
                    {
                        
    # Verander de login status en activeer de header redirect
                        
    alert("U wordt doorgelinkt naar uw persoonlijke pagina.");
                        return;
                    }
                    else
                    {
                        
    # Foutmelding geven    en toon formulier
                        
    echo "Uw wachtwoord is incorrect!<br>Probeer het nog eens.";
                        
    show_form_index($nickname"");
                    }
                    }
                    else
                    {
                    
    # Foutmelding geven en toon database error
                    
    echo "<p>Er is een fout opgetreden in de werking van de pagina!!</p>
                        <p>U kunt een e-mail sturen naar
                        <a href='mailto:tryclopswebdesign@live.nl' title='Mail de webmaster'>tryclopswebdesign@live.nl</a>
                        om te melden dat er een fout is opgetreden.</p>"
    ;
                    
                    
    // echo "query_prof_inlog: " .$sql_query_prof_inlog. "<br>result_prof_inlog: " .$result_select_prof_inlog ;
                    
    }
                }
                else
                {
                    
    # Foutmelding geven en toon formulier
                    
    echo "De door uw opgegeven nickname bestaat niet!<br>Probeer het nog eens.";
                    
    show_form_index("""");
                }
                }
                else
                {
                
    # Foutmelding geven
                
    echo "<p>Er is een fout opgetreden in de werking van de pagina!!</p>
                <p>U kunt een e-mail sturen naar
                <a href='mailto:tryclopswebdesign@live.nl' title='Mail de webmaster'>tryclopswebdesign@live.nl</a>
                om te melden dat er een fout is opgetreden.</p>"
    ;
                
                
    # Controle verschil tussen anti-injectie vs ingevoerde variabele
                // echo "<br><b>N.B. Er zit ergens een foutje in de anti-injectie functie!!!!!</b>
                //<br>inv_nickname: " .$invoer['nickname']. ", nickname: " .strtolower($nickname).
                //"<br>inv_wachtwoord: " .$invoer['wachtwoord']. ", wachtwoord: " . strtolower($wachtwoord);
                
    }
            }
            }
            
    ?>
        </div>
        </div>
    </div>
    </body>
    </html>
    Thanks in advance.

  • #2
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,979
    Thanks
    4
    Thanked 2,659 Times in 2,628 Posts
    What is it you are wanting it to do? The code you have here:
    PHP Code:
    <?
    session_start
    ();
    #header('Cache-control: private');
    ini_set('display_errors',1);
    ini_set('display_startup_errors',1);
    error_reporting (E_ALL);

    # doorsturen naar persoonlijke_home.php
    header('Location: http://www.discreet-daten.nl/Test/PHP/persoonlijke_home.php'); 
    exit;
    ?>
    Is the *only* thing that executes since an EXIT is called after the location header. Removing the exit will allow the script to continue it's process, but with a Location header the output isn't really necessary since none of the output will be displayed anyway.
    PHP Code:
    header('HTTP/1.1 420 Enhance Your Calm'); 

  • #3
    Junsee
    Guest
    the page code tells the html page to redirect to
    http://www.discreet-daten.nl/Test/PH...lijke_home.php
    straight away

    if you want to control this I would use a if statement?

    PHP Code:
    if ( $ConditionRedirect == 1) {
     
    header(location ...);
     exit;

    if you're getting an header error, i would remove all spaces after the <? and before. There is also an error with documents saved in a certain way. that throw out a false header. You need to open this file in a hex editor and remove the preceding <?

    but I need to know what the error is before we understand the problem is

  • #4
    New Coder
    Join Date
    Jun 2012
    Posts
    18
    Thanks
    3
    Thanked 0 Times in 0 Posts
    My redirection by the header function is called upon the index.php page.

    The redirection has to be called upon when the account data has been checked and confirmed via the database.

    I hope this answers your question.

    Thanx on the advice on MySQL, i'll check on that one.

  • #5
    Junsee
    Guest
    no what I am saying is as soon as this page reaches this line

    header('Location: http://www.discreet-daten.nl/Test/PH...ome.php&#39;);
    it goes there.

    the "exit;" tells the rest of the script not to run!

    so the page will never load, because it is kicked out to 'persoonlijke_home.php'


    EDIT
    Yeah what I think you need is some confirmation code, which isn't there
    ... check user from database
    ... is row?

    if ( there is a user row == 1 ) {
    then use header and exit;
    }
    Last edited by Junsee; 04-08-2013 at 11:38 PM. Reason: add to

  • #6
    New Coder
    Join Date
    Jun 2012
    Posts
    18
    Thanks
    3
    Thanked 0 Times in 0 Posts
    @junsee: my answer of last night was intended for Fou-Lu. Your first reaction was in the time i was typing my reaction.

    The problem with placing the header in a if-statement is that it returns an error that there has allready been output.
    I tried in several ways to put the header() between the lines:

    PHP Code:
    if ($ww_db == $wachtwoord)
    {
         
    # Verander de login status en activeer de header redirect
          
    return;

    Besides i read several online articles on header() and they all say that the header() should be called as one the first things on your page.

  • #7
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,979
    Thanks
    4
    Thanked 2,659 Times in 2,628 Posts
    You'll need to restructure your code. All the processing will need to be handled *before* any output has occurred in order to use a header. That would be the preferred way of doing this.
    Or, you can cheat and add an ob_start(); at the start of the script.
    PHP Code:
    header('HTTP/1.1 420 Enhance Your Calm'); 

  • #8
    New Coder
    Join Date
    Jun 2012
    Posts
    18
    Thanks
    3
    Thanked 0 Times in 0 Posts
    @Fou-Lu:
    I don't like cheats. I like to programm the right way. So no ob_start() for me :-D

    Does this mean that I need to put the code in a function?
    And how do i call this function?
    Is that within the button code? If yes how do i do that?
    Last edited by lampie1978; 04-10-2013 at 09:32 AM.

  • #9
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,979
    Thanks
    4
    Thanked 2,659 Times in 2,628 Posts
    A function can be used, but the most important thing is the output. Headers cannot be sent after output is flushed, so if you've closed your PHP code and moved into HTML or issued an echo/print than the headers have been sent. You can return results or store in variables if you need to contain any information, but with a header for a location, these are not required (output will not actually occur that can be seen by the browser). So do all the processing logic you need to determine if you need a header, then continue with the rest of the code including output.
    PHP Code:
    header('HTTP/1.1 420 Enhance Your Calm'); 

  • #10
    New Coder
    Join Date
    Jun 2012
    Posts
    18
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Ok. Took me a little while due to other problems but i turned around the codes litteraly.
    I put the checking codes in a function called inloggen where the header also is inserted. But now my form with the inputfields aren't showing up.

    I think i made a mistake somewhere and that i made a loop in the code, but i cann't find it. So some help would be usefull.
    Here's the code:

    PHP Code:
    <?
    session_start
    ();
    #header('Cache-control: private');
    ini_set('display_errors',1);
    ini_set('display_startup_errors',1);
    error_reporting (E_ALL);

    function 
    inloggen($nickname$wachtwoord)
    {

            
        
    # Database beveiliging
        
    function anti_injection($nickname$wachtwoord
        { 
        
    $verboden = array("insert""select""update""delete""distinct""having""truncate",
        
    "replace""handler""like""procedure""limit""order by""group by"); //mogelijk:, "asc", "desc", "as", "or"
        
        # Controleer variabele waarden
        
    if (preg_match('#^[a-z0-9]+$#i'$nickname))
        { 
    $nickname trim(str_replace($verboden'HACK'strtolower($nickname))); }
        else { 
    $nickname ''; echo "nickname:" .$nickname"<br>"; }
            
        if (
    preg_match('#^[a-z0-9]+$#i'$wachtwoord))
        { 
    $wachtwoord trim(str_replace($verboden'HACK'strtolower($wachtwoord))); }
        else { 
    $wachtwoord ''; echo "wachtwoord:" .$wachtwoord"<br>"; }
            
        
    # Array vullen en controleren
        
    $array = array('nickname'=>$nickname'wachtwoord'=>$wachtwoord);

        if (
    in_array('HACK'$array))
        {
            die (
    'Sorrij uw hackpoging is mislukt.');
        }
        else
        {
            return 
    $array;
        }        
        }
            
        
    //echo "isset<br>nickname: " .$nickname. ", ww: " .$wachtwoord;
            
        # Controleer of de variabelen leeg zijn.
        
    if(empty($nickname) && empty($wachtwoord))
        {
        
    show_form_index();
        }
        else
        {
        
    #################################################################
        #################################################################
        #                                #
        # - Controleer of alle variabelen een waarde hebben.        #
        # - Beveilig de database                    #
        #                                #
        #################################################################
        #################################################################
                
        
    if (empty($nickname) || empty($wachtwoord))
        {
            echo 
    "U heeft niet alle verplichte velden ingevuld! Probeert u het nog eens.";
            
    show_form_index($nickname$wachtwoord);
        }
        else
        {
            
    # Database beveiliging
            
    $invoer anti_injection($_POST['nickname'], $_POST['wachtwoord']);
            
            if ((
    $invoer['nickname'] == strtolower($nickname)) && ($invoer['wachtwoord'] == strtolower($wachtwoord)))
            {
                
            
    #########################################################
            #########################################################
            #                            #
            # Databasewerk:                        #
            # - controleer nickname tabel profiel_personalia    #
            # - controleer wachtwoord tabel profiel_inlog        #
            # - controleren of de queries goed zijn            #
            # - controleer gegevens                    #
            # - zet $_SESSION['login_status'] = '1'            #
            # - doorsturen naar persoonlijke_home.php        #
            #                            #
            #########################################################
            #########################################################
                
            
    $sql_query_select_personalia "SELECT nickname, prof_id FROM profiel_personalia WHERE nickname = '$nickname'";
            
    $result_select_personalia mysql_query($sql_query_select_personalia$vk);
                
            if (
    $result_select_personalia)
            {
                while (
    $row_personalia mysql_fetch_object($result_select_personalia))
                {    
                
    $nickname = ($row_personalia -> nickname);
                
    $prof_id = ($row_personalia -> prof_id);
                }
                    
                
    $sql_query_prof_inlog "SELECT wachtwoord FROM profiel_inlog WHERE prof_id = '$prof_id'";
                
    $result_select_prof_inlog mysql_query($sql_query_prof_inlog$vk);
                    
                if (
    $result_select_prof_inlog)
                {
                while (
    $row_ww_db mysql_fetch_object($result_select_prof_inlog))
                {
                    
    $ww_db = ($row_ww_db -> wachtwoord);
                }
                    
                if (
    $ww_db == $wachtwoord)
                {
                    
    # Verander de login status en activeer de header redirect
                    # doorsturen naar persoonlijke_home.php
                    
    header('Location: http://www.discreet-daten.nl/Test/PHP/persoonlijke_home.php'); 

                }
                else
                {
                    
    # Foutmelding geven    en toon formulier
                    
    echo "Uw wachtwoord is incorrect!<br>Probeer het nog eens.";
                    
    show_form_index($nickname"");
                }
                }
                else
                {
                
    # Foutmelding geven en toon database error
                
    echo "<p>Er is een fout opgetreden in de werking van de pagina!!</p>
                    <p>U kunt een e-mail sturen naar
                    <a href='mailto:tryclopswebdesign@live.nl' title='Mail de webmaster'>tryclopswebdesign@live.nl</a>
                    om te melden dat er een fout is opgetreden.</p>"
    ;
                    
                
    // echo "query_prof_inlog: " .$sql_query_prof_inlog. "<br>result_prof_inlog: " .$result_select_prof_inlog ;
                
    }
            }
            else
            {
                
    # Foutmelding geven en toon formulier
                
    echo "De door uw opgegeven nickname bestaat niet!<br>Probeer het nog eens.";
                
    show_form_index("""");
            }
            }
            else
            {
            
    # Foutmelding geven
            
    echo "<p>Er is een fout opgetreden in de werking van de pagina!!</p>
                <p>U kunt een e-mail sturen naar
                <a href='mailto:tryclopswebdesign@live.nl' title='Mail de webmaster'>tryclopswebdesign@live.nl</a>
                om te melden dat er een fout is opgetreden.</p>"
    ;
                
            
    # Controle verschil tussen anti-injectie vs ingevoerde variabele
            // echo "<br><b>N.B. Er zit ergens een foutje in de anti-injectie functie!!!!!</b>
            //<br>inv_nickname: " .$invoer['nickname']. ", nickname: " .strtolower($nickname).
            //"<br>inv_wachtwoord: " .$invoer['wachtwoord']. ", wachtwoord: " . strtolower($wachtwoord);
            
    }
        }
        }
    }
    #exit;
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">

    <head>
        <title>Discreet daten.nl | Home</title>
        
        <link href="fonts_ff.css" rel=stylesheet type="text/css">

        <!--[if gt IE 4]>
        <link href="fonts_ie60.css" rel=stylesheet type="text/css">
        <![endif]-->

        <!--[if IE 8]>
        <link href="fonts_ie80.css" rel=stylesheet type="text/css">
        <![endif]-->

        <script language="JavaScript" src="bron.js"><!-- //--></script>
        <script language="JavaScript" src="scripts.js"><!-- //--></script>
    </head>

    <body style="margin:0;">
    <div class="container">
        <div class="header">Header</div>
        <div class="body">
        <img class="img_bckgrnd" src="Plaatjes/background.gif" alt="">
        <div class="kolom_links">
            Welkom,<br>
            Op de website van discreet-daten.<br>
            Bij ons kunt u op een vernieuwde manier op zoek gaan naar een sexdate.<br>
            Maak een gratis account aan, ontvang gratis credits en ga op zoek naar jouw match.<br>
            U betaald bij ons niet per minuut dat u online bent, maar voor handelingen die u uitvoert.<br>
            Veel plezier,<br>
            Het discreet-daten team.
        </div>
        <div class="kolom_midden">
            <!-- 2do: koppeling aanmaken naar gratis zoek pagina //-->
            &nbsp;
        </div>
        <div class="kolom_rechts">
            
            <?
            
    # Nieuwe connectiemethode
            # $mysqli = new mysqli("localhost", "*****", "*****", "******");
            
            # $result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
            # $row = $result->fetch_assoc();
            # echo htmlentities($row['_message']);

            # Oude connectiemethode
             
    $vk = @mysql_pconnect('localhost''*****''******')
                or die (
    'Verbinding maken met MySQL-server is mislukt!');
             @
    mysql_select_db('********'$vk)
                or die (
    'Verbinding maken met de database is mislukt!');
        
            
    # Declareer variabelen
            
    $nickname "";
            
    $wachtwoord "";
            
            function 
    show_form_index($nickname=""$wachtwoord="")
            {
            
    ?>
            
            <form class="index_form" name="inlog" method="post" > <!-- action="index.php" //-->
            <fieldset>
                <div class="inl_inschr">
                Heeft u nog geen account bij ons? Schrijf u dan gratis in bij ons.
                <a href="basisgegevens.php" title="Account aanmaken">Ik wil een account.</a>
                </div>
                <div class="inlog"><label for="inlognaam">Nickname: *</label></div>
                <div class="inlog_antw">
                <input type="text" id="inlognaam" name="nickname" value="<? echo $nickname ?>">
                </div>
                <div class="inlog"><label for="wachtwoord">Wachtwoord: *</label></div>
                <div class="inlog_antw">
                <input type="password" id="wachtwoord" name="wachtwoord" value="<? echo $wachtwoord ?>">
                </div>
                <div class="inlog_vergeten">
                <a href="ww_vergeten.php" title="Vraag uw wachtwoord op!">Wachtwoord vergeten?</a>
                </div>
                <div class="inlog_knop"><input type="submit" value="Login"></div>
            </fieldset>
            </form>
            
            <?
                
    # Ken waardes toe aan de variabelen
            
    if(isset($_POST['nickname'])) { $nickname $_POST['nickname']; }
            if(isset(
    $_POST['wachtwoord'])) { $wachtwoord $_POST['wachtwoord']; }
            
            
    inloggen($nickname$wachtwoord);
            }
            
    ?>
        </div>
        </div>
    </div>
    </body>
    </html>


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •