我正在使用jQuery AJAX调用PHP来验证登录表单.在php中,我创建了一个会话,如果他们选中了"记住我"复选框,我想创建一个cookie.这是php代码:
<?php
include '../includes/connection.php';
date_default_timezone_set('GMT');
$name = $_POST['username'];
$pass = $_POST['password'];
$query = mysql_query("SELECT id, username, password FROM users WHERE username = '$name' LIMIT 1");
if(mysql_num_rows($query) == 0) {
echo 'error';
exit;
}
while($row = mysql_fetch_array($query)) {
if($row['username'] == $name && $row['password'] == $pass) {
session_start();
$_SESSION['username'] = $row['username'];
$_SESSION['usrID'] = $row['id'];
echo 'success';
if($_POST['remember']) {
setcookie('username', $row['username'], $exp);
setcookie('password', $row['password'], $exp);
setcookie('usrID', $row['id'], $exp);
}
} else {
echo 'error';
exit;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
会话设置成功,但cookie根本没有设置.我已经尝试设置所有值(域,路径等),但没有改变任何东西.有什么明显我想念的吗?
至少在纸面上,我理解Content Provider与直接访问SQLiteDatabase之间的基本区别.我的应用程序有一个正常运行的原型,目前只是直接命中数据库.我没有任何使用Content Provider模式的经验,但我发现我需要与另一个应用程序共享一些数据.
我只会分享大约2个表中的2个,所以我想知道我是否应该完全重做数据层以遵循Content Provider模式,或者只是为了通过内容提供者公开这些表另一个应用程序仍然直接访问主应用程序中的数据库.
我遇到的原型问题之一是我有一些相当复杂的事务,而我编写的用于实现这一功能的代码设计得并不是特别好,而且根本不可重用.当我为这个应用程序添加更多功能时,我将需要一个设计更好的数据访问层,在我开始自己创建之前,是否有人知道任何有关此类事物的设计模式的优秀资源?此外,如果我需要进入内容提供商路由,我是否可以完全控制数据库事务?
我是否应该能够重写 drawInContext() 并在 CALayer 的边界之外进行绘制?即使我的图层的 maskToBounds 设置为 NO(默认值),我的 drawInContext() 也会被调用,并将剪辑设置为我的图层边界,但我无法在其外部进行绘制。
我的测试层做了这样的事情:
-(void)drawInContext:(CGContextRef)context
{
[super drawInContext:context];
NSLog(@"mask to bounds=%d", self.masksToBounds); // NO
CGRect clip = CGContextGetClipBoundingBox(context);
NSLog(@"clip=%f,%f,%f,%f", clip.origin.x, clip.origin.y, clip.size.width, clip.size.height); // reports the bounds
CGContextSetStrokeColorWithColor(context, [[UIColor whiteColor] CGColor]);
CGContextBeginPath(context);
CGContextSetLineWidth(context, 5.0);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 500, 0.0); // wider than my layer...
CGContextStrokePath(context);
}
Run Code Online (Sandbox Code Playgroud)
这是我的设置方法:
- (void)viewDidLoad
{
[super viewDidLoad];
CALayer *layer = [[MyLayer alloc] init];
layer.needsDisplayOnBoundsChange=YES;
layer.frame = CGRectMake(50, 50, 200, 200);
[self.view.layer addSublayer:layer];
}
Run Code Online (Sandbox Code Playgroud)
这只是核心动画层的限制吗?(需要在这层之上的图层中绘制吗?)
谢谢。
我有一个问题,我不太确定如何解决它而不会走低效率的路线.说我有一个单词列表:
我想要做的是处理这个列表,并获得每个单词以一定深度开始的内容,例如
有任何想法吗?
更新
我已对C#代码进行了更改,因此它使用的块大小为256.但是现在hello世界看起来像这个http://pastebin.com/5sXhMV11而且我无法弄清楚我应该使用rtrim()来获取最后骑的烂摊子.
另外当你说IV应该是随机的时,你的意思是不要再使用相同的IV一次或者我编码错误的方式?
再次感谢!
嗨,
我正在尝试使用在C#中加密的PHP解密字符串.我似乎无法让PHP使用mcrypt解密它,并且可以提供一些帮助.我用php得到以下错误,所以我猜我没有正确设置IV.
错误:IV参数必须与块大小一样长
两个函数使用相同的密码,密钥,IV并设置为CBC模式:
加密文本来自c#= UmzUCnAzThH0nMkIuMisqg ==
key 32 long = qwertyuiopasdfghjklzxcvbnmqwerty
iv 16 long = 1234567890123456
C#
public static string EncryptString(string message, string KeyString, string IVString)
{
byte[] Key = ASCIIEncoding.UTF8.GetBytes(KeyString);
byte[] IV = ASCIIEncoding.UTF8.GetBytes(IVString);
string encrypted = null;
RijndaelManaged rj = new RijndaelManaged();
rj.Key = Key;
rj.IV = IV;
rj.Mode = CipherMode.CBC;
try
{
MemoryStream ms = new MemoryStream();
using (CryptoStream cs = new CryptoStream(ms, rj.CreateEncryptor(Key, IV), CryptoStreamMode.Write))
{
using (StreamWriter sw …
Run Code Online (Sandbox Code Playgroud) 当我UIBarButtonItem
通过Interface Builder 向a添加图标时,图标显示为白色.当我以编程方式将相同的图标文件添加到另一个图标文件时UIToolbar
,图标显示为黑色.为什么?
UIImage *image = [UIImage imageNamed:@"icon.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
rootViewController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:reloadButton] autorelease];
Run Code Online (Sandbox Code Playgroud) 我正在为我的UITabBarController的UITabBar添加徽章:
UITabBarItem *tbi = (UITabBarItem *)[stTabBarController.tabBar.items objectAtIndex:1];
tbi.badgeValue = @"2";
Run Code Online (Sandbox Code Playgroud)
但是,我的UITabBarController是可自定义的,因此索引可能会更改.如何确保徽章应用于正确的UITabBarItem?
我知道大多数javascript电子邮件混淆解决方案都会阻止机器人死亡 - 但有时候很难在某些地方使用/插入javascript.
为此,我想知道是否有人知道机器人是否足够智能将HEX和DEC中的HTML实体转换为有效的电子邮件字符串?
例如,假设我有一个函数可以将字符串字符随机转换为三种形式之一 - 这够了吗?
hide_email($email)
{
$s='';
foreach(str_split($email)as$l)
{
switch(rand(1,3))
{
case 1:$s.='&#'.ord($l).';';break;
case 2:$s.='&#x'.dechex(ord($l)).';';break;
case 3:$s.=$l;
}
}
return$s;
}
Run Code Online (Sandbox Code Playgroud)
这使得first.last@email.com成为:
first.last@email.com
Run Code Online (Sandbox Code Playgroud)
我会假设机器人创建者已经为这样的事情添加了一个正则表达式模式......
我发现自己经常遇到以下问题.我有一些标记接口(为了简单起见,我们使用java.io.Serializable
)和几个包装器(Adapter,Decorator,Proxy,...).但是当你将Serializable实例包装在另一个实例(不可序列化)中时,你会失去功能.java.util.RandomAccess也会出现同样的问题,可以通过List实现来实现.有没有一个很好的OOP方式来处理它?
如何使用JAX-RS设置charset?我已经尝试@Produces("text/html; charset=UTF-8")
但是被忽略了,只有text/html
HTTP头发送.我想在MessageBodyWriter中设置charset,但不希望通过我自己的反射分析@Produces注释来提取媒体类型.