justin7410 Posted April 3, 2013 Share Posted April 3, 2013 (edited) 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 April 3, 2013 by justin7410 Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/ Share on other sites More sharing options...
PaulRyan Posted April 3, 2013 Share Posted April 3, 2013 <?PHP if($_SERVER['REQUEST_METHOD'] == 'POST') { // Do stuff } ?> Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422737 Share on other sites More sharing options...
justin7410 Posted April 3, 2013 Author Share Posted April 3, 2013 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 ? Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422743 Share on other sites More sharing options...
PaulRyan Posted April 3, 2013 Share Posted April 3, 2013 I do apologize, I misinterpreted the error. Try placing the block you had, above the included files, probably want to put it below "init.php" and above "header.php", also, turn on error reporting too. Error Reporting Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422748 Share on other sites More sharing options...
justin7410 Posted April 3, 2013 Author Share Posted April 3, 2013 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 Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422756 Share on other sites More sharing options...
PaulRyan Posted April 3, 2013 Share Posted April 3, 2013 I didn't quite understand this "i have my errors showing all right now" Do you have error reporting turned on? This may uncover an error from one of the included files. Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422757 Share on other sites More sharing options...
justin7410 Posted April 3, 2013 Author Share Posted April 3, 2013 (edited) 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 April 3, 2013 by justin7410 Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422760 Share on other sites More sharing options...
PaulRyan Posted April 3, 2013 Share Posted April 3, 2013 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? Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422764 Share on other sites More sharing options...
justin7410 Posted April 3, 2013 Author Share Posted April 3, 2013 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 /? Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422779 Share on other sites More sharing options...
PaulRyan Posted April 4, 2013 Share Posted April 4, 2013 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. Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422782 Share on other sites More sharing options...
justin7410 Posted April 4, 2013 Author Share Posted April 4, 2013 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 Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422783 Share on other sites More sharing options...
Solution justin7410 Posted April 4, 2013 Author Solution Share Posted April 4, 2013 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 Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422784 Share on other sites More sharing options...
Yohanne Posted April 4, 2013 Share Posted April 4, 2013 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. Quote Link to comment https://forums.phpfreaks.com/topic/276503-conditional-not-working/#findComment-1422785 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.