一直都是用框架很简单,突然想自己手写一个发现不会。
就是很简单的画面类似注册。
一个php和三个html(输入页,确认页,完了页)。
我想要的效果是输入页输入完提交,php去check有问题提示没问题页面跳转到确认页。确认页提交就跳到完了页。
问题就是输入页action提交phpcheck完后如果将错误信息的数组返回到输入页。
如何将错误信息返回到输入页进行显示。php和html两个不同的页面之间的绑定是用require_once吗
ãã<?php
ããheader("Content-type: text/html; charset=gb2312");
ããheader("Pragma: no-cache");
ããheader("Expires: 0");
ãã@$action = $_REQUEST ['action'];
ãã$sid = MyTool::generateId ();
ããif (! $action)
ãã$action = "list";
ããTrace::debug ( $action );
ããif ($action == "save") {
ãã$reply = $_REQUEST ['reply'];//è·ååå¤å¼
ããprint_r($reply);
ãã$id = $_REQUEST ['f_id'];
ããCourseService::updateApplyState($db,$id,TrainApply::STATUS_PASS);
ãã$apply=CourseService::getTrainApply($db,$id);
ãã$student=$apply->owner;
ãã$trainId=$apply->train;
ãã$train=CourseService::getTrainSchedule($db,$trainId);
ãã$pass_test=$train->test==""?0:-1;
ãã$pass_judge=$train->judge==""?0:-1;
ãã$pass_readrate=$train->readrate==""?0:-1;
ãã$pass_feedback=$train->feedback==""?0:-1;
ãã$mc = new MyCourse();
ãã$mc->schedule_id = $train->id;
ãã$mc->course_id = $train->course_id;
ãã$mc->user_id = $student;
ãã$mc->type = $train->catalog;
ãã$mc->state = MyCourse::STATE_WAITING;
ãã$mc->pass_test = $pass_test;
ãã$mc->pass_judge =$pass_judge ;
ãã$mc->pass_feedback = $pass_feedback;
ãã$mc->pass_readrate = $pass_readrate;
ãã$mc->score = $train->score;
ãã$mc->starttime = $train->starttime;
ãã$mc->endtime = $train->endtime;
ãã$mc->coursename = $train->name;
ããCourseService::save($db, $mc);
ããprint"<script>alert('éè¿æä½æåï¼');window.close();location.href='applyreply.php?action=list'</script>";
ãã}
ããif ($action == "reject") {
ãã$id = $_REQUEST ['f_id'];
ãã$sql = "update t_train_apply set f_status=2 where f_id='".$id."'";
ããTrace::debug ( $sql );
ãã$db->Execute ( $sql );
ããprint"<script>alert('æç»æä½æåï¼');window.close();location.href='applyreply.php?action=list'</script>";
ãã}
ããif ($action == "list") {
ãã$pagination = new MyPagination(0,1);
ãã$UserID = $_SESSION[AuthorizationHelper::SESSION_USER_KEY]['id'];
ãã$as = CourseService::listApply($db,$pagination,null,null,null,$UserID);
ãã//print_r($as);
ãã?>
ãã<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ãã<html xmlns="http://www.w3.org/1999/xhtml">
ãã<head>
ãã<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
ãã<title>æ æ é¢ææ¡£</title>
ãã<?= HTMLTool::includeResource() ?>
ãã<link href="../css/css.css" rel="stylesheet" type="text/css" />
ãã<script language="JavaScript">
ãã$(function() {
ãã$('#tabs').tabs({spinner:'å è½½...',fx:{ opacity: 'toggle' },selected:2});
ãã});
ããfunction passIt(id){
ããvar url = '<?php print $_SERVER['PHP_SELF'] ?>';
ããvar pars = 'action=pass&f_id='+id;
ããalert(url+"?"+pars);
ãã// open(url+"?"+pars);
ããvar myAjax = new Ajax.Request(
ããurl,
ãã{
ããmethod: 'get',
ããparameters: pars,
ããonComplete:done
ãã});
ããafterPass(id);
ãã}
ããfunction afterPass(id){
ãã// alert(originalRequest.responseXML);
ãã// var result = originalRequest.responseXML.getElementsByTagName("id");
ãã// alert(result.length);
ããdocument.getElementById('button_'+id).style.display='none';
ããdocument.getElementById('status_'+id).innerHTML='éè¿';
ãã}
ããfunction rejectIt(id){
ããvar url = '<?php print $_SERVER['PHP_SELF'] ?>';
ããvar pars = 'action=reject&f_id='+id;
ãã//alert(url+"?"+pars);
ããvar myAjax = new Ajax.Request(
ããurl,
ãã{
ããmethod: 'get',
ããparameters: pars,
ããonComplete:done
ãã});
ããafterReject(id);
ãã}
ããfunction afterReject(id){
ãã// alert(originalRequest.responseXML);
ãã// var result = originalRequest.responseXML.getElementsByTagName("id");
ãã// alert(result.length);
ããdocument.getElementById('button_'+id).style.display="none";
ããdocument.getElementById('status_'+id).innerHTML="驳å";
ãã}
ããfunction done(){
ããalert("æä½æå");
ãã}
ãã</script>
ãã</head>
ãã<body >
ãã<!-- 导èªæ -->
ãã<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="navigationbar" class="navigationbar">
ãã<tr><td height="28" >æ¨ç°å¨çä½ç½®: <a href="../welcom.php">é¦é¡µ</a> >> <a href="#">èè¯ç®¡ç</a> >>èè¯ç³è¯·ç®¡ç</td></tr>
ãã</table>
ãã<table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">
ãã<tr>
ãã<td valign="top">
ãã<table width="100%" border="0" cellpadding="1" cellspacing="1" class="listtable">
ãã<thead>
ãã<tr>
ãã<td width="150">èè¯å称</td>
ãã<td>ç³è¯·åå </td>
ãã<td width="150">ç³è¯·äºº</td>
ãã<td width="130">ç³è¯·æ¶é´</td>
ãã<td width="80">ç¶æ</td>
ãã<td width="80">管ç</td>
ãã</tr>
ãã</thead>
ãã<?php
ãã//foreach($as as $a){
ãã//Trace::debug($a);
ãã//$schedule = CourseService::getTrainSchedule($db,$a->train);
ãã//$u = UserService::getUser($db,$a->owner);
ãã?>
ãã<tr>
ãã<td><?= $schedule->name ?></td>
ãã<td><?= $a->name ?></td>
ãã<td><?= $u->trueName ?></td>
ãã<td><?= MyTool::formatDate($a->createtime)?></td>
ãã<td><span id="status_<?= $a->id ?>"><?= TrainApply::$STATUS_ARRAY[$a->status]?></span></td>
ãã<td> <span id="button_<?= $a->id ?>">
ãã<?php if($a->status==TrainApply::STATUS_WAITING) {?>
ãã<a href="?action=pass&f_id=<?= $a->id ?>">éè¿</a>
ãã<a href="application_manage.php?action=reject&f_id=<?= $a->id ?>">æç»</a>
ãã<?php } ?>
ãã</td>
ãã</tr>
ãã<?php //} ?>
ãã</table>
ãã<?php include($_SERVER['DOCUMENT_ROOT']."/train/common/pagination.php")?>
ãã</td>
ãã</tr>
ãã</table>
ãã</body>
ãã</html>
ãã<?php }?>
ãã<?php if($action=="pass") {//åå¤
ãã?>
ãã<html>
ãã<head>
ãã<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
ãã<title>æ æ é¢ææ¡£</title>
ãã<?= HTMLTool::includeResource() ?>
ãã<script >
ãã$(document).ready(function(){
ãã$("#commonForm").validate();
ãã});
ãã</script>
ãã</head>
ãã<body>
ãã<table width="98%" border="0" cellspacing="0" cellpadding="0">
ãã<tr>
ãã<td>
ãã<table width="100%" border="0" cellspacing="0" cellpadding="0">
ãã<tr>
ãã<td class="border_left_up"></td>
ãã<td class="border_middle_up"><span class="pagetitle">建议åå¤</span></td>
ãã<td class="border_right_up"></td>
ãã</tr>
ãã</table>
ãã</td>
ãã</tr>
ãã<tr>
ãã<td align="center">
ãã<table width="100%" border="0" cellspacing="0" cellpadding="0">
ãã<tr>
ãã<td class="border_left_middle"> </td>
ãã<td align="center">
ãã<form id="commonForm" method="post">
ãã<input type="hidden" name="action" value="save"/>
ãã<input type="hidden" name="id" value="<?php print $_REQUEST ['id']?>" />
ãã<textarea class="required" rows="10" cols="120" name="reply" maxlength="500">æ¨ç建议已é纳ï¼è°¢è°¢åä¸</textarea><br>
ãã<span class="btn_green"><span><button type="submit" id="sure">æ 交</button></span></span>
ãã</form>
ãã</td>
ãã<td class="border_right_middle"> </td>
ãã</tr>
ãã</table>
ãã</td>
ãã</tr>
ãã<tr>
ãã<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
ãã<tr>
ãã<td class="border_left_down"></td>
ãã<td class="border_middle_down"> </td>
ãã<td class="border_right_down"></td>
ãã</tr>
ãã</table></td>
ãã</tr>
ãã</table>
ãã</body>
ãã</html>
ãã<?php } ?>
ãã
谢谢 谢谢 都写在php文件里的那种方法我知道,其实我想知道的是一个php里面写逻辑,表示的部分分成3个不同的html。就是html和php之间数据传输不太清楚。
谢谢啦
其实你得先明白一个概念,什么叫做模板技术,,其实模板也只是通过PHP程序把HTML文件内容通过特定的函数来解析HTML里面特定的标签(特殊规则字符),然后输出,最后出来的东西还是混编的东西,建议你看看UCHOM的源码就明白了。。。如果硬要说PHP如何跟HTML中间传输数据,只有AJAX了。。
谢谢 不是不认可你的方法 就是个人不是很喜欢 session里存数据 ^^