This question already has answers here:
Cannot access the session array with php
(3 answers)
Closed 8 years ago.
i have PHP Notice: Undefined index: langid in the error logs
and here is the code it's defined so any idea about what is wrong with my code
<?php
if(($_SESSION['langid'])!="" ){
$langid=$_SESSION['langid'];
$_SESSION['langid']=$langid;
if(isset($_REQUEST['langid']) && $_REQUEST['langid']!="" ){
$langid=$_REQUEST['langid'];
$_SESSION['langid']=$langid;
}else{
}
}else{
$langid=1;
$_SESSION['langid']=$langid;
if(isset($_REQUEST['langid']) && $_REQUEST['langid']!="" ){
$langid=$_REQUEST['langid'];
$_SESSION['langid']=$langid;
}else{
}
}
Try :
<?php
if ( isset($_SESSION['langid']) )
{
$langid=$_SESSION['langid'];
$_SESSION['langid']=$langid;
if(isset($_REQUEST['langid']) && $_REQUEST['langid']!="" ){
$langid=$_REQUEST['langid'];
$_SESSION['langid']=$langid;
}else{
}
}else{
$langid=1;
$_SESSION['langid']=$langid;
if(isset($_REQUEST['langid']) && $_REQUEST['langid']!="" ){
$langid=$_REQUEST['langid'];
$_SESSION['langid']=$langid;
}else{
}
}
?>
And you will will have no notices about warnings .but the code is no sense :
$langid=$_SESSION['langid'];
$_SESSION['langid']=$langid;
has no sense
Related
This question already has answers here:
PHP parse/syntax errors; and how to solve them
(20 answers)
Closed 5 years ago.
Please professional programmers in the house, what is wrong with this code?
I get this error whenever i try to run it.
Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\a\go.php on line 8
The php code:
<?php
$term=$_POST['term'];
$level=$_POST['level'];
if (
$term = 'First';
$level='js1';
)
{
header("Location: result.php");
exit();
}
elseif (
$term = 'First';
$level='js2';
)
{
header("Location: result2.php");
exit();
}
else {
$error = "Entry is invalid";
}
?>
Check your if condition. The if and else if conditions must not contain any semicolons. If you are using two comparisons you must use && or || in between them. If you are using = in the if and elseif statement then it will always return true.
<?php
$term=$_POST['term'];
$level=$_POST['level'];
if ($term == 'First' && $level=='js1')
{
header("Location: result.php");
exit();
}
else if ($term == 'First' && $level='js2')
{
header("Location: result2.php");
exit();
}
else {
$error = "Entry is invalid";
}
?>
Change your if condition
it should be
if($term = 'First'&& $level='js1') or if($term = 'First'|| $level='js1')
elseif ($term = 'First' && $level='js2') or elseifif($term = 'First'|| $level='js2')
not
if ($term = 'First'; $level='js1';)
elseif ($term = 'First' ; $level='js2';)
All of your if statements have a malformed format. All you are doing is setting variables within your if statement. Therefore you are not using assignment operators properly. An example of how your if statement should look is:
if($condition === true || $condition2 == 'hello'){
doSomething();
} else if($condition === false || $condtion2 == 'bye'){
doSomethingElse();
}
EDIT: Also i would recommend working on your code indentation skills, this will really help to read your code in the future.
You are not making correct boolean expressions in those ifs.
if ($term === 'first' && $level === 'js1') {...}
elseif($term === 'First' && $level === 'js2') {...}
Also, I strongly recommend you to put a die(); after a redirect to avoid unnecessary load (unless you need to execute code after the redirect).
try this.
<?php
$term=$_POST['term'];
$level=$_POST['level'];
if( $term == 'First' && $level=='js1'){
header("Location: result.php");
exit();
} elseif ( $term == 'First' && $level=='js2'){
header("Location: result2.php");
exit();
} else {
$error = "Entry is invalid";
}
?>
If there is a header already sent error you receive then put ob_start() to top of your php file OR You can also use javascript for this like below.
<script>window.location.href = "a.php";</script>
This question already has answers here:
"Notice: Undefined variable", "Notice: Undefined index", "Warning: Undefined array key", and "Notice: Undefined offset" using PHP
(29 answers)
Closed 6 years ago.
So i've got a rather complex bit of code that i'm trying to make work (actually; it works fine on my test server but not so much my live server. so i'm trying to make it rework) -- it keeps telling me that a variable i'm asking it to check with isset is not a defined variable. I'm probably over thinking this whole method and there's probably a simplier way. but i need you guys to bash me over the head with it apparently
include('bootstra.php');
include('includes/parts/head.php');
if(!isset($_SESSION['user']['uid']))
{
echo $html;
include('includes/parts/login.php');
if(isset($_GET['mode']))
{
$file = $_GET['mode'];
$path = "includes/parts/{$file}.php";
if (file_exists($path)) {
require_once($path);
} else {
die("The Page REquested could not be found!");
}
}
else
{
include('includes/parts/frontpage.php');
}
}
else
{
if(!isset($_SESSION['x']) || !isset($_SESSION['y']))
{
if(isset($_GET['x']) && isset($_GET['y']))
{
$_SESSION['x'] = $_GET['x'];
$_SESSION['y'] = $_GET['y'];
}
else
{
$_SESSION['x'] = 0;
$_SESSION['y'] = 0;
}
header("location:index.php?x={$_SESSION['x']}&y={$_SESSION['y']}");
}
else
{
if($_SESSION['x'] != $_GET['x'] || $_SESSION['y'] != $_GET['y'] )
{
header("location:index.php?x={$_SESSION['x']}&y={$_SESSION['y']}");
}
else
{
echo $html;
echo $base->displayMap($_GET['x'], $_GET['y']);
include('includes/context_menu.php');
}
}
}
Here is the exact error:
Notice: Undefined index: x in /home/****/public_html/reddactgame/index.php on line 27
Change it
<pre>
if( !isset($_SESSION['x']) || !isset($_SESSION['y']) )
</pre>
to
<pre>
if( !( isset($_SESSION['x']) && isset($_SESSION['y']) ) )
</pre>
There is no error, that is a Warning...
It is saying that $_SESSION['x'] was never setted, so, when you do that isset it tells you that it was never declared.
Example:
This gives you the same warning
empty($x);
This does not give you warning
$x = 0;
empty($x);
EDIT
I see this is a common question, so here is a better explanation.
This question already has answers here:
PHP parse/syntax errors; and how to solve them
(20 answers)
Closed 7 years ago.
I get an error when I try to check if a query taken from the url equals something.
Error: syntax error, unexpected T_IS_EQUAL, expecting ',' or ')'
if (isset($_GET['lang'] == 'eng')) {
echo 'ENG';
}else if (isset($_GET['lang'] == 'alb')) {
echo 'ALB';
}else {
echo 'MKD';
}
Am I doing something wrong?
Thanks
You can not use == and isset to gether:
if (isset($_GET['lang']) && $_GET['lang']=='eng') {
echo 'ENG';
}
else if (isset($_GET['lang']) && $_GET['lang'] == 'alb') {
echo 'ALB';
}else {
echo 'MKD';
}
This question already has answers here:
Reference - What does this error mean in PHP?
(38 answers)
Closed 8 years ago.
I got error in my data viewing page, what is the correction for my php script
Here is my php script:
Notice: Undefined index: o in /home/tz005/public_html/COMP1687/view_data.php on line 64
<?php
$con=mysqli_connect("mysql.cms.gre.ac.uk","tz005","punceg5L","mdb_tz005");
if (is_numeric($_GET['o']))
{
$o=$_GET['o'];
}else {
$o=0;
}
if ($o >=1){
$prev=$o-1;
} else{
$prev=0;
}
You need to add an isset() function to check if $_GET['o'] even exists.
Read more about isset() Here
use this:
<?php
$con=mysqli_connect("mysql.cms.gre.ac.uk","tz005","punceg5L","mdb_tz005");
if (isset($_GET['o'] && is_numeric($_GET['o']))
{
$o=$_GET['o'];
}else {
$o=0;
}
if ($o >=1){
$prev=$o-1;
} else{
$prev=0;
}
This question already has answers here:
How can I check if an array contains a specific value in php? [duplicate]
(8 answers)
Closed 9 years ago.
How to check php variable with array?
When $user_check = "ccc";
<?php
$user_group = array('aaa' , 'bbb' , 'ccc' , 'ddd');
$name_group = join("','",$user_group);
if ($name_group != $user_check) {
echo "not found."
} else {
echo "found."
}
?>
Try in_array()
if (in_array($user_check,$user_group))
{ echo "found."; }
else
{ echo "Not found."; }
Check the documentation on this link.
Use in_array Function
if ( in_array($user_check, $user_group) ) {
echo "found."
} else {
echo "not found."
}