所以我创建了一个包含多个表单的html站点,使用jQuery对话框UI进行显示,使用jQuery表单插件进行ajax提交.
表格如下:
<form id="login_form" action="admin.php" method="post">
Username: <input type="text" name="username" id="username"/><br/>
Password: <input type="password" name="password" id="password"/>
</form>
Run Code Online (Sandbox Code Playgroud)
...表单选项如下所示:
$('#login_form').dialog({
buttons:{
"Login": function(){
var options = {
success: function(data){
alert(data);
$(this).dialog("close");
$('#news_form').dialog("open");
},
timeout: 3000,
fail: function(data){
alert('fail');
},
clearForm: true
};
// bind form using 'ajaxForm'
$('#news_form').ajaxSubmit(options);
},
"Exit": function(){
$(this).dialog("close");
}
}
});
Run Code Online (Sandbox Code Playgroud)
...而且php文件很简单:
<?php
$data = 'Herro!';
echo $data;
?>
Run Code Online (Sandbox Code Playgroud)
问题是,在成功时,表单返回作为提交源的html页面,而不是'Herro!' 像我预料的那样.那我做错了什么?
admin.html和admin.php文件都在同一个目录中.
此外,网络是通过xampp在本地运行,但我试图将它放在Web服务器上,没有任何改进.
最终编辑:问题实际上是因为我在DOM中调用了一个不同的表单对象来提交数据,这是一个没有设置action属性的表单.感谢大家的快速解决方案.
我找到了一种方法来设置数据库到字符集但是如何设置它以便我在不同的表上有某些字符集?
我需要设置一个表来支持IPA字符,另一个表来支持希伯来语脚本.
我在PHP中遇到了关于预处理语句的奇怪行为.谷歌搜索问题没有任何结果,所以在这里.
假设你有这个代码:
<?php
$db = new mysqli('localhost','root','','test');
$q = 'SELECT text FROM tests';
if($stmt = $db->prepare($q))
{
$stmt->bind_result($clmn);
$stmt->execute();
$stmt->fetch();
echo '</br>'.$clmn;
}
else echo "</br>didn't prepare first";
$q = 'SELECT id FROM tests';
if($stmt = $db->prepare($q))
{
$stmt->bind_result($clmn);
$stmt->execute();
$stmt->fetch();
echo '</br>'.$clmn;
}
else echo "</br>didn't prepare second";
?>
Run Code Online (Sandbox Code Playgroud)
数据库只有2列,2行有虚拟数据:
现在,当我运行代码时,我期望输出如下:
foo
1
Run Code Online (Sandbox Code Playgroud)
我得到的是:
foo
didn't prepare second
Run Code Online (Sandbox Code Playgroud)
现在我做了一些测试,发现当我交换它时:
$stmt->fetch();
echo '</br>'.$clmn;
Run Code Online (Sandbox Code Playgroud)
为了这:
while($stmt->fetch())
echo '</br>'.$clmn;
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:
foo
bar
1
2
Run Code Online (Sandbox Code Playgroud)
我的想法是,在获取前一个行的所有行之前,不能更改预准备语句.注意,fetch()需要返回false而不仅仅是最后一行,以便第二个语句准备好.
有人对此有更深入的了解吗?我只用XAMPP测试过它.
我有这个代码
protected void Page_Load(object sender, EventArgs e)
{
TblPrikaz.BorderWidth = 1;
XmlDocument baza = new XmlDocument();
XmlTextReader reader = new XmlTextReader(Server.MapPath("baza.xml"));
baza.Load(reader);
TableRow line = new TableRow();
TableCell id = new TableCell();
TableCell ime = new TableCell();
TableCell prezime = new TableCell();
TableCell godiste = new TableCell();
id.Text = "ID";
ime.Text = "Ime";
prezime.Text = "Prezime";
godiste.Text = "Godiste";
line.BackColor = Color.Green;
line.Cells.Add(id);
line.Cells.Add(ime);
line.Cells.Add(prezime);
line.Cells.Add(godiste);
TblPrikaz.Rows.Add(line);
XmlNodeList popis = baza.GetElementsByTagName("element");
for (int i = 0; i < popis.Count; i++) …Run Code Online (Sandbox Code Playgroud) 所以我有这张桌子:
<table border="1" align="center">
<tr>
<td>Broj_pu</td>
<td>Naziv_pu</td>
<td>ID</td>
<td>Naselje</td>
<td>zupanija</td>
</tr>
<tr>
<td><input type="text" ID="broj_pu" onkeydown="Filter(document.getElementById('broj_pu').value, 'broj_pu')" /></td>
<td><input type="text" ID="naziv_pu" onkeydown="Filter(document.getElementById('naziv_pu').value, 'naziv_pu')" /></td>
<td><input type="text" ID="ID" onkeydown="Filter(document.getElementById('ID').value, 'ID')" /></td>
<td><input type="text" ID="naselje" onkeydown="Filter(document.getElementById('naselje').value, 'naselje')" /></td>
<td><input type="text" ID="zupanija" onkeydown="Filter(document.getElementById('zupanija').value, 'zupanija')" /></td>
</tr>
<tr class="row" ID="row_filter">
<td>10000</td>
<td>Zagreb</td>
<td>1</td>
<td>Sljeme</td>
<td>ZAGREBACKA</td>
</tr>
<tr class="row" ID="row_filter">
<td>10000</td>
<td>Zagreb</td>
<td>2</td>
<td>Zagreb-dio</td>
<td>ZAGREBACKA</td>
</tr>
<!-- A lot of rows -->
...
</table>
Run Code Online (Sandbox Code Playgroud)
我也开始使用这个JavaScript:
<script type="text/javascript">
function Filter(text, column_name){
var x = document.getElementByClassName("row");
var …Run Code Online (Sandbox Code Playgroud) 我在 postgres 中有一个将数据插入表的函数,其中一列的类型为point。
我不知道如何将我获得的数据保存为可接受的形式,以便函数保存我的数据。
有问题的代码是:
CREATE OR REPLACE FUNCTION db."setMessage"(eml text, msg text, lat text, lng text)
...
INSERT INTO
db.messages
VALUES
(DEFAULT,
id,
$2,
DEFAULT,
ST_SetSRID(ST_MakePoint($3::float, $4::float), 4326)
);
Run Code Online (Sandbox Code Playgroud)
我调用函数时收到的错误是:
ERROR: function st_makepoint(double precision, double precision) does not exist
SQL state: 42883
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Context: PL/pgSQL function "setMessage" line 9 at SQL statement
Run Code Online (Sandbox Code Playgroud)
我尝试以字符串格式 ( 'POINT(12.22343 64.22233)')保存该点,尝试不强制转换 st_makepoint 参数,并在没有外部函数 ( …
编辑:很抱歉,原始代码是迭代,而我试图解决问题,我编辑了代码 这个问题开始类似,但这里是我遇到的真正问题:
在这段代码中:
<?php
$a = 2:
function incr(){
$a++;
echo $a;
}
echo $a;
incr();
?>
Run Code Online (Sandbox Code Playgroud)
输出是2然后是1,这告诉我变量$a在函数内被初始化为0.服务器是否只知道我使用增量语法将变量初始化为0?