Input elements not being posted with HTML5 - forms

I'm working on a test HTML5 login form and have the form set up like so:
<form id="login" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<h1>Log In</h1>
<fieldset id="inputs">
<input id="username" type="text" placeholder="Username" autofocus required>
<input id="password" type="password" placeholder="Password" required>
</fieldset>
<fieldset id="actions">
<input type="submit" id="submit" name="submit_data" value="Log in">
</fieldset>
</form>
When clicking Submit, the form is posted back to the same page. When I print the array of POSTed elements, I'm only seeing one for 'submit_data'. 'username' and 'password' are not coming through.
Where am I going wrong?

You haven't specified names for your inputs, e.g.
<form id="login" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<h1>Log In</h1>
<fieldset id="inputs">
<input id="username" type="text" name="username" placeholder="Username" autofocus required>
<input id="password" name="password" type="password" placeholder="Password" required>
</fieldset>
<fieldset id="actions">
<input type="submit" id="submit" name="submit_data" value="Log in">
</fieldset>
</form>
That might fix this problem.

Can you just perform a check for isset($_POST['username']) and isset($_POST['password']) instead of the print_r (which I assume you are using)?
<input type="..." NAME="username" ..> You haven't set var name.
Also instead of placeholder, set value="Username" and value="Password". There may not be any value passed if just using placeholder. See this test: http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_input_placeholder
As you submit without anything, no value is passed. Once you type something in, value is passed.

Related

Login form is not working with Safari

I need some help with my login form. On every browser I am able to login except Safari 8.
<form action="index.php?mod=users&do=login" name="frm" id="frm" class="rf" method="post">
<label for="email">Email</label>
<input type="email" id="email" name="email" value="<?php Outtext($frmdata['email']); ?>" class="rfield"><br>
<div class="verror"><?php if($error['email']!='') Outtext($error['email']); ?></div>
<br>
<label for="password">Passwort</label>
<input type="password" id="password" name="password" value="" class="rfield"><br>
<div class="verror"><?php if($error['password']!='') Outtext($error['password']); ?></div>
<br>
<button name="login" class="login-button button">Login</button><br>
<span style="color:#030303">Passwort</span> vergessen?
<a class="registerButton" href="#">Registrieren?</a>
<a class="manager_loginButton" href="#"><span style="color:#030303">Studiomanager</span> Login</a>
<input type="hidden" name="redirect_to" value="<?php echo($_SERVER['REQUEST_URI']); ?>">
</form>
This one worked for me:
<input type="hidden" name="login" value="login">
Right under the other
<input type=hidden>
tag.

Bypass onclick form search value

JSFiddle: https://jsfiddle.net/apamvz1r/1/
I have the following code that I would like to eliminate the need for the visitor to click the radio button before searching... Is this possible? I would like to completely eliminate this field or hide it.
<input type="radio" name="RProducts" onclick="frmSearch.Products.value='BB'">
If you don't click on the radio input, it doesn't work properly, even if i pre-select it, it still needs to be directly clicked on. Is there a way around this?
<form action="http://search1.bestbenefits.com/provsearch.asp" method="post" name="frmSearch" id="frmSearch" target="_blank" onSubmit="return CheckParams()">
<input type="hidden" name="Products" value="">
<input type="hidden" name="Title" value="24-7_MedPlan-20140416">
<input type="radio" name="RProducts" onclick="frmSearch.Products.value='BB'">Search Providers
<br />Zip Code: <input type="text" size="9" name="Zip" maxlength="5"><br />
<input type="submit" value="Search for Providers">
</form>
This works for me:
<form action="http://search1.bestbenefits.com/provsearch.asp" method="post" name="frmSearch" id="frmSearch" target="_blank" onSubmit="return CheckParams()">
<input type="hidden" name="Products" value="">
<input type="hidden" name="Title" value="24-7_MedPlan-20140416">
<input checked="checked" type="radio" name="RProducts" onclick="frmSearch.Products.value='BB'">Search Providers
<br />Zip Code: <input type="text" size="9" name="Zip" maxlength="5"><br />
<input type="submit" value="Search for Providers">
</form>

laravel4 form post data

<form action="" id="pb-signup-form">
<div class="col-md-7">
<div class="pb-signup-box">
<div class="pb-signup-box-main-box">
<label class="pb-login-usr-txt"> Sign up # Popibay </label>
<input name="pb-signup-name" class="validate[required] text-input pb-all-inputs" type="text" placeholder="Name" id="pb-signup-box-email">
<input name="pb-signup-othername" class="pb-all-inputs" type="text" placeholder="Othername" id="pb-login-box-pass">
<input name="pb-signup-surname" class="validate[required] text-input pb-all-inputs" type="text" placeholder="Surname" id="pb-signup-box-email">
<input name="pb-signup-username" class="validate[required] text-input pb-all-inputs" type="text" placeholder="Username" id="pb-signup-box-email">
<input name="pb-signup-email" class="validate[required,custom[email]] text-input pb-all-inputs" type="email" placeholder="Email" id="pb-login-box-pass">
<input name="pb-signup-password" class="validate[required] text-input pb-all-inputs" type="password" placeholder="Password" id="pb-login-box-pass">
<!-- <input name="pb-signup-cpassword" class="validate[required,equals[password]] password-input pb-all-inputs" type="password" placeholder="Confirm Password" id="pb-signup-box-email"> -->
<button class="pb-all-buttons" type="submit" id="pb-hm-hd-but-login">Log-in</button>
</div>
</div>
</div>
</form>
I am using the laravel4 framework and i have this form i am using to post this form to the server for database input. also i noticed some when i added a post method to the form it produced an error.
<form action="post" id="pb-signup-form">
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
so how do i send a form to the database? Please with nice explanations.
Have you defined your route? When Laravel says "NotFoundHttpException", that's usually what it means.
Define your post route. Also, 'post' is an html/http form method, not action.
action='route | url'
<form action="url | route" method="post"> ...inputs... </form>
You will need to add an action to your form like:
<form action="post" id="pb-signup-form" action="{{link_to('/myroute')}}">
and then create a route in your routes.php file:
Route::post('/myroute', 'myController#myFunction');
You then have to create myController with a method myFunction, in your 'controllers folder'.
To access the data use:
$input = Input::all();

jQuery mobile form submit without triggering page Naviagion

How can I navigate to a new page without triggering the jQuery mobile form handling, which creates a ajax request and then loads the page with it's speczial funcationallity (I don't know the name for it)
Add this attribute to the form:
data-ajax="false"
Example:
<form action="demo.php" method="post" id="check-user" class="ui-body ui-body-a ui-corner-all" data-ajax="false">
<fieldset>
<div data-role="fieldcontain">
<label for="username">Enter your username:</label>
<input type="text" value="" name="username" id="username"/>
</div>
<div data-role="fieldcontain">
<label for="password">Enter your password:</label>
<input type="password" value="" name="password" id="password"/>
</div>
<input type="button" data-theme="b" name="submit" id="submit" value="Submit">
</fieldset>
</form>

html / iphone - getting a form alert when attempting to refresh the page

I'm building a site which has a form but for some reason, even if a user doesn't enter info into the form (even if the form hasn't been presented yet - it starts out hidden) - if I refresh the page, iOS gives me a browser alert stating:
are you sure you want to submit this form again?
Any idea why this happens or how to suppress that?
This is my form code:
<div id="vehicle_form">
<form method="post" name="emailForm">
<input class="dField" id="dfEmail" type="email" name="email" value="Email"/><br/>
<input class="dField" id="dfName" type="text" name="firstname" value="First Name"/><br/>
<input class="dField" id="dfLast" type="text" name="lastname" value="Last Name"/><br/>
<input class="dField" id="dfZip" type="text" maxlength="5" name="zip" value="Zip Code"/><br/>
<button id="dFormBack">Back</button><button type="submit" id="dSubmit">Submit</button>
</form>
<div id="dErrors"></div>
</div>
I also have this javascript acting on the form fields:
$j('.dField').focus(function(){
clearInput($j(this)[0]); //The [0] seems to be necessary to retrieve the element at the DOM object level
}).blur(function(){
restoreInput($j(this)[0]);
});
as well as some other form related javascript.
Not sure if this is exactly what you're looking for, but try this:
<form method="post" name="emailForm">
<input type="text" name="email" value="Email" size="30" onfocus="value=''"><br>
<input type="text" name="firstname" value="First Name" size="30" onfocus="value=''"><br>
<input type="text" name="lastname" value="Last Name" size="30" onfocus="value=''"><br>
<input type="text" name="zipcode" value="Zip Code" size="30" onfocus="value=''"><br>
<button id="dFormBack">Back</button><button type="submit" id="dSubmit">Submit</button>
</form>