我正在使用SHA1来加密密码.在我的原始代码中,我检查了密码字段是否为空:if(空($ newpassword)和(空($ newpassword2))){}
由于我现在使用SHA1并且当字段留空时它自动生成da39a3ee5e6b4b0d3255bfef95601890afd80709,我该如何重新编写代码?
将da39a3ee5e6b4b0d3255bfef95601890afd80709翻译回字符串?或者是其他东西?
请帮忙.
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// oude password controle
if ($password == $qpassword)
$oudpassword_goed = 1;
// password controle
if ($newpassword == $newpassword2)
$newpassword_goed = 1;
if (empty($newpassword) and (empty($newpassword2)))
$newpassword_goed = 2;
// email controle
if ($email == $email2)
$email_goed = 1;
}
Run Code Online (Sandbox Code Playgroud) 我在本地数据库上尝试了MSSQL(2008R2数据中心)的FILESTREAM功能进行实验.真正的数据库正在服务器上运行.我使用此查询设置了整个FILESTREAM:
/* CREATE FILESTREAM AND FILESTREAM TABLE */
USE [master]
GO
ALTER DATABASE SenONew
ADD FILEGROUP [FileStream]
CONTAINS FILESTREAM
GO
ALTER DATABASE SenONew
ADD FILE
(
NAME = 'fsSenONew',
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\SenONew.ndf'
)
TO FILEGROUP [FileStream]
GO
USE [SenONew]
GO
CREATE TABLE Filestore(
FileID int PRIMARY KEY,
RowID uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWSEQUENTIALID(),
FileDescr nvarchar(max),
FileIndex varbinary(max) FILESTREAM NULL)
GO
Run Code Online (Sandbox Code Playgroud)
我正在尝试添加一些文件,然后删除它们.
既然这只是一个实验,我也想摆脱它.我正在使用我的本地服务器来开发将在真实服务器上使用的数据库,因此我在我的本地服务器上创建BackUp然后在真实服务器上恢复它,以便更新(软件正在开发中,所以数据库结构和数据的变化很大,我需要对正在测试软件的真实服务器进行完全恢复.
经过几个小时的搜索,我找不到任何问题.
我明白我需要:
所以我正在使用此查询来摆脱我首先设置的所有内容:
/* DROP FILESTREAM TABLE AND FILEGROUP */ …Run Code Online (Sandbox Code Playgroud) 如果我有这行代码:
<input type="submit" class="mybutton" name="add" value="Add new"/>
Run Code Online (Sandbox Code Playgroud)
如何使用CSS设置按钮值的样式?我需要在值之前添加一个图像,因此在值输出处需要以下代码行:
<span class="add">Add new</span>
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的事情:
<input type="submit" class="mybutton" name="add" value="">
<span class="add">Add new</span></input>
Run Code Online (Sandbox Code Playgroud)
哈哈,但这完全没有任何意义。
有人给个小费吗?
编辑
哇,谢谢您的快速回复。忘了提一下,我使用的是“ sexybuttons”的.CSS文件,因此无法更改样式,而需要其他方法。
<button type="submit">
Run Code Online (Sandbox Code Playgroud)
是我一直在寻找的东西。非常感谢大家。
在SQL Server 2008 R2中,我有一个表[Id],[Name]和[bDefault].所有列都不可为空.
是否有可能bDefault只对一条记录进行检查?使其成为唯一索引是行不通的,因为只有最多1条记录才是真的,其余的都是假的.
当我将变量发布到数据库时,我当然使用了mysql_real_escape_string.这样,特殊字符就像它应该的那样进入数据库.
当我从数据库中读取这个变量时,我再次使用mysql_real_escape_string stripslashes:
$var = stripslashes(mysql_real_escape_string($record['rowname']));
Run Code Online (Sandbox Code Playgroud)
否则它会在引号前给我斜线.
当我使用$var上面提到的这个并想要回应它时,我很简单,echo "$var"因为它已经被剥离并逃脱了,对吧?
另外,如果我在变量上使用stripslashes+ mysql_real_escape_string,那么在数据库中再次POST这个相同的变量就mysql_real_escape_string足够了吗?或者我是否还需要stripslashes这个变量?
总结如下:
据我所知,这是如何工作的:
mysql_real_escape 每一次:当通过变量读取查询时,就像将变量发布到数据库一样.stripslashes在回显转义变量时使用.stripslashes变量再次发布和转发到数据库,则无需再次将其删除.我想念htmlspecialchars吗?
编辑
所以这都错了?
while( $record=mysql_fetch_array($result) )
{
$custid=mysql_real_escape_string($record['custid']);
$custsurname=mysql_real_escape_string($record['custsurname']);
$custmidname=mysql_real_escape_string($record['custmidname']);
$custforename=mysql_real_escape_string($record['custforename']);
$custcountry=stripslashes(mysql_real_escape_string($record['custcountry'])); }
Run Code Online (Sandbox Code Playgroud) php mysql mysql-real-escape-string htmlspecialchars stripslashes
我让用户可以通过textarea更改文件名,但现在我有一个正则表达式问题.
正如我在Windows 7中看到的那样,这些字符仅允许用于文件名:
\ / : * ? < > |
但我固执地,或许也明智地选择将正则表达式最小化到这些特殊字符:
- _ .
所有其他人都应该被削减.
这个正则表达式有人可以帮助我吗?
preg_replace除了:
A-Za-z0-9和- _ .
我仍然真的没有掌握它.
如何强制输出日期格式:
12/12/2012,1/10/2012,1/5/2012
代替
12/12/2012,01/10/2012,01/05/2012?
我的代码如下:
$adatefrom = date_create($_POST['datefrom']);
$adateto = date_create($_POST['adateto']);
$adatefrom = date_format($adatefrom, 'd/m/Y');
$adateto = date_format($adateto, 'd/m/Y');
Run Code Online (Sandbox Code Playgroud)
请注意我必须在发布之后格式化日期.
我一直在环顾四周,似乎// if sucess应该在文件重命名时执行:
if(rename("$filepath$oldfilename", "$filepath$filename")===true) { // if success }
不幸的是,由于即使存在另一个同名文件,此函数也会重命名文件,因此它总是成功的。
但更糟糕的是......由于另一个同名文件已经存在,它以某种方式被删除......
任何人都知道如何防止这种情况?为什么会这样?!
附加信息:
我让用户有机会通过 textarea 更改文件名,当它发布时,重命名功能将启动:
if(rename("$filepath$oldfilename", "$filepath$filename")===true)
{
$WhatToUpdateQueryResult = mysql_query($WhatToUpdateQuery) or die ("query fout ". mysql_error() );
if ($WhatToUpdateQueryResult == 1)
{
$uploadmsg = "Document name successfully updated.<br/> From: $oldfilename <br/> To: $filename.";
}
}
else
{
$uploadmsg = "Can't update document. A file with the same name already exists.";
}
Run Code Online (Sandbox Code Playgroud)
注意:只要我将名称更改为尚不存在的名称,它就可以正常工作。但是,它总是以正确的方式结束。
我正在尝试在文件操作符中使用正则表达式来寻找一个文件,其中一个子目录是用正则表达式指定的,但我想知道它是否可能.我想我尝试了所有报价和支架组合.要么我在这里遗漏了什么,要么文件操作员需要特定的路径?
我不完全确定.有人可以澄清一下吗?
我想要实现的是这样的事情(这显然不起作用,因为它将正则表达式部分作为子目录的名称)
if [[ -r '/agent/[0-9 .]*/bin/run.sh' ]]
Run Code Online (Sandbox Code Playgroud) 我在整个互联网上搜索了一些例子,但我仍然无法理解为什么我不能在这个游标中使用DML语句.我有点想念它背后的理论,但我不会否认一个如何正确写这个的例子会让我的生活变得更轻松.这是我正在处理的查询(注意:我在未找到结果时删除了退出,如果光标已经打开则关闭,这样的事情只关注这里的主要点):
DECLARE
// lots of vars
// the cursor below gets all datasources connected to Node XXYZ123
CURSOR DataSourceCheck
IS
SELECT NODENAAM, NAAM, URL, DBNODE1, DBNODE2, DBUSERNAAM, DBNAAM
FROM SCHEMA.TABLENAME
WHERE NODENAAM = 'XXYZ123';
// this cursor will execute row-by-row based on the result set of above cursor
CURSOR CheckIfOnlyDataSource
IS
SELECT NODENAAM, NAAM, URL, DBNODE1, DBNODE2, DBUSERNAAM, DBNAAM
FROM SCHEMA.TABLENAME
WHERE DBUSERNAAM = var_dbusernaam AND (DBNode1 = var_dbnode1 OR DBNode2 = var_dbnode2);
BEGIN
OPEN DataSourceCheck;
LOOP
FETCH DataSourceCheck into …Run Code Online (Sandbox Code Playgroud) 如何编写计算总工作时间的PHP代码?
例如:
工作时间开始:工作时间$starttime = 10:20
结束:"$stoptime = 12:59
所以总工作时间:$totaltime应该是:02:39
php ×6
regex ×2
sql-server ×2
bulkinsert ×1
button ×1
css ×1
date ×1
date-format ×1
dml ×1
encryption ×1
file ×1
file-rename ×1
filenames ×1
filestream ×1
format ×1
html ×1
linux ×1
mysql ×1
oracle ×1
preg-match ×1
preg-replace ×1
rename ×1
sha1 ×1
shell ×1
sql ×1
sql-update ×1
stripslashes ×1
styling ×1
time ×1
unix ×1