本文的目的是介绍未定义的索引错误PHP,验证无效的详细情况,特别关注未定义的索引错误php,验证无效怎么办的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解未定义的索引
本文的目的是介绍未定义的索引错误PHP,验证无效的详细情况,特别关注未定义的索引错误php,验证无效怎么办的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解未定义的索引错误PHP,验证无效的机会,同时也不会遗漏关于CakePHP未定义索引错误、MySQL和PhpMyAdmin:未定义的索引:行、PHP $ _GET和未定义的索引、php 7.2中未定义的常量错误的知识。
本文目录一览:- 未定义的索引错误PHP,验证无效(未定义的索引错误php,验证无效怎么办)
- CakePHP未定义索引错误
- MySQL和PhpMyAdmin:未定义的索引:行
- PHP $ _GET和未定义的索引
- php 7.2中未定义的常量错误
未定义的索引错误PHP,验证无效(未定义的索引错误php,验证无效怎么办)
如何解决未定义的索引错误PHP,验证无效?
我正在验证公司详细信息的表单,然后再将其添加到数据库中,但是我一直收到未定义的错误,经过一个小时的努力,我放弃了。数据验证似乎也不起作用,但是无论数据是否通过验证,数据仍然会插入数据库中。任何帮助将不胜感激!
表单页面:
<?PHP
$comName_err = $comAddress_err = $comProvince_err = $comCity_err = $comZIP_err = $comStatus_err = $comChecked_err = "";
$comName_err = $_SESSION[''comName''];
$comProvince_err = $_SESSION[''comProvince''];
$comAddress_err = $_SESSION[''comAddress''];
$comCity_err = $_SESSION[''comCity''];
$comStatus_err = $_SESSION[''comStatus''];
$comZIP_err = $_SESSION[''comZIP''];
$comGridCheck_err = $_SESSION[''comCheck''];
?>
...
<formmethod="post" name="addcom" action="auth_company.PHP" novalidate accept-charset="utf-8">
<div>
<div>
<label for="companyname">Company Name</label>
<p><?PHP echo $comName_err ?></p>
<input type="text"name="name" placeholder="Company Name" required>
</div>
<div>
<p><?PHP echo $comProvince_err ?></p>
<label for="password">Province</label>
<select name="province"required>
<option value="" selected>Choose Province...</option>
<option value="Limpopo">Limpopo</option>
<option value="Gauteng">Gauteng</option>
</select>
</div>
</div>
<div>
<label for="address">Address</label>
<p><?PHP echo $comAddress_err ?></p>
<input type="text"name="address" placeholder="1234 Main St,Unit,Building,or Floor" required>
</div>
<div>
<div>
<label for="city">City</label>
<p><?PHP echo $comCity_err ?></p>
<input type="text"name="city" placeholder="City" required>
</div>
<div>
<label for="state">Company Status</label>
<p><?PHP echo $comStatus_err ?></p>
<select name="status"required>
<option value="" selected>Choose...</option>
<option value="Active">Active</option>
<option value="InActive">InActive</option>
</select>
</div>
<div>
<label for="zip">Zip code</label>
<p><?PHP echo $comZIP_err ?></p>
<input type="text"name="code" placeholder="00000" required>
</div>
</div>
<div>
<div>\
<p><?PHP echo $comGridCheck_err ?></p>
<inputtype="checkBox" name="gridCheck" required>
<labelfor="gridCheck">Check me out</label>
<p> <?PHP echo $error_message ?></p>
</div>
</div>
<button type="submit" name="addcom"><i></i> Save</button>
</form>
身份验证页面
<?PHP
session_start();
include("includes/dbconnection.PHP");
if($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["addcom"])) {
$comName = $_POST["name"];
$comProvince = $_POST["province"];
$comAddress = $_POST["address"];
$comCity = $_POST["city"];
$comStatus = $_POST["status"];
$comZIP = $_POST["code"];
$comCheck = $_POST["gridCheck"];
$AddisValid = true;
//VALIDATION
if (empty($comName)) {
$AddisValid = false;
$error_message = "Please enter a Company name.";
$_SESSION[''comName''] = $error_message;
header("location:add-company.PHP");
}
elseif ($AddisValid && $_POST[''province''] ="") {
$isValid = false;
$error_message = "Please select a province.";
$_SESSION[''comProvince''] = $error_message;
header("location:add-company.PHP");
}
elseif ($AddisValid && empty($comAddress)) {
$isValid = false;
$error_message = "Please enter an address.";
$_SESSION[''comAddress''] = $error_message;
header("location:add-company.PHP");
}
elseif ($AddisValid && $_POST[''status''] ="") {
$isValid = false;
$error_message = "Please enter an status.";
$_SESSION[''comStatus''] = $error_message;
header("location:add-company.PHP");
}
elseif ($AddisValid && empty($comZIP)) {
$isValid = false;
$error_message = "Please enter a ZIP code.";
$_SESSION[''comZIP''] = $error_message;
header("location:add-company.PHP");
}
elseif ($AddisValid && $_POST[''status''] ="") {
$isValid = false;
$error_message = "Please enter an status.";
$_SESSION[''comStatus''] = $error_message;
header("location:add-company.PHP");
}
elseif ($AddisValid && $_POST[''gridCheck''] ="") {
$isValid = false;
$error_message = "Please confirm by clicking ''Check me Out''.";
$_SESSION[''comCheck''] = $error_message;
header("location:add-company.PHP");
}
else{
// PREPARE THE INSERT STATEMENT
$sql = "INSERT INTO tblcompanies (comName,comAddress,comCity,comProvince,comZip,comStatus) VALUES (?,?,?)";
if($stmt = MysqLi_prepare($con,$sql)){
// BIND VARIABLES TO THE BINDED ParaMETERS
MysqLi_stmt_bind_param($stmt,"ssssss",$comName,$comAddress,$comCity,$comProvince,$comZIP,$comStatus);
// EXECUTE THE PREPARED STATEMENT
if(MysqLi_stmt_execute($stmt)){
header("location:dashboard.PHP");
} else{
echo "ERROR: Could not execute query: $sql. " . MysqLi_error($con);
}
} else{
echo "ERROR: Could not prepare query: $sql. " . MysqLi_error($con);
}
//CLOSE STATEMENT
MysqLi_stmt_close($stmt);
}
}
?>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
CakePHP未定义索引错误
我正在尝试访问已登录用户的电子邮件地址,并且可以在我的所有Controller中成功完成访问,除了一个.
这是我遇到的错误
Notice (8): Undefined index: User [APP/View/Layouts/default.ctp, line 37]
这是对应的代码行(请记住,这在我的所有其他控制器中都有效).
<center><font color="black"><td><?PHP echo $user['User']['email']; ?></td></text></center>
这是DemosController
<?PHP
// app/Controller/DemosController.PHP
class DemosController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('add','logout');
$user = $this->Demo->read(null, $this->Auth->user('id')); //this throws the error
//$user = $this->Demo->User->read(null, $this->Auth->user('id')); //Fatal error: Call to a member function read() on a non-object in
$this->set('user', $user);
}
//display the knockout table
public function index($article = null) {
}
}
我不需要数据库中的该控制器表.只是为了演示目的显示一个表.我可以让它引用用户吗?
class Demo extends AppModel {
public $name = 'User';
}
为什么我可以在除此控制器之外的所有控制器中访问它?模型/表情况是否引起错误?如果是这样,是否有一种方法可以禁止使用表?
解决方法:
通过AuthComponent获取登录用户的属性
您不必通过“ viewVar”将当前登录用户的信息传递给视图.
要访问控制器外部当前登录用户的属性,请使用AuthComponent的“静态”界面
在您的视图或布局中,输出如下信息:
<p>The current users email is: <?PHP echo AuthComponent::user('email') ?></p>
<p>The current users id is: <?PHP echo AuthComponent::user('id') ?></p>
<p>And all properties of the user are:</p>
<pre><?PHP print_r(AuthComponent::user());?></pre>
查看:Accessing the logged in user
您可以从beforeFilter()中删除这些行;
$user = $this->Demo->read(null, $this->Auth->user('id')); //this throws the error
//$user = $this->Demo->User->read(null, $this->Auth->user('id')); //Fatal error: Call to a member function read() on a non-object in
$this->set('user', $user);
MySQL和PhpMyAdmin:未定义的索引:行
我的数据库基于MySQL和PHPMyAdmin用于管理我的问题.
当我同时创建多行的表时,当我在PHPMyAdmin面板中转到表格的结构选项卡时,总是会出现这种类型的错误.
我不知道如何解决它,因为当我逐行创建时,它运行良好.
我建议你展示我的整个标签设置:
有一些法国人,因为我是法国人!
Titre_de_l_album
Column Type Null Default Links to Comments
id (Primary) int(11) No
artiste varchar(20) Yes NULL
album varchar(20) Yes NULL
annee int(4) Yes NULL
pistes int(11) Yes NULL
duree int(11) Yes NULL
Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 0 A No
Space usage:
Data 0 B
Index 0 B
Total 0 B
Row Statistics:
Open new PHPMyAdmin window
Warning in ./libraries/tbl_printview.lib.PHP#376
Illegal string offset 'Data_length'
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Notice in ./libraries/tbl_printview.lib.PHP#376
Uninitialized string offset: 0
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Warning in ./libraries/tbl_printview.lib.PHP#381
Illegal string offset 'Index_length'
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Notice in ./libraries/tbl_printview.lib.PHP#381
Uninitialized string offset: 0
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Warning in ./libraries/tbl_printview.lib.PHP#399
Illegal string offset 'Data_length'
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Notice in ./libraries/tbl_printview.lib.PHP#399
Uninitialized string offset: 0
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Warning in ./libraries/tbl_printview.lib.PHP#399
Illegal string offset 'Index_length'
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Warning in ./libraries/tbl_printview.lib.PHP#403
Illegal string offset 'Data_length'
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Notice in ./libraries/tbl_printview.lib.PHP#403
Uninitialized string offset: 0
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Warning in ./libraries/tbl_printview.lib.PHP#403
Illegal string offset 'Index_length'
Backtrace
./libraries/tbl_printview.lib.PHP#509: PMA_getHtmlForSpaceUsageAndRowStatistics(
string '',
string 'Album_TAR',
string 'Titre_de_l_album',
string 'left',
)
./libraries/tbl_printview.lib.PHP#589: PMA_getHtmlForTableStructure(
boolean true,
boolean false,
array,
array,
array,
string 'Album_TAR',
string 'Titre_de_l_album',
array,
array,
string '',
string 'left',
)
./tbl_printview.PHP#65: PMA_getHtmlForTablesDetail(
array,
string 'Album_TAR',
array,
array,
string 'left',
)
Automatically send report next time
谢谢您的帮助.
PS:我看到其他主题,但我没有成功解决它,因为它只有PHP
编辑:我是如何犯这个错误的
>创建一个新的数据库Album_TAR
>创建一个包含6个列的新表Titre_de_l_album
>进行以下配置:
> id,int,Primary,A_I
> Artiste,varchar,20
>专辑,varchar,20
> Annee,int,4
> Nombre,int
> Duree,int
>执行
而且我在结构选项卡上显示的消息错误
解决方法:
这个问题在这里得到了回答:Undefined index: Rows
使用小写表和字段名称
PHP $ _GET和未定义的索引
当我尝试在其他PHP服务器上运行脚本时,出现了一个新问题。
在我的旧服务器上,即使未s
声明任何参数,以下代码也可以正常工作。
<?php if ($_GET[''s''] == ''jwshxnsyllabus'')echo "<body onload=\"loadSyllabi(''syllabus'', ''../syllabi/jwshxnporsyllabus.xml'', ''../bibliographies/jwshxnbibliography_'')\">";if ($_GET[''s''] == ''aquinas'')echo "<body onload=\"loadSyllabi(''syllabus'', ''../syllabi/AquinasSyllabus.xml'')\">"; if ($_GET[''s''] == ''POP2'')echo "<body onload=\"loadSyllabi(''POP2'')\">";elseif ($_GET[''s''] == null)echo "<body>"?>
但是现在,在本地计算机(XAMPP-Apache)上的本地服务器上,s
如果未定义for的值,则会出现以下错误。
Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 43Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 45Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 47Notice: Undefined index: s in C:\xampp\htdocs\teaching\index.php on line 49
如果为声明了值s
,但脚本要调用某些javascript函数会发生什么,但是如果未声明任何内容,我希望页面能够正常加载。
你能帮助我吗?
答案1
小编典典错误报告不会在以前的服务器上包含通知,这就是为什么您没有看到错误的原因。
您应该在尝试使用索引之前检查索引是否s
确实存在于$_GET
数组中。
这样的话就足够了:
if (isset($_GET[''s''])) { if ($_GET[''s''] == ''jwshxnsyllabus'') echo "<body onload=\"loadSyllabi(''syllabus'', ''../syllabi/jwshxnporsyllabus.xml'', ''../bibliographies/jwshxnbibliography_'')\">"; else if ($_GET[''s''] == ''aquinas'') echo "<body onload=\"loadSyllabi(''syllabus'', ''../syllabi/AquinasSyllabus.xml'')\">"; else if ($_GET[''s''] == ''POP2'') echo "<body onload=\"loadSyllabi(''POP2'')\">";} else { echo "<body>";}
使用switch
语句使代码更具可读性可能会有所帮助(如果您打算增加更多的案例)。
switch ((isset($_GET[''s'']) ? $_GET[''s''] : '''')) { case ''jwshxnsyllabus'': echo "<body onload=\"loadSyllabi(''syllabus'', ''../syllabi/jwshxnporsyllabus.xml'', ''../bibliographies/jwshxnbibliography_'')\">"; break; case ''aquinas'': echo "<body onload=\"loadSyllabi(''syllabus'', ''../syllabi/AquinasSyllabus.xml'')\">"; break; case ''POP2'': echo "<body onload=\"loadSyllabi(''POP2'')\">"; break; default: echo "<body>"; break;}
编辑:顺便说一句,我编写的第一组代码模仿了您的全部意图。意外值的预期结果是否?s=
意味着不输出<body>
标签,或者这是疏忽?请注意,该开关将始终通过默认设置来解决此问题<body>
。
php 7.2中未定义的常量错误
我在PHP v7.2中有这些错误,但在使用PHP v7.1时没有看到任何E_WARNING.
如何解决以下错误?
/web13/web/boutique/includes/Sites/Shop/NavigationHistory.PHP on line 39
[12-Jan-2018 22:44:20 America/Toronto] PHP Warning: Use of undefined constant MODULE_HEADER_SELECT_TEMPLATE_STATUS – assumed ‘MODULE_HEADER_SELECT_TEMPLATE_STATUS’ (this will throw an Error in a future version of PHP) in /var/www/clients/client1/web13/web/boutique/includes/Sites/Shop/Template.PHP on line 356
解决方法:
看起来没有定义MODULE_HEADER_SELECT_TEMPLATE_STATUS.
根据Deprecated features in PHP 7.2.x,您不应该使用未定义的常量,因为:
Unquoted strings that are non-existent global constants are taken to be strings of themselves.
This behavIoUr used to emit an E_NOTICE, but will Now emit an E_WARNING. In the next major version of PHP, an Error exception will be thrown instead.
只有在使用之前声明常量值,才能阻止此E_WARNING.
今天的关于未定义的索引错误PHP,验证无效和未定义的索引错误php,验证无效怎么办的分享已经结束,谢谢您的关注,如果想了解更多关于CakePHP未定义索引错误、MySQL和PhpMyAdmin:未定义的索引:行、PHP $ _GET和未定义的索引、php 7.2中未定义的常量错误的相关知识,请在本站进行查询。
本文标签: