我的PHP应用程序使用以下URL:
http://domain.com/userid/120
http://domain.com/userid/121
Run Code Online (Sandbox Code Playgroud)
密钥和URL的结尾基本上是MySQL数据库表的主键.
我不希望这个增加的数字是公开的,我也不希望有人只能通过交互ID来抓取用户配置文件.
因此,我希望以一种我可以轻松解密的方式加密此Id以进行显示.字符串不应该长得多.
什么是最好的加密方法?
保存组合的新的和修改的分离POCO实体的正确和快速方法是什么?
我在想这些方法:
private void Method_2(IList<Entity> entities) //detached entities
{
//This method is using SELECT to check if entity exist
using (var context = new ModelContainer())
{
foreach (Entity entity in entities)
{
var foundEntity = context.CreateObjectSet<Entity>().SingleOrDefault(t => t.Id == entity.Id);
context.Detach(foundEntity); //Remove it from ObjectStateManager
if (foundEntity != null)//It is modified entity
{
context.AttachTo("EntitySet", entity); //Attach our entity
context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); //We know it exists
}
else//It is new entity
{
context.CreateObjectSet<Entity>().AddObject(entity);
}
}
context.SaveChanges();
}
}
private void Method_1(IList<Entity> entities) …Run Code Online (Sandbox Code Playgroud) 我在尝试着:
require 'nokogiri'
Run Code Online (Sandbox Code Playgroud)
在irb,没有成功.Nokogiri宝石已安装.从:
gem list --local
Run Code Online (Sandbox Code Playgroud)
我明白了:
nokogiri (1.4.4, 1.4.3.1)
Run Code Online (Sandbox Code Playgroud)
但当我试图在irb中"要求"时,我得到:
LoadError:没有这样的文件加载 - 来自(irb)的nokogiri:8:在`require'from(irb):8 from:0
Nokogiri'生活':
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/nokogiri-1.4.4/lib
Run Code Online (Sandbox Code Playgroud)
在我的系统上.另外,我的GEM PATH(来自gem env)是:
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
Run Code Online (Sandbox Code Playgroud)
如果我一直进入nokogiri gem目录,我可以成功地"要求"它.但为什么我不能从其他地方要求它呢?我误解了有关宝石路径的一些事情.
我正在使用Devise进行身份验证,因此我在遗留数据库中使用了几列别名来适应它,如下所示:
class User < ActiveRecord::Base
set_table_name 'my_legacy_user_table'
set_primary_key 'UserId'
alias_attribute :id, :UserId
alias_attribute :username, :LoginId
alias_attribute :encrypted_password, :PasswordSHA1Hash
alias_attribute :first_name, :Name
alias_attribute :last_name, :Surname
devise :database_authenticatable, :authentication_keys => [:username]
attr_accessible :username, :password, :password_confirmation
def password_salt=(password_salt)
end
def password_salt
end
def password_digest(password)
self.class.encryptor_class.digest(password)
end
end
Run Code Online (Sandbox Code Playgroud)
当我发布到我的/ users/sign_in表单时,我收到以下异常:
Mysql2::Error: Unknown column 'my_legacy_user_table.username' in 'where clause': SELECT `kms_User`.* FROM `my_legacy_user_table` WHERE (`my_legacy_user_table`.`username` = 'mrichman') LIMIT 1
Run Code Online (Sandbox Code Playgroud)
我想我的假设是alias_attribute指示ActiveRecord使用真实列名(UserId)而不是别名(用户名).我究竟做错了什么?
我有一个查询字符串:
"condition=good;condition=not-good&features=ABS&features=ESP&features=ENT&brand=Honda&model=Traffic"
Run Code Online (Sandbox Code Playgroud)
*请注意重复参数
我使用此函数转换和 - 得到重复键 - 到数组:
function proper_parse_str($str) {
# result array
$arr = array();
# split on outer delimiter
$pairs = explode('&', $str);
# loop through each pair
foreach ($pairs as $i) {
# split into name and value
list($name,$value) = explode('=', $i, 2);
# if name already exists
if( isset($arr[$name]) ) {
# stick multiple values into an array
if( is_array($arr[$name]) ) {
$arr[$name][] = $value;
}
else {
$arr[$name] = array($arr[$name], $value);
}
} …Run Code Online (Sandbox Code Playgroud) 我的include路径中有两个库:
/usr/local/include/lib1/
/user/include/lib2/
Run Code Online (Sandbox Code Playgroud)
两者都定义了头文件"vec.h",我收到以下错误:
/usr/local/include/lib1/vec.h:22: error: redeclared with...
Run Code Online (Sandbox Code Playgroud)
怎么办呢?
我是SQL新手.我想知道当我使用"IF EXISTS"或"IF NOT EXISTS"时会发生什么.例如:以下两个陈述之间有什么区别:
IF EXISTS( SELECT ORDER_ID FROM DBO.ORDER_DETAILS WHERE ORDER_ID = 11032 )
BEGIN
DELETE FROM DBO.ORDER_DETAILS WHERE ORDER_ID = 11032
END
Run Code Online (Sandbox Code Playgroud)
IF NOT EXISTS( SELECT ORDER_ID FROM DBO.ORDER_DETAILS WHERE ORDER_ID = 11032 )
BEGIN
DELETE FROM DBO.ORDER_DETAILS WHERE ORDER_ID = 11032
END
Run Code Online (Sandbox Code Playgroud)
会出现什么IF EXISTS或IF NOT EXISTS返回?这两者中哪个更好?何时使用IF EXISTS以及何时使用IF NOT EXISTS
我有一些数据,让我们说:
var dat = JSON.stringify(frm.serializeArray())
Run Code Online (Sandbox Code Playgroud)
我想使用往返(aka,non ajax)将其提交给服务器.
我知道这是可能的,但我找不到任何关于它的文献.想法?
(我正在使用jQuery,如果这样更容易)
编辑:虽然所有这些答案到目前为止回答了问题,我应该包括我想要"内容类型"的"application/json"
我有这样的textarea:
<textarea tabindex="1" maxlength='2000' id="area"></textarea>
我用jquery看这个textarea:
$("#area").keypress(function (e) {
if (e.keyCode != 13) return;
var msg = $("#area").val().replace("\n", "");
if (!util.isBlank(msg))
{
send(msg);
$("#area").val("");
}
});
Run Code Online (Sandbox Code Playgroud)
如果按下返回键并且消息不是空白或仅包含行间距,send()会将消息提交给服务器.
问题:发送消息后,textarea不会被清除.在第一页加载时,textarea为空.提交消息后,textarea中有一个空白行,我不知道如何摆脱它.
是否有一种确定的方法可以在应用程序中创建PDF或MS Word Doc文件,并立即通过电子邮件发送(也可能存储它).
我已经尝试了很长时间,并找到了JAVA库:apwlibrary和iText.但是他们两个都没有提供任何类型的教程.
有人能指出我正确的方向吗?
编辑:想想看,是否可以使用在线PDF生成器,首先将数据发送到服务,然后检索结果并将其保存在手机上?