php 模拟 asp.net webFrom 按钮提交事件实例_PHP
由于公司需要php方面的项目开发,php刚刚入门,在写按钮提交过程中,asp.net里的按钮事件更好些。先看下面的代码,
<? 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>"; } ?>
<form name="aa" method="post" action="?<?=Comm::GetParam()?>"> <input type="submit" name="bAdd" value="添加" /> <input type="submit" name="bedit" value="修改" /> <input type="submit" name="sdfsdfdsf" value="ewrewrewr" /> </form>
做过asp.net开发的对上面的代码应该有点熟悉,如:Page_Load,Page.IsPostback,bAdd_Click,这些很像asp.net的事件。
以上代码在点击【添加】按钮时运行bAdd_Click函数(暂且这么叫,function好像是函数的意思),同样的,点击【修改】按钮自动运行bEdit_Click事件。不需要过多的参数变化,也不需要过多的文件,若页面功能不是很复杂的情况下,用这种模式可以快速开发。
下面来看看EventHelper.php这个文件的代码:
<? 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(); ?>
以上功能大家可以测试下,在我php5.4可以运行成功,不过在安全性方面还没考虑过多,看过一些文章php会有可能通过客户端执行php代码,因为php很许多实用的功能特性。
关于Comm::GetParam,由于经常需要获取get方式的参数,或修改参数,如分页时需要保留所有url参数,只修改分页参数(如page=5),所以就自行写了一些代码。
主要利用php以下几个特点:
function_exists
get_defined_functions
以及利用常用的表单提交原理,利用submit提交原理 实现功能的。
由于时间仓促,来不及说明具体原理,还请见谅,代码大家都可以看懂的。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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

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,

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 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 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,

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.

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

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
