Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Javascript控制的HTML表单的值,对输入进行编码并传递到PHP_Php_Javascript_Jquery_Variables_Encoding - Fatal编程技术网

更改Javascript控制的HTML表单的值,对输入进行编码并传递到PHP

更改Javascript控制的HTML表单的值,对输入进行编码并传递到PHP,php,javascript,jquery,variables,encoding,Php,Javascript,Jquery,Variables,Encoding,我对PHP比较陌生,我认为这将是一个简单的代码来管理。我想做的是在页面上有一个HTML输入框,当有人在其中输入一个名字时,我想用Javascript在同一个输入框中输出一个名称的编码版本,前面有一个网站字符串,创建一个新链接。现在,当有人在web浏览器中访问此链接时,它会在页面上显示名称变量 范例 John在HTML表单中输入他的名字 约翰·迪金森 当他按下submit按钮时,他刚刚输入姓名的HTML输入框会更改为: http://www.example.com/johndickinsonenc

我对PHP比较陌生,我认为这将是一个简单的代码来管理。我想做的是在页面上有一个HTML输入框,当有人在其中输入一个名字时,我想用Javascript在同一个输入框中输出一个名称的编码版本,前面有一个网站字符串,创建一个新链接。现在,当有人在web浏览器中访问此链接时,它会在页面上显示名称变量

范例

John在HTML表单中输入他的名字

约翰·迪金森

当他按下submit按钮时,他刚刚输入姓名的HTML输入框会更改为:

http://www.example.com/johndickinsonencoded/

其中Johndickinsonencoded是他名字的编码字符串

什么时候http://www.example.com/johndickinsonencoded/ 在web浏览器中访问,并在屏幕上输出:

你好,约翰·迪金森


非常感谢您的帮助:

您需要使用JavaScript对字段进行编码,并在字符串到达PHP时对其进行解码。选择向前和向后的编解码器应该相当容易,即使只使用base64也可以。JavaScript没有对base64编码的内置支持,但是有很多这样的例子。如果你有其他方法来编码和解码这个字段,那也没关系

在服务器端,您必须使用进行一些重写。基本上,在httpd.conf部分或本地.htaccess文件中都需要类似的内容:

# use mod_rewrite to enable passing encoded user name as a "Clean URL"
RewriteEngine On
# Define the rewrite base -- / says use what is immediately after the hostname part
RewriteBase /
# Send bare requests to index.php
RewriteRule ^$  index.php [L]
# Don't rewrite requests for files, directories, or symlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Send requests to index.php, appending the portion following the RewriteBase
RewriteRule ^(.*)$ index.php?n=$1 [QSA,L]

最后一个将重写您的原始url:http://www.example.com/johnsmithencoded 到http://www.example.com/index.php?n=johnsmithencoded,从那里,您可以通过$\u get['n']获取查询参数,并根据需要对其进行解码。

Zilch;如果我想付钱,我会直接去找一个网络开发人员来完成,但是我确实想学习,这应该不是一项艰巨的任务。我已经通过javascript将url输出到表单中,我真正需要知道的是编码部分。我只是提出了整个场景来更好地解释它。PHP方面,它已经读取url变量并正确输出,我现在要做的就是对其进行编码,这样任何Tom、Dick或Harry都无法直接读取该变量