第一次接触php写web页面,算是从零开始
在windows下使用了wamp组合包,又是高度集成,直接下载安装,
使用了yii框架来建立一个网站,这个网上教程超级多,也有很多文档
简单记录下自己遇到的问题:
从控制器取视图页面的值
比如在
view页面里有
<span style="font-size:18px;"><form id="upForm" action="<?php echo $this->createUrl('viewTask');?>"
<span style="white-space:pre"> </span>method="post" enctype="multipart/form-data"> </span>
<span style="font-size:18px;"><input type="text" name="taskname" value="" />
<input type="text" name="attachment" value="" />
<input type="submit" name="createTask" value="创建任务" /> </span>
<span style="font-size:18px;"></form></span>
注意里面的method定义为post,
如果想在控制器xxcontroller里面获取这个文本框的值和按钮点击事件,只需要在控制器里相应的actionXXX()里使用$taskname = $_POST['taskname'];
$attachment = $_POST['attachment'];
而判断按钮事件是否触发:
if(isset($_POST['createTask'])){ ... }
而在view里面获取控制器的值就比较麻烦点,听说ajax可以获取,花了半天研究了下
在view里面写
</pre><pre name="code" class="javascript"><head>
<script type="text/javascript" src="jquery-2.1.1.min.js">
</script>
<script>
function myfunction()
{
$.get("index.php?r=project/viewTask",
{
name:"YaoMing",
tage:12
},
function(a,status) {
alert(a);
});
}
</script>
</head>
要下载上面的jquery-2.1.1.min.js 放到 与protected文件夹同级目录下,其中的name和age是传递给controller的值
然后其中的function中的a就是从controller ProjectController里面的actionViewTask()函数里获取的echo的值 22
不过也需要在public function actionViewTask()里面写
if(Yii::app()->request->isAjaxRequest)
{
<span style="white-space:pre"> </span>$name = $_GET['name'];
<span style="white-space:pre"> </span>$age = $_GET['age'];
<span style="white-space:pre"> </span>echo $age+10;
}
else
{
<span style="white-space:pre"> </span>//正常的控制代码
}