Jump to content

Conditional not working


justin7410
Go to solution Solved by justin7410,

Recommended Posts

Hey Guys, Im trying to create a registration page, that will have some validations and then register my user into my DB.

 

I am fairly new to this and i am following a tutorial.

 

long story short i created my own custom registration form and now i want to POST to it after i click the submit button.

 

as you will see below :

 

my action is set to register.php ( which is the page you see right now ); and my method is set to "POST";

<?php include('include/init.php'); 
 include('include/header.php'); 

 if (empty($_POST) === false) {
echo 'Form submitted!';
}
?>


                                            <div style="width: auto; height: 5px;"></div>
<div class="mainContent">


<h1>Create an Account</h1>
<p>It's free, easy and it'll give you access to all the features of our webstie including <a href="#">forum</a> access. To join the club, just fill out the basic account info below! <span style="color:#FF0000">(All fields required)</span></p>




<div id="login_right_register" style="float:left;">
    <table style="margin-left:10px; margin-top:10px; margin-bottom:10px;">
    <form name="register" action="register.php" method="post"></form>


    <tbody><tr>
    <td class="register_td_left"><span class="">Email Address:</span></td>
    <td class="register_td_right" colspan="2"><input type="email" name="register_email" size="35" maxlength="50" value=""></td>
    </tr>
    <tr><td class="register_td_left"></td><td class="extra_data" colspan="2"><font color="#FFCC00" style="background-color:#000000; text-decoration:blink;"><b> Validation Required </b></font></td></tr>
    
    <tr>
     <td class="register_td_left"><span class="">Username:</span></td>
<td class="register_td_right" colspan="2"><input type="text" name="register_username" size="35" maxlength="15" value=""></td>
    </tr>
    <tr>
     <td class="register_td_left"></td>
        <td class="extra_data" colspan="2">Your username can only contain letters A-Z or numbers 0-9</td>
    </tr>
    
    <tr>
<td class="register_td_left"><span class="">Password:</span></td>
<td class="register_td_right" colspan="2"><input type="password" name="password" size="35" maxlength="15" class="password"></td>
    </tr>
    
    <tr>
<td class="register_td_left"><span class="">Confirm Pass:</span></td>
<td class="register_td_right" colspan="2"><input type="password" name="confirm_pass" size="35" maxlength="15"></td>
    </tr>
    <tr>
     <td class="register_td_left"></td><td class="extra_data2" colspan="2"> </td>
</tr>
    
    <tr>
<td class="register_td_left"><span class="">Gender:</span></td>
    <td class="register_td_right" colspan="2">
<input id="male" name="gender" type="radio" value="m"><label for="male"> Male</label>   
<input id="female" name="gender" type="radio" value="f"><label for="female"> Female</label> 
    </td>
    </tr>
    <tr>
     <td class="register_td_left"></td><td class="extra_data2" colspan="2"> </td>
</tr>
    
    <tr>
<td class="register_td_left"><span class="">Date of Birth:</span></td>
    <td class="register_td_right" colspan="2"><select name="month" id="month" style="width:100px"><option value="">---</option><option value="1">January</option><option value="2">February</option><option value="3">March</option><option value="4">April</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">August</option><option value="9">September</option><option value="10">October</option><option value="11">November</option><option value="12">December</option></select><select name="day" id="day" style="width:45px"><option value="">---</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select><select name="reg-year" id="reg-year" style="width:60px"><option value="">---</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option><option value="1939">1939</option><option value="1938">1938</option><option value="1937">1937</option><option value="1936">1936</option><option value="1935">1935</option><option value="1934">1934</option><option value="1933">1933</option><option value="1932">1932</option><option value="1931">1931</option><option value="1930">1930</option><option value="1929">1929</option><option value="1928">1928</option><option value="1927">1927</option><option value="1926">1926</option><option value="1925">1925</option><option value="1924">1924</option><option value="1923">1923</option><option value="1922">1922</option><option value="1921">1921</option><option value="1920">1920</option><option value="1919">1919</option><option value="1918">1918</option><option value="1917">1917</option><option value="1916">1916</option><option value="1915">1915</option><option value="1914">1914</option><option value="1913">1913</option><option value="1912">1912</option><option value="1911">1911</option><option value="1910">1910</option><option value="1909">1909</option><option value="1908">1908</option><option value="1907">1907</option><option value="1906">1906</option><option value="1905">1905</option><option value="1904">1904</option><option value="1903">1903</option><option value="1902">1902</option><option value="1901">1901</option><option value="1900">1900</option><option value="1899">1899</option><option value="1898">1898</option><option value="1897">1897</option><option value="1896">1896</option></select></td>
    </tr>
<tr>
     <td class="register_td_left"></td><td class="extra_data2" colspan="2"> </td>
</tr>
    
   <tr>
    <td class="register_td_left2"><span class="">Security Code:</span></td>
    <td valign="middle" style="padding-left:2px"><input id="security_code" name="security_code" type="text" maxlength="6" size="7"></td>
    <td align="left" valign="middle"><img src="/includes/security_captcha/CaptchaSecurityImages.php?pcode=752017" alt="Your Security Code"></td>
    </tr>


     <!-- <tr>
    <td class="register_td_left"></td><td class="extra_data2" colspan="2">
    <input id="agreement" type="checkbox" name="agreement" checked="unchecked" value="agree">
    <label for="agreement"> - <span class="">I agree to the </span></label><a href="/terms_of_use.php" target="_blank">terms of use</a>.
    </td>
    </tr> -->
    
    <tr><td class="register_td_left"></td><td class="extra_data2" colspan="2"><input type="submit" class="pbutton" name="register" value="Register"></td></tr>
    </tbody></table>
    
</div>




</div>


<?php include('include/footer.php') ?>
 

 

Now I set up the conditional for the very first check to see if this is outputting my data :

 

 

 

 if (empty($_POST) === false) {
       echo 'Form submitted!';
}
 

now when i click SUBMIT nothing shows up on the page above the block , i am sure there is better logic to create the conditional , but for some reason while watching the tutorial it works perfectly for the instructor.

 

suggestions as to why my POST is not actually POSTING ? and i am getting no output ?

 

when the conditional is set to TRUE , before i submit it outputs to the screen.

 

thanks guys !

Edited by justin7410
Link to comment
Share on other sites

Hey PaulRyan,

 

thanks for the suggestion as usual.

 

I tried using what you suggested as the conditional , yet i am still outputting nothing when running the page.

 

can you explain as to what 

 

<?PHP
  if($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Do stuff
  }
?>
 

is doing as appose to what i had stated ?

Link to comment
Share on other sites

I tried your suggestion of changing the placement of the conditional , unfortunately that did not help. Whats weird is that this worked very briefly once ( conditional BETWEEN header.php and main content div)

and i thought perfect it worked. i changed the message and now i cant seem to figure out why ..

 

i have my errors showing all right now since I'm in production mode at the moment.

 

i am more than 100 percent positive that what you suggested might of not been the issue that stopping this from printing .

 

any other suggestions ? ( i tried clearing my cache, thinking something as simple as this was the problem) 

 

this is a big pain in the butt , since its not really letting me move forward with my registration page :(

Link to comment
Share on other sites

hey PR,

 

currently i am setup as so:( in my init.php )

 

 

 

error_reporting(E_ALL);
 ini_set("display_errors", 1);
 

im guessing this is correct right ? or am i not addressing this correctly ?

 

i see in you link i am missing a E_STRICT .. is that of much importance ??

Edited by justin7410
Link to comment
Share on other sites

Nope, that should do.

 

Am I right in saying your problem is that when you submit the form, nothing is showing up? I.E. the text in the conditional statement?

 

P.S. Could you post the content on init.php and header.php?

Link to comment
Share on other sites

init.php

session_start();


error_reporting(E_ALL | E_STRICT);
 ini_set("display_errors", 1);


require ('core/database/dbconnect.php');
require ('core/functions/general.php');
require ('core/functions/users.php');
require 'core/queries/dbqueries.php';


if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email');
if (user_active($user_data['username']) === false){
session_destroy();
header('Location: index.php');
exit();
}
}


$errors = array();
 

 

header.php

<!DOCTYPE html>
<div>
<head>
<title>TITLE</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="#">
<meta name="keywords" content="#">
<meta name="description" content="#">
<meta name="robots" content="#">
<meta name="revisit-after" content="7 days">
<link href="css/style.css" rel="stylesheet" type="text/css">
<link href="css/normalize.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jscript/sidebar.js"></script>
<script type="text/javascript" src="jscript/mootools.js"></script>


<body>
<!--<div id="fb-root"></div>              // LOG IN USING FACEBOOK
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId="#";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div style="width:1000px; margin:auto;">


</div> -->


<div class="top">


<?php // include('include/socialmedia.php'); // this is just a bunch of iframes for social media like us tabs.

 

ok so the problem is fairly simple, when i click submit on my form . it should echo form submitted with the conditional applied. except when i click submit , nothing seems to happen

 

when i change my conditional to TRUE , my echo statement prints to the screen no problem .

 

so my conditional of if (empty($_POST) === false) does not seem to be doing the trick .

 

but as i stated before, it did work very briefly the first time i attempted to submit.

 

any ides /?

Link to comment
Share on other sites

The code you want to have on your page should definitely go above the header.php include part.

This is to keep all processing above any output to the browser.

 

Place this code above the header include, but below init.php include.

 

 

  echo '<pre>';
  print_r($_POST);
  echo '</pre>';

 

Then check the output of that before and after form submission.

Link to comment
Share on other sites

i understand the logic for what your saying about the postion of the php code.

 

all i was stating was that the code should still output the POST onto the page regardless of the position( to my understanding)

 

anyway,

 

i dd what you suggested and placed it in between the init and header. 

 

i then created this code :

 

 if (empty($_POST) === false) {
 echo '<pre>';
  print_r($_POST);
  echo '</pre>';
}

i then refreshed and clicked on the submit button to get the action . and nothing was outputted .

 

i just cant seem to figure out why this is happening :(

Link to comment
Share on other sites

  • Solution

Hey Guys,

 

so i think i figured out the problem and the solution

 

 

in my form :

 

 

 

<form name="register" action="register.php" method="post"></form>

i ended up closing the form before the fields .

 

i then changed it to close the form at the end of the fields:

 

 

<tr><td class="register_td_left"></td><td class="extra_data2" colspan="2"><input class="register-button" type="submit" name="register" value="Register my FREE account"></td></tr>
    </tbody></table></form>

this seem to do the trick . i now can view the entire array being posted with the Print_R and <pre> tags

 

thanks for the help though PR, much appreciated

Link to comment
Share on other sites

if(isset($_POST['submit']) && 'Submit' == $_POST['submit'])
 {
   $post_array = array();

   if(empty($_POST['value'])) 
     {
       $post_array[] = 'text empty value';
     }
   else
     {
       $_POST['value'] = mysql_real_escape_string($_POST['value']);
     }
   if(sizeof($post_array)> 0)
     {
       foreach($post_array as $new_array);
       echo $new_array;
     }
 } 

 

hope its help to add your conditional logic.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.