Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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
Php 如果';行动';这是固定的形式_Php_Sql_Forms_Input - Fatal编程技术网

Php 如果';行动';这是固定的形式

Php 如果';行动';这是固定的形式,php,sql,forms,input,Php,Sql,Forms,Input,我基本上有: <form action="index.php" method="post"> <input name="text" type="text" value="Insert text here" size="20"/> <input name="submit" type="submit" value="Submit" /> </form> 据我所知,如果表单数据被提交,它会将用户发送回index.php 但我所做的是,无

我基本上有:

<form action="index.php" method="post">
    <input name="text" type="text" value="Insert text here" size="20"/>
    <input name="submit" type="submit" value="Submit" />
</form>
据我所知,如果表单数据被提交,它会将用户发送回index.php

但我所做的是,无法使用新值更新,并将我发送回index.php,就好像没有什么问题一样

如果我在表单中保留
action=“”
action=“”
当我重新加载页面时,它会更新(不是F5-单击地址行并按enter)

我想要的是什么: 我点击submit,它更新数据库,将我发送到index.php

如何实现这一点?

删除表单中的
action=”“
(使您重新加载页面并使用与
if
相同的文件),并将
if
更改为:

if(isset($_POST['submit'])) {
    $newDbValue = $_POST['text'];
    $sql = ("
            UPDATE `pseudo_tableName` 
            SET TEXT = '".$newDbValue."' 
            WHERE name = 'pseudo_fieldName' LIMIT 1
    ");
    header("Location: index.php");
    exit;
}
删除表单中的
action=”“
(使您重新加载页面并使用与
if
相同的文件),并将
if
更改为:

if(isset($_POST['submit'])) {
    $newDbValue = $_POST['text'];
    $sql = ("
            UPDATE `pseudo_tableName` 
            SET TEXT = '".$newDbValue."' 
            WHERE name = 'pseudo_fieldName' LIMIT 1
    ");
    header("Location: index.php");
    exit;
}

您是否尝试设置:

<?php
    if (isset($_POST['text']) AND !empty($_POST['text'])) {
        // ...
    }
?>

而不是其他输入

action='index.php'会将您发送回index.php,因此请确保您的php位于表单上方(以及您的HTML)。我还想知道,您已经设置了mysql\u connect和mysql\u查询功能

您是否有php.ini中的错误报告?当您使用var_dump()变量时,MySQL查询结果集会说什么

<?php
    $sql = mysql_query($newDbValue));
    var_dump($sql);
?>

您是否尝试设置:

<?php
    if (isset($_POST['text']) AND !empty($_POST['text'])) {
        // ...
    }
?>

而不是其他输入

action='index.php'会将您发送回index.php,因此请确保您的php位于表单上方(以及您的HTML)。我还想知道,您已经设置了mysql\u connect和mysql\u查询功能

您是否有php.ini中的错误报告?当您使用var_dump()变量时,MySQL查询结果集会说什么

<?php
    $sql = mysql_query($newDbValue));
    var_dump($sql);
?>
所有
元素都需要
操作
属性。您所描述的内容可能意味着您的PHP脚本没有检测表单数据,因此没有对MySQL数据库进行必要的更改。这背后的原因可能取决于您使用的浏览器;据我所知,如果按Enter键(键盘),则表单中不包括提交按钮
(这表示允许使用多个具有不同值的提交按钮并执行正确的功能)

如果我是你,我会检查表单中的实际文本输入,而不是按钮

<?php
// check 'text' exists and make sure it isn't blank.
if(isset($_POST['text']) && $_POST['text']!='') {
  // do MySQL updating here.
  header("Location: index.php"); // send back to index.php after updating.
}
?>
所有
元素都需要
操作
属性。您所描述的内容可能意味着您的PHP脚本没有检测表单数据,因此没有对MySQL数据库进行必要的更改。这背后的原因可能取决于您使用的浏览器;据我所知,如果按Enter键(键盘),则表单中不包括提交按钮
(这表示允许使用多个具有不同值的提交按钮并执行正确的功能)

如果我是你,我会检查表单中的实际文本输入,而不是按钮

<?php
// check 'text' exists and make sure it isn't blank.
if(isset($_POST['text']) && $_POST['text']!='') {
  // do MySQL updating here.
  header("Location: index.php"); // send back to index.php after updating.
}
?>

您的代码看起来正确;我不知道你是不是被狗咬了。尝试包括
echo日期(“H:i:s”,now())。”。打印($POST,true)。“”
以确保您看到的页面实际上是来自服务器(包括表单数据)的最新版本。顺便说一下,
action=“”
action=“”
将生成相同的输出,您的意思可能是
包含此代码的脚本的名称是什么?您的代码看起来正确;我不知道你是不是被狗咬了。尝试包括
echo日期(“H:i:s”,now())。”。打印($POST,true)。“”
以确保您看到的页面实际上是来自服务器(包括表单数据)的最新版本。顺便说一下,
action=“”
action=“”
将生成相同的输出,您的意思可能是
包含此代码的脚本的名称是什么?我收到一个错误:
警告:无法修改标题信息-标题已经由/index.php第117行的/index.php中的(输出开始于/index.php:14)发送。。。第14行是我的
@Kristian所在的位置,因此,在添加代码头之前放置此表单处理程序。我得到一个错误:
警告:无法修改头信息-头已经由/index.php中的/index.php发送(输出从/index.php:14开始),在第117行
。。。第14行是my
@Kristian的所在,因此,在添加代码头之前放置此表单处理程序。我的输入字段和按钮由
?table=
&field
URL参数控制。。。它完全在一个PHP标记中运行。如果我把我的
If(isset($\u POST[$fieldName]))
放在PHP代码的最开始,它甚至不会运行(因为字段的值直到代码的最后才被设置。
var\u dump($sql);
返回
bool(true)
…不知道这是否是你的意思。@Kristian我的意思是,如果你要使用重定向函数,请先使用PHP代码,否则它会给你这个错误,并始终检查变量是否存在以及它是否在所有内容中都有值(因此你的代码总是运行)。如果
var\u dump($sql)
返回true,则数据库应该已经更新。我的输入字段和按钮由
?table=
&field
URL参数控制……它完全在PHP标记中运行。如果我将我的
If(isset($\u POST[$fieldName])
放在PHP代码的最开始位置,它甚至不会运行(因为字段的值直到代码的最后才设置。
var_dump($sql);
返回
bool(true)
…不知道这是否是你的意思。@Kristian我的意思是,如果你要使用重定向函数,请先使用PHP代码,否则它会给你这个错误,并始终检查变量是否存在以及它是否在所有内容中都有值(因此你的代码总是运行)。如果
var\u dump($sql)
返回true,则数据库应已更新。感谢您的回答…很遗憾,我