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提交原理 实现功能的。
由于时间仓促,来不及说明具体原理,还请见谅,代码大家都可以看懂的。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Transformer ist zu einer beliebten Wahl für verschiedene maschinelle Lernaufgaben geworden und hat großartige Ergebnisse erzielt. Wie kann es also sonst verwendet werden? Forscher mit großer Fantasie wollen damit tatsächlich programmierbare Computer entwerfen! Die Autoren dieses Papiers mit dem Titel „Looped Transformers as Programmable Computers“ stammen von der Princeton University und der University of Wisconsin und wollen untersuchen, wie Transformers zur Implementierung von Allzweckcomputern verwendet werden können. Konkret schlagen die Autoren einen Rahmen für die Verwendung von Transformatornetzwerken als Allzweckcomputer vor, indem sie mit bestimmten Gewichten programmiert und in Schleifen platziert werden. in diesem Rahmen

Maschinelles Lernen macht Computergrafiksimulationen (CG) realistischer! Die Methode heißt Neural Flow Maps (NFM) und kann Rauch mit vier Wirbeln genau simulieren. Komplexere lassen sich auch leicht realisieren: Wissen Sie, in Zeiten von KI-Anwendungen, die über den ganzen Himmel fliegen, ist die CG-Physiksimulation immer noch das Richtige ist die Welt der traditionellen numerischen Algorithmen. △NFM simuliert „Überspringen“. Obwohl die Anwendung neuronaler Netze in CG atemberaubende visuelle Effekte erzeugen kann, können physikalische Eigenschaften nicht streng und robust beschrieben werden. △NFM simuliert „Tintentröpfchen“. Genau aus diesem Grund befindet sich die physikalische Simulation auf Basis neuronaler Netze noch im Proof-of-Concept-Stadium und die erzeugten Effekte sind weit von SOTA entfernt. Um dieses komplexe Problem zu lösen,

Kürzlich gab Samsung die Übernahme von Oxford Semantic Technologies, einem britischen Knowledge-Graph-Startup, bekannt, um seine lokalen KI-Fähigkeiten zu verbessern und Benutzern ein personalisierteres KI-Erlebnis zu bieten. Das Hauptprodukt des Unternehmens ist die KI-Engine RDFox, die Wissensgraphentechnologie nutzt, um Informationen als vernetztes Netzwerk zu speichern. Die Art und Weise, wie sie Daten verarbeitet, ähnelt dem menschlichen Denken: Wissen erwerben, speichern, abrufen und darüber nachdenken. Diese Technologie wird das Verständnis des Geräts für die von Benutzern genutzten Produkte oder Dienstleistungen verbessern und so einen schnellen Informationsabruf und Empfehlungen ermöglichen. Es wird davon ausgegangen, dass Oxford Semantic Technologies 2017 von drei Professoren der Universität Oxford, Ian Horrocks, Boris Motik und Bernardo Cuenca, gegründet wurde.

So verwenden Sie GitLab für API-Tests und -Simulationen. Einführung: Im Prozess der Softwareentwicklung ist das Testen und Simulieren von APIs (Application Programming Interface, Anwendungsprogrammierschnittstelle) ein sehr wichtiger Schritt. Es kann Entwicklern helfen, die Richtigkeit und Leistung der API zu überprüfen. und kann potenzielle Probleme im Voraus erkennen. GitLab ist eine sehr beliebte Code-Hosting-Plattform, die Funktionen wie Versionskontrolle und Teamzusammenarbeit implementiert. In diesem Artikel wird die Verwendung von Git vorgestellt

PHP- und WebDriver-Erweiterungen: So simulieren Sie das Scroll- und Ziehverhalten von Benutzern Mit der kontinuierlichen Entwicklung von Netzwerkanwendungen müssen immer mehr Websites und Anwendungen das Scroll- und Ziehverhalten von Benutzern simulieren. Dies ist für Tester und Entwickler sehr wichtig, um sicherzustellen, dass Websites und Anwendungen in verschiedenen Szenarien ordnungsgemäß funktionieren. In diesem Artikel stellen wir vor, wie Sie PHP- und WebDriver-Erweiterungen verwenden, um das Scroll- und Ziehverhalten von Benutzern zu simulieren. WebDriver ist ein Tool zur Automatisierung von Browsern,

Verwenden Sie das Paket math/rand für die Simulation von Zufallszahlen: Importieren Sie das Paket math/rand. Verwenden Sie time.Now().UnixNano(), um den Zufallszahlengenerator zu initialisieren. Verwenden Sie rand.Intn(n), um eine zufällige Ganzzahl zwischen 0 und n-1 zu generieren. Verwenden Sie rand.Float64(), um eine Gleitkommazahl zwischen 0 und 1 zu generieren.

Python und Quantencomputing, zwei scheinbar weit entfernte und völlig unterschiedliche Bereiche, sind auf unglaubliche Weise miteinander verflochten und ergeben einen harmonischen Klang aus Algorithmen und Quantenzuständen, der eine großartige Symphonie der digitalen Welt komponiert. Die Einfachheit und Eleganz von Python und das Wunder und Geheimnis des Quantencomputings kollidieren miteinander und erzeugen unendliche Funken, die aufregende Möglichkeiten zur Lösung komplexer Probleme bieten und eine neue Ära des Quantencomputings eröffnen. Python, eine beliebte Programmiersprache, ist aufgrund ihrer einfachen Erlernbarkeit, ihrer umfangreichen Bibliotheken und ihres breiten Anwendungsspektrums zu einem unverzichtbaren Werkzeug im Bereich des Quantencomputings geworden. Das Aufkommen von Python hat die Schwelle des Quantencomputings gesenkt und es mehr Menschen ermöglicht, an Forschung und Anwendungen in diesem hochmodernen Bereich teilzunehmen. Die zahlreichen Python-Bibliotheken wie NumPy und SciPy für Quantencomputing

1. Einführung JUnit ist das beliebteste Unit-Test-Framework in der Java-Sprache, das das Schreiben und Verwalten von lesbarem, wartbarem und zuverlässigem Testcode erleichtert. Dieses Handbuch enthält Schritt-für-Schritt-Anleitungen, Codebeispiele und Best-Practice-Tipps, die Ihnen dabei helfen, JUnit effektiv zum Testen von Java-Anwendungen zu nutzen. 2. Erste Schritte 2.1 Einrichten des Testprojekts Fügen Sie dem Projekt eine JUnit-Abhängigkeit hinzu, um die Testfunktionalität zu aktivieren. Wenn Sie Maven verwenden, fügen Sie die folgende Abhängigkeit in die Datei pom.xml ein: junitjunit
