first page
<?php session_start();?>
<!DOCTYPE html>
<html>
<body>
<form method="post" action="form.php">
<select name="list1">
<option value="NY"> ny</option>
<option value="NJ"> nj</option>
<option value="DE"> de</option>
</select>
<input type="submit">
</form>
<h1><?php
print_r($_SESSION);
?></h1>
</body>
</html>
second page
<?php session_start();?>
<!DOCTYPE HTML>
<html>
<body>
<?php
$_SESSION["list"] = $_POST["list1"];
$list = $_SESSION['list'];
?>
<form action="form1.php" method="post">
Name: <input type="text" name="name1"><br>
E-mail: <input type="text" name="email1"><br>
<input type="submit">
</form>
<br>
<h1> chosen number <br />>>> <?echo $list; ?> </h1>
<br>
<h1><?php
print_r($_SESSION);
?></h1>
after this comes third step, where selected state disappears from SESSION array,this is a multiple step form, there are 4 - 5 steps and starting from second page all they till form processing page all text entries get stored in the SESSION array
Related
I don't get the PHP $_SESSION working when I try to echo the result on the first page. The error message states basically that the variables are undefined.
The path i want to use:
1st page = form 1
2nd page = form 2
Go back to 1st page = form 1 with all input filled from previous submit + all data from the 2 forms in a text.
Is that possible ?
Page 1 = index.php:
<?php session_start(); ?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<form action="overview.php" id="regForm" method="post">
<div class="tab">
<h2>1. Your info</h2>
<p><input type="text" placeholder="Prénom" name="fname" value="<?php echo htmlspecialchars($_SESSION['name']); ?>"></p>
<p><input type="text" placeholder="Nom" name="name" value="<?php echo htmlspecialchars($_SESSION['name']); ?>"></p>
<input type="submit" value="Valider">
</div>
</form>
<?php echo "Your name is :",$_SESSION['name'], "and your first-name is ", $_SESSION['fname'];?>
<?php echo "Your e-mail is :", $_SESSION['email'] ;?>
</body>
</html>
Page 2 = overview.php:
<?php session_start(); ?>
<?php
$_SESSION['fname'] = $_POST['fname'];
$_SESSION['name'] = $_POST['name'];
?>
<form action="index.php" id="regForm" method="post">
<h2>1. Tes informations personnelles</h2>
<p><input type="text" placeholder="e-mail" name="email"></p>
<input type="submit" value="Valider">
</form>
Back to Page 1 = index.php:
<?php session_start(); ?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<form action="overview.php" id="regForm" method="post">
<div class="tab">
<h2>1. Your info</h2>
<p><input type="text" placeholder="Prénom" name="fname" value="<?php echo htmlspecialchars($_SESSION['name']); ?>"></p>
<p><input type="text" placeholder="Nom" name="name" value="<?php echo htmlspecialchars($_SESSION['name']); ?>"></p>
<input type="submit" value="Valider">
</div>
</form>
<?php echo "Your name is :",$_SESSION['name'], "and your first-name is ", $_SESSION['fname'];?>
<?php echo "Your e-mail is :", $_SESSION['email'] ;?>
</body>
</html>
Do you guys see any issue that prevents the code to run ?
Just found out the "WHY".
I basically blocked cookies when I started the project which prevent $_sessions to work properly.
So make guys sure that cookies are enabled on your website. The kind of things that waste an hour of work ...
I need help with some coding.
I watched some tutorials from W3Schools and youtube, but I just don't get it.
<!DOCTYPE html>
<?php
if (isset($_POST["Push me"]))
echo $_POST['name']
?>
<html>
<body>
Registration
<form action="/action_page.php" method="get" target="_blank">
Insert name <input type="text" name="fname"><br>
<input type="submit" value="Push me">
</form>
</body>
</html>
When you push the button there should be a name that was typed into the field.
Example:
If you enter the name Simon after pushing the button it should write Hello Simon under the button
if (isset($_POST["fname"]))
// ^^^^^
echo $_POST['fname'];
// ^^^^^ ^
<form action="/action_page.php" method="post" target="_blank">
// ^^^^
Your PHP code is out of the HTML tag, I have place the php code in the DIV under the button, i.e. to display "Hello xxxTheNameYouEnterInTheInputxxx"
The if condition in your PHP code should be like if(isset($_POST["fname"])) instead of if(isset($_POST["Push me"]))
i.e. $_POST["NameOfTheInputElementInTheForm"]
<form action="/action_page.php" method="get" target="_blank"> should be like <form action="/test.php" method="POST"> i.e. Method is POST and action should be the name of the file, remove target="_blank"
Here is the full code, save it as test.php
<!DOCTYPE html>
<html>
<body>
Registration
<form action="/test.php" method="POST">
Insert Name: <input type="text" name="fname"><br>
<input type="submit" value="Push me">
</form>
<hr>
<div>
<?php
if (isset($_POST["fname"])){
echo "Hello " . $_POST['fname'];
}
?>
</div>
</body>
</html>
I am trying to get user input from a text box and then echo it using php. Here is my code, and it is not seeming to work.
<html>
<body>
<?php
echo $_POST['value'];
?>
<form method="post" action="">
<input type="text" name="value">
<input type="submit">
</form>
</body>
</html>
<html>
<body>
<?php
if(!empty($_POST['value']))
{
echo filter_var($_POST['value'], FILTER_SANITIZE_STRING);}
?>
<form method="post" action="">
<input type="text" name="value">
<input type="submit">
</form>
</body>
</html>
First check if form posted.
<!doctype html>
<html>
<head>
<body>
<form action="question.php" method="post">
<input type="hidden" name="session" value="12" />
</form>
</body>
</html>
<?php
header('Location: question.php');
?>
question.php File...
<?php
$rr = $_POST['session'];
echo $rr;
?>
it should print 12 right?
But i get this error "Notice: Undefined index: session in C:\wamp\www\Project\question.php on line 3".
what is the problem here?
thanks...
This will echo your value once you click the submit button.
question.php File
<?php
$rr = $_POST['session'];
echo $rr;
?>
HTML current page
<!doctype html>
<html>
<head>
<body>
<form id="myForm" action="question.php" method="post">
<input type="hidden" name="session" value="12" />
<input type="submit" value="submit" />
</form>
</body>
</html>
// this will auto submit your form using javaScript
<script type="text/javascript">
document.getElementById("myForm").submit();
</script>
But what if i want to submit the from automatically without a submit button:
jsfiddle
<form action="question.php" method="post">
<input type="hidden" name="session" value="12" />
<input type="submit" value="submit" id="sub"/>
</form>
jQuery:
$(function(){
$('#sub').click();
});
wow, pretty complicated... all you needed to do was add
<?php
session_start();
// session_start has to be the first line
// of your php and before any HTML code
?>
<html>
<body>
</body>
</html>
<!doctype html>
<html>
<head>
<body>
<form action="question.php" method="post">
<input type="hidden" name="session" value="12" />
<input type="submit" name="send" value="send">
</form>
</body>
</html>
question.php:
<?php
# prints all post elements
print_r($_POST); // for method="post"
echo $_POST['session']; # only the hidden input named "session"
I have a problem whit form submission. I have a html form and the action simpli doesnt want to work. maybe i am doing something wrong, but here take a look at it:
<form action="add.php" method="post" autocomplete="off">
<input type="text" name="title" placeholder="Title" style="width:300px;">
<select id="type" name="type">
<option value="0">Matrix</option>
<option value="1">LoL</option>
<option value="2">Dota 2</option>
</select><br />
<textarea rows="30" cols="90" placeholder="Content here" name="content"></textarea><br />
<input type="submit" value="DODAJ">
</form>
so when i click on the button i does refresh the page but nothing is displayed. I't worked in local but when i upload it online nothnig, just a blank page. And the stuff that has to go to the database doesnt go. no errors, no nothing.
help?
Here's the complete code for that add.php page:
<?php
include '../php/db/init.php';
include '../php/db/connection.php';
protect_page();
admin_protect();
if(isset($_SESSION['logged_in'])){
if(isset($_POST['title'], $_POST['content'], $_POST['type'])){
$title = $_POST['title'];
$content = nl2br($_POST['content']);
$content_short = substr($content,0, 150);
$type = $_POST['type'];
echo $type;
die();
if(empty($title) or empty($content) or empty($type)){
$error = 'Potrebno je popuniti sva polja!';
} else {
$query = $pdo->prepare('INSERT INTO articles (article_title, article_content, article_content_short, article_timestamp, article_type) VALUES (?,?,?,?,?)');
$query->bindValue(1,$title);
$query->bindValue(2,$content);
$query->bindValue(3,$content_short);
$query->bindValue(4,time());
$query->bindValue(5,$type);
$query->execute();
redirect('http://www.matrixgamingns.com/admin/index.php');
}
}
?>
<html>
<head>
<title>Matrix Gaming Admin Panel</title>
<link rel="stylesheet" type="text/css" href="../css/admin.css">
<link rel="stylesheet" type="text/css" href="../css/reset.css">
</head>
<body>
<div id="home">
<div id="wrapper">
<?php include 'adminmenusidebar.php'; ?>
<div id="field">
<h3 style="font-size:22px;">Dodaj vest</h3>
<?php if(isset($error)){ ?>
<small style="color:#aa0000"> <?php echo $error?> </small>
<br/>
<?php }?>
<br />
<form action="add.php" method="post" autocomplete="off">
<input type="text" name="title" placeholder="Title" style="width:300px;">
<select id="type" name="type">
<option value="0">Matrix</option>
<option value="1">LoL</option>
<option value="2">Dota 2</option>
</select><br />
<textarea rows="30" cols="90" placeholder="Content here" name="content"></textarea><br />
<input type="submit" value="DODAJ">
<?php
ini_set('display_errors','On');?>
</form>
</div>
</div>
</div>
</body>
</html>
<?php
} else {
redirect('http://www.matrixgamingns.com/admin/index.php');
}
?>
Get rid of the die() after echo $type;
By including a die() function, it stops all in its tracks, just like return does and nothing gets executed afterwards.
You could use the login form example posted here: HTML Dynamic Forms Generator
I downloaded the source code for the login form and it saved me lots of time.