Maison développement back-end tutoriel php php 模拟 asp.net webFrom 按钮提交事件实例_PHP

php 模拟 asp.net webFrom 按钮提交事件实例_PHP

May 31, 2016 pm 07:29 PM
模拟

由于公司需要php方面的项目开发,php刚刚入门,在写按钮提交过程中,asp.net里的按钮事件更好些。先看下面的代码,

<&#63;
require_once '../inc/EventHelper.php';

function Page_Load()
{
echo '在任何时候都会运行<br>';

if(!Page::IsPostBack())
{
echo '加载产品分类<br>';
if($_GET['cmd']=='edit') 
{
echo '修改加载需要修改的产品信息<br>';
}
}
}

function bAdd_Click()
{
//Comm::CheckQX('产品管理_添加');
echo "bAdd_Click<br>";
}

function bEdit_Click()
{
//Comm::CheckQX('产品管理_修改');
echo 'proID='.$_GET['proID'].'<br>';
echo "bEdit_Click<br>";
}

function sdfsdfdsf_Click()
{
echo "e44444444444444444444<br>";
}

&#63;>
Copier après la connexion

<form name="aa" method="post" action="&#63;<&#63;=Comm::GetParam()&#63;>">
<input type="submit" name="bAdd" value="添加" />
<input type="submit" name="bedit" value="修改" />
<input type="submit" name="sdfsdfdsf" value="ewrewrewr" />
</form>
Copier après la connexion

做过asp.net开发的对上面的代码应该有点熟悉,如:Page_Load,Page.IsPostback,bAdd_Click,这些很像asp.net的事件。

以上代码在点击【添加】按钮时运行bAdd_Click函数(暂且这么叫,function好像是函数的意思),同样的,点击【修改】按钮自动运行bEdit_Click事件。不需要过多的参数变化,也不需要过多的文件,若页面功能不是很复杂的情况下,用这种模式可以快速开发。

下面来看看EventHelper.php这个文件的代码:

<&#63;
class Page
{
//是否回发数据,1:是
public static function IsPostBack()
{
global $SYSRunEventName;
return !empty($SYSRunEventName);
}

//加载并执行事件
function EventLoad()
{
global $SYSRunEventName;

$arrEvent=get_defined_functions();
$arrEventUser=$arrEvent['user'];

$arr=array_keys($_POST);
foreach($arr as $row)
{
$name=strtolower($row);
foreach($arrEventUser as $row1)
{
$name1=str_ireplace('_click','',$row1);
if($name==$name1)
{
$SYSRunEventName=$row1;
break;
}
}

if(!empty($SYSRunEventName))
{
break; 
}
}

if(function_exists('Page_Load')) 
Page_Load();

$SYSRunEventRunName=strtolower($SYSRunEventName);

if(Page::IsPostBack())
{
$SYSRunEventName();
}
}
}

class Comm
{
public static function GetParam($params=array(),$cmd='addoverride')
{
$allParam=array();

if($cmd=='addoverride')
{
$arrKeys=array_keys($params);
foreach($arrKeys as $row)
{
if(!in_array($row,array_keys($allParam))) 
$allParam[$row]=$params[$row];
}
}
else if($cmd=='del')
{
foreach($params as $row)
{
unset($_GET[$row]); 
}
}


$arrKeys=array_keys($_GET);
foreach($arrKeys as $row)
{
if(!in_array($row,array_keys($allParam)))
$allParam[$row]=$_GET[$row];
}

$p='';
$arrKeys=array_keys($allParam);
foreach($arrKeys as $row)
{
$p.=$row.'='.$allParam[$row].'&';
}
return rtrim($p,'&');
}
}

Page::EventLoad();
&#63;>
Copier après la connexion

以上功能大家可以测试下,在我php5.4可以运行成功,不过在安全性方面还没考虑过多,看过一些文章php会有可能通过客户端执行php代码,因为php很许多实用的功能特性。

关于Comm::GetParam,由于经常需要获取get方式的参数,或修改参数,如分页时需要保留所有url参数,只修改分页参数(如page=5),所以就自行写了一些代码。

主要利用php以下几个特点:

function_exists
get_defined_functions

以及利用常用的表单提交原理,利用submit提交原理 实现功能的。

由于时间仓促,来不及说明具体原理,还请见谅,代码大家都可以看懂的。

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.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

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)

Utilisant Transformer comme ordinateur à usage général, il peut également exécuter des algorithmes d'apprentissage en contexte. Cette recherche est très imaginative. Utilisant Transformer comme ordinateur à usage général, il peut également exécuter des algorithmes d'apprentissage en contexte. Cette recherche est très imaginative. Apr 13, 2023 am 11:31 AM

Transformer est devenu un choix populaire pour diverses tâches d’apprentissage automatique et a obtenu d’excellents résultats, alors comment peut-il être utilisé autrement ? Des chercheurs dotés d’une grande imagination souhaitent en effet l’utiliser pour concevoir des ordinateurs programmables ! Les auteurs de cet article, intitulé « Looped Transformers as Programmable Computers », viennent de l'Université de Princeton et de l'Université du Wisconsin et visent à explorer comment utiliser les Transformers pour mettre en œuvre des ordinateurs à usage général. Plus précisément, les auteurs proposent un cadre pour utiliser les réseaux de transformateurs comme ordinateurs à usage général en les programmant avec des poids spécifiques et en les plaçant dans des boucles. dans ce cadre

Le simulateur AI adopte le nouveau SOTA en simulation physique ! Le simulateur AI adopte le nouveau SOTA en simulation physique ! Feb 19, 2024 pm 06:50 PM

L'apprentissage automatique rend les simulations d'infographie (CG) plus réalistes ! La méthode s'appelle Neural Flow Maps (NFM), qui peut simuler avec précision la fumée avec quatre vortex : des plus complexes peuvent également être facilement réalisés : vous savez, à l'ère des applications d'IA volant dans le ciel, la simulation physique CG est toujours là. est le monde des algorithmes numériques traditionnels. △NFM simule un « saute-mouton ». Bien que l'application de réseaux de neurones en CG puisse créer des effets visuels éblouissants, elle ne peut pas décrire de manière stricte et robuste les propriétés physiques. △NFM simule des « gouttelettes d'encre » C'est précisément pour cette raison que la simulation physique basée sur les réseaux de neurones est encore au stade de la preuve de concept, et les effets générés sont loin de SOTA. Afin de résoudre ce problème complexe,

Samsung acquiert la startup britannique Knowledge graph Local AI simule la pensée humaine pour gérer les tâches Samsung acquiert la startup britannique Knowledge graph Local AI simule la pensée humaine pour gérer les tâches Jul 19, 2024 pm 12:44 PM

Récemment, Samsung a annoncé l'acquisition d'Oxford Semantic Technologies, une startup britannique de graphes de connaissances, pour améliorer ses capacités d'IA locales et offrir aux utilisateurs une expérience d'IA plus personnalisée. Le produit principal de l'entreprise est le moteur d'IA RDFox, qui utilise la technologie des graphes de connaissances pour stocker les informations sous forme de réseau interconnecté. La façon dont il traite les données est similaire à la façon dont les humains pensent : acquérir, mémoriser, rappeler et raisonner sur les connaissances. Cette technologie améliorera la compréhension par l'appareil des produits ou services utilisés par les utilisateurs, permettant ainsi une récupération rapide des informations et des recommandations. Il est entendu qu'Oxford Semantic Technologies a été fondée en 2017 par trois professeurs de l'Université d'Oxford : Ian Horrocks, Boris Mortick et Bernardo Cuenca.

Comment utiliser GitLab pour les tests et la simulation d'API Comment utiliser GitLab pour les tests et la simulation d'API Oct 27, 2023 pm 05:35 PM

Comment utiliser GitLab pour les tests et la simulation d'API Introduction : Dans le processus de développement logiciel, les tests et la simulation d'API (Application Programming Interface, interface de programmation d'application) sont une étape très importante. Ils peuvent aider les développeurs à vérifier l'exactitude et les performances de l'API. et peut découvrir les problèmes potentiels à l'avance. GitLab est une plateforme d'hébergement de code très populaire qui implémente des fonctions telles que le contrôle de version et la collaboration en équipe. Cet article explique comment utiliser Git

Extensions PHP et WebDriver : comment simuler le comportement de défilement et de glissement de l'utilisateur Extensions PHP et WebDriver : comment simuler le comportement de défilement et de glissement de l'utilisateur Jul 07, 2023 pm 04:15 PM

Extensions PHP et WebDriver : Comment simuler les comportements de défilement et de glissement des utilisateurs Avec le développement continu des applications réseau, de plus en plus de sites Web et d'applications doivent simuler les comportements de défilement et de glissement des utilisateurs. Ceci est très important pour les testeurs et les développeurs afin de garantir que les sites Web et les applications fonctionnent correctement dans divers scénarios. Dans cet article, nous présenterons comment utiliser les extensions PHP et WebDriver pour simuler le comportement de défilement et de glissement des utilisateurs. WebDriver est un outil pour automatiser les navigateurs,

Comment simuler en utilisant des nombres aléatoires dans Golang ? Comment simuler en utilisant des nombres aléatoires dans Golang ? Jun 06, 2024 pm 01:16 PM

Utilisez le package math/rand pour la simulation de nombres aléatoires : importez le package math/rand. Utilisez time.Now().UnixNano() pour initialiser le générateur de nombres aléatoires. Utilisez rand.Intn(n) pour générer un entier aléatoire compris entre 0 et n-1. Utilisez rand.Float64() pour générer un nombre à virgule flottante compris entre 0 et 1.

La magnifique symphonie de Python et de l'informatique quantique : composer le son harmonieux des algorithmes et des états quantiques La magnifique symphonie de Python et de l'informatique quantique : composer le son harmonieux des algorithmes et des états quantiques Feb 19, 2024 pm 11:24 PM

Python et l'informatique quantique, deux domaines apparemment éloignés et complètement différents, s'entrelacent d'une manière incroyable, jouant un son harmonieux d'algorithmes et d'états quantiques, composant une magnifique symphonie du monde numérique. La simplicité et l'élégance de Python ainsi que les merveilles et le mystère de l'informatique quantique se heurtent pour créer des étincelles infinies, offrant des possibilités passionnantes pour résoudre des problèmes complexes et ouvrir une nouvelle ère de l'informatique quantique. Python, un langage de programmation populaire, est devenu un outil indispensable dans le domaine de l'informatique quantique en raison de sa facilité d'apprentissage, de ses bibliothèques riches et de sa large gamme d'applications. L’émergence de Python a abaissé le seuil de l’informatique quantique, permettant à davantage de personnes de participer à la recherche et aux applications dans ce domaine de pointe. Les nombreuses bibliothèques de Python, telles que NumPy et SciPy, pour l'informatique quantique

Guide pratique Java JUnit : écriture de tests fiables Guide pratique Java JUnit : écriture de tests fiables Feb 19, 2024 pm 01:50 PM

1. Introduction JUnit est le framework de tests unitaires le plus populaire du langage Java, ce qui facilite l'écriture et la maintenance d'un code de test lisible, maintenable et fiable. Ce guide fournit des instructions étape par étape, des exemples de code et des conseils sur les meilleures pratiques pour vous aider à utiliser efficacement JUnit pour les tests d'applications Java. 2. Mise en route 2.1 Configurer le projet de test Ajoutez une dépendance JUnit au projet pour activer la fonctionnalité de test. Lorsque vous utilisez Maven, ajoutez la dépendance suivante dans le fichier pom.xml : junitjunit

See all articles