Table des matières
回复讨论(解决方案)
Maison interface Web tutoriel HTML 提交到当前页面,如何解决刷新重复提交表单的问题?_html/css_WEB-ITnose

提交到当前页面,如何解决刷新重复提交表单的问题?_html/css_WEB-ITnose

Jun 24, 2016 pm 12:25 PM

本帖最后由 lljl2009 于 2013-12-09 19:59:49 编辑

完全新手,请教大家!
要求是:
1. 页面中有一个form,两个按钮,一个是save,一个是cancel;form中的数据是从文件a中读取的;
2. form中的内容修改后,点save后保存数据到文件a中,仍然显示当前的页面;点cancel就取消更改;
3. 问题是当点刷新会重复提交表单,我是用cgi实现的,写了简单的代码如下:
show.html:
#include 
#include "cgic.h"
#include 
#include 

char text_value[]={"AAAAAAAA"}; // text_value is from a file
void htmlPage()
{
fprintf(cgiOut, "\n");
fprintf(cgiOut, "Test Form\n");

fprintf(cgiOut, " \n");

fprintf(cgiOut, "
\n");

fprintf(cgiOut, "\n",text_value);

fprintf(cgiOut, "\n");
fprintf(cgiOut, "\n");
fprintf(cgiOut, "
\n");

fprintf(cgiOut, "\n");
fprintf(cgiOut, "\n");
}

show_data.c:
#include 
#include "cgic.h"
#include 
#include 
#include 
#include "mypage.h"


int cgiMain()
{
if (cgiFormSubmitClicked("save") == cgiFormSuccess)
{
// save data to a file;
// ...
// reload page;
cgiHeaderContentType("text/html");
htmlPage();
return 0;
}
//read data from a file
// ...
cgiHeaderContentType("text/html");
htmlPage();
return 0;
}


4. 我实验了网上的几种方法:javascript中使用全局变量和使用一个隐藏的控件都不行,因为我的页面重新load后这个值总是初始值;使用隐藏的iframe,然后form的target指向这个frame,也不行,这样点了save后仍然可以执行cancel;不能在提交后将save控件disable,因为我在cgiMain中还要做一些保存数据等处理,disable后都没有执行这一块了。。。

我不明白其它的session,ajax等方法是怎么用的,能不能达到目的? 能否指点一下 该怎么做阿?没有头绪。。。

多谢拉!

回复讨论(解决方案)

页面后面生成一个随机的时间戳
后台提取前 session比对一下
如:
http://www.baidu.com?p=12345678912
服务器端  取 

if( isset( $_GET["p"] ) && $_GET["p"] != session["submit"] ){    // do sth.    // session["submit"] = $_GET["p"];};
Copier après la connexion
Copier après la connexion

页面后面生成一个随机的时间戳
后台提取前 session比对一下
如:
http://www.baidu.com?p=12345678912
服务器端 取

if( isset( $_GET["p"] ) && $_GET["p"] != session["submit"] ){    // do sth.    // session["submit"] = $_GET["p"];};
Copier après la connexion
Copier après la connexion


谢谢回复!页面后面 是指什么时候? 我应该在这个代码的什么部分去做? 还有这个Php代码我可以直接应用到我的代码中吗?

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

HTML est-il facile à apprendre pour les débutants? HTML est-il facile à apprendre pour les débutants? Apr 07, 2025 am 12:11 AM

HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

Quel est un exemple d'une balise de départ dans HTML? Quel est un exemple d'une balise de départ dans HTML? Apr 06, 2025 am 12:04 AM

Anexampleofastartingtaginhtmlis, qui abinginsaparagraph.startingtagsaressentialtinhtmlastheyinitiateelements, définit les éventualités, et la faculté de réduction des pages et de la construction de la création.

See all articles