这是我第一次发帖提问...我已经尽力搜索档案并尝试解决这个问题但是没有用...所以这不是出于懒惰,而是出于缺乏经验/无知。无论如何,在我的问题上:
我有以下形式的html部分:
<form name="form1" method="post" action="script.php">
<fieldset>
<legend>Tell me your name</legend>
First Name: <input type="text" name="name"><br>
Submit: <input type="submit" value="send">
</fieldset>
</form>
文件script.php包含以下内容:
<?php
$name = "empty";
if(!empty($_POST["name"]))
{
$name = $_POST["name"];
}
echo $name;
?>
非常简单/初学者的东西。当我提交表单时,我被发送到一个新页面,打印出“空”或我在名称表单字段中输入的任何内容。
我的问题:如何从包含表单的任何html页面执行此脚本,而浏览器不会将我重定向到包含脚本输出的新页面?我想在后台运行一个脚本/不要离开当前页面(不一定要打印一条消息,但也许可以将我在表单字段中键入的内容存储到数据库中)。我已经尝试将其输入到表单的“action”部分(在html文件中):
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
它将我重定向到另一个页面并显示错误:
未找到请求的URL /&lt;在这服务器上没找到。 Apache / 2.4.18(Ubuntu)服务器在localhost端口80
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
将代码合并到一个页面中:
#ifndef _BST_H_
#define _BST_H_
// The definition of the tree structure
typedef struct TreeNode_st {
char *word; // the word held in this node
unsigned int frequency; // how many times it has been seen
struct TreeNode_st *left; // node's left child
struct TreeNode_st *right; // node's right child
} TreeNode;
// FUNCTIONS ARE REQUIRED TO IMPLEMENT
// insert_word()
// Dynamically build BST by allocating nodes from the heap
//
// args -
// root - a pointer to the pointer to the root of the tree
// to build this tree on to.
// word - string containing the word to be inserted
void insert_word( TreeNode** root, const char *word );
// traverse_tree()
// Recursively traverses the tree and prints the value of each
// node.
//
// args -
// root - a pointer to the root of the tree to traverse
void traverse_tree( const TreeNode* root );
// cleanup_tree()
// Cleanup all memory management associated with the nodes on the heap
//
// args
// root - the current root of the tree
void cleanup_tree( TreeNode* root );
#endif // BST_H
以便代码仅在实际提交表单时触发(而不是在最初加载表单时)。
或者您使用AJAX执行后台提交,保留原始页面并显示给用户。