php 模拟 asp.net webFrom 按钮提交事件实例,asp.netwebfrom_PHP教程
php 模拟 asp.net webFrom 按钮提交事件实例,asp.netwebfrom
由于公司需要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提交原理 实现功能的。
由于时间仓促,来不及说明具体原理,还请见谅,代码大家都可以看懂的。
怎么样触发验证控件的文字?验证失败就显示错误消息这样啊,内部应该是各种验证方法,比如正则表达式之类的。
方法一: 直接指定 事件

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Transformer는 다양한 기계 학습 작업에 널리 사용되며 훌륭한 결과를 얻었습니다. 그렇다면 또 어떻게 사용할 수 있을까요? 상상력이 뛰어난 연구자들은 실제로 이를 사용하여 프로그래밍 가능한 컴퓨터를 설계하고 싶어합니다! "프로그램 가능한 컴퓨터로서의 루프형 트랜스포머"라는 제목의 이 논문의 저자는 프린스턴 대학교와 위스콘신 대학교 출신이며, 트랜스포머를 사용하여 범용 컴퓨터를 구현하는 방법을 탐구하는 것을 목표로 합니다. 특히 저자는 특정 가중치로 프로그래밍하고 루프에 배치함으로써 변압기 네트워크를 범용 컴퓨터로 사용하기 위한 프레임워크를 제안합니다. 이 프레임워크에서

머신 러닝을 통해 컴퓨터 그래픽(CG) 시뮬레이션을 더욱 현실감 있게 만들어보세요! 이 방법은 NFM(Neural Flow Maps)이라고 하며, 4개의 소용돌이로 연기를 정확하게 시뮬레이션할 수 있습니다. 더 복잡한 것 또한 쉽게 실현할 수 있습니다. AI 애플리케이션이 하늘을 날아다니는 이 시대에도 CG 물리 시뮬레이션은 여전히 그렇습니다. 전통적인 수치 알고리즘의 세계입니다. △NFM은 '도약(leapfrog)'을 시뮬레이션합니다. CG에 신경망을 적용하면 눈부신 시각적 효과를 낼 수 있지만 물리적 특성을 엄격하고 확실하게 설명할 수는 없습니다. △NFM이 '잉크 방울'을 시뮬레이션하는 이유는 신경망을 기반으로 한 물리적 시뮬레이션이 아직 개념 증명 단계에 있고, 생성되는 효과가 SOTA와는 거리가 멀기 때문입니다. 이 복잡한 문제를 해결하기 위해,

최근 삼성전자는 로컬 AI 역량을 강화하고 사용자에게 보다 개인화된 AI 경험을 제공하기 위해 영국 지식 그래프 스타트업 옥스포드 시맨틱 테크놀로지스(Oxford Semantic Technologies) 인수를 발표했습니다. 이 회사의 주요 제품은 지식 그래프 기술을 사용해 정보를 상호 연결된 네트워크로 저장하는 AI 엔진인 RDFox입니다. 데이터를 처리하는 방식은 인간이 지식을 획득하고, 기억하고, 회상하고, 추론하는 방식과 유사합니다. 이 기술은 사용자가 사용하는 제품이나 서비스에 대한 기기의 이해도를 높여 신속한 정보 검색 및 추천을 가능하게 합니다. Oxford Semantic Technologies는 2017년 옥스퍼드 대학교 교수 Ian Horrocks, Boris Motik 및 Bernardo Cuenca 세 명이 설립한 것으로 알려져 있습니다.

난수 시뮬레이션을 위해 math/rand 패키지를 사용하세요. math/rand 패키지를 가져오세요. 난수 생성기를 초기화하려면 time.Now().UnixNano()를 사용하세요. rand.Intn(n)을 사용하여 0과 n-1 사이의 임의의 정수를 생성합니다. rand.Float64()를 사용하여 0과 1 사이의 부동 소수점 숫자를 생성합니다.

PHP 및 WebDriver 확장: 사용자의 스크롤 및 드래그 동작을 시뮬레이션하는 방법 네트워크 애플리케이션이 지속적으로 개발됨에 따라 점점 더 많은 웹사이트와 애플리케이션에서 사용자의 스크롤 및 드래그 동작을 시뮬레이션해야 합니다. 이는 테스터와 개발자가 웹사이트와 애플리케이션이 다양한 시나리오에서 제대로 작동하는지 확인하는 데 매우 중요합니다. 이 기사에서는 PHP 및 WebDriver 확장을 사용하여 사용자 스크롤 및 드래그 동작을 시뮬레이션하는 방법을 소개합니다. WebDriver는 브라우저를 자동화하는 도구입니다.

API 테스트 및 시뮬레이션을 위해 GitLab을 사용하는 방법 소개: 소프트웨어 개발 과정에서 API(애플리케이션 프로그래밍 인터페이스, 애플리케이션 프로그래밍 인터페이스) 테스트 및 시뮬레이션은 개발자가 API의 정확성과 성능을 확인하는 데 도움이 될 수 있습니다. 잠재적인 문제를 미리 발견할 수 있습니다. GitLab은 버전 제어 및 팀 협업과 같은 기능을 구현하는 매우 인기 있는 코드 호스팅 플랫폼입니다. 이번 글에서는 Git 사용법을 소개하겠습니다.

겉으로는 멀고 완전히 다른 두 분야인 파이썬과 양자컴퓨팅은 놀라운 방식으로 얽혀 알고리즘과 양자 상태의 조화로운 소리를 연주하며 디지털 세계의 웅장한 교향곡을 구성합니다. 파이썬의 단순함과 우아함, 양자 컴퓨팅의 경이로움과 신비가 서로 충돌하여 무한한 불꽃을 일으키며 복잡한 문제를 해결하고 양자 컴퓨팅의 새로운 시대를 열 수 있는 흥미로운 가능성을 제공합니다. 널리 사용되는 프로그래밍 언어인 Python은 학습 용이성, 풍부한 라이브러리 및 광범위한 응용 프로그램으로 인해 양자 컴퓨팅 분야에서 없어서는 안될 도구가 되었습니다. 파이썬의 등장으로 양자컴퓨팅의 문턱이 낮아지면서 더 많은 사람들이 이 첨단 분야의 연구와 응용에 참여할 수 있게 됐다. 양자 컴퓨팅을 위한 NumPy 및 SciPy와 같은 Python의 수많은 라이브러리

1. 소개 JUnit은 Java 언어에서 가장 널리 사용되는 단위 테스트 프레임워크로, 읽기 쉽고 유지 관리가 가능하며 신뢰할 수 있는 테스트 코드를 쉽게 작성하고 유지 관리할 수 있도록 해줍니다. 이 가이드에서는 Java 애플리케이션 테스트에 JUnit을 효과적으로 사용하는 데 도움이 되는 단계별 지침, 코드 예제 및 모범 사례 팁을 제공합니다. 2. 시작하기 2.1 테스트 프로젝트 설정 프로젝트에 JUnit 종속성을 추가하여 테스트 기능을 활성화합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 종속성을 추가하십시오. junitjunit
