PHP编程:旧事宣布体系 (例子) 一 news
怎么样出来了吧,怎么样自己也可以写出php程序了,虽然离职业和专业的人还有很远,但是好的开始是成功的一半。这个时候改怎么做了呢。现在就是拿1本高手推荐的书,重头到尾读1遍,我说的这个读是自己看。 <?/*
News Donkey v1.0 d8b db d88888b db d8b db .d8888.
by Oscar Rylin 888o88 88' 88 I8I 88 88'YP
88V8o 88 88ooooo 88 I8I 88 `8bo.
88 V8o88 88~~~~~ Y8 I8I 88 `Y8b.
88V888 88. `8b d8'8b d8' db 8D
VP V8P Y88888P`8b8' `8d8'`8888Y'
d8888b..d88b.d8b db db dD d88888b db db
88`8D .8PY8. 888o88 88 ,8P' 88' `8bd8'
88 88 88 88 88V8o 88 88,8P 88ooooo`8bd8'
88 88 88 88 88 V8o88 88`8b 88~~~~~ 88
88.8D `8bd8' 88V888 88 `88. 88. 88
Y8888D'`Y88P'VP V8P YP YD Y88888P YP
This script was made by Oscar Rylin (oscar@mgon.com) while learning PHP w/
MySQL connections.
What the script Does:
* Provides an easy way to Read news from a MySQL database
* Prints it out in a nice HTML format which is customizable
* Provides a secure interface (user/password validation through a MySQL db)
* Updating news, deleting and adding users and lots of other stuff
*/
include "dbconn.php"; // This is http://zend.com/codex.php?id=35&single=1
include "settings.php"; // The settings file
?>
<html>
<head>
<title>newsM0nger1.0</title>
<style type="text/css">
.section { font-weight: bold; font-size:10pt; }
.newsTxt { font-weight: normal; font-size:10pt; color: #ffffff; font-family: verdana; }
a { font-weight: bold; font-size:10pt; color: #ffffff; font-family: verdana; }
a.normal { font-weight: bold; font-size:10pt; color: #000000; font-family: verdana; }
</style>
</head>
<body bgcolor="white">
<? print $header; ?>
<center>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="black">
<?
$db = mysql_connect($dbHost, $dbUser, $dbPass);
mysql_select_db($dbName,$db);
$result = mysql_query("select count(id) as Total from news",$db);
$row = mysql_fetch_array($result);
mysql_close($db);
if ($row > 5) {
$pCount = 0;
print "<b>Archive</b> ?";
print "<a href=\"$PHP_SELF?start=0\" class=\"normal\">Main</a> ";
while ($pCount < ($row/5)-1) {
++$pCount;
print "<a href=\"$PHP_SELF?start=". ($pCount*5) ."\" class=\"normal\">$pCount</a> ";
}
}
$tmpDL = 0;
$sql = new CDBMySQL($dbHost, $dbUser, $dbPass, $dbName);
if ($start) {
$sql -> Query ("SELECT * FROM news WHERE id < ". ($row - $start) . " ORDER BY id DESC");
} else {
$sql -> Query ("SELECT * FROM news ORDER BY id DESC");
}
while (($sql -> ReadRow()) && ($tmpDL < $newsDL)){
$id = ($sql -> RowData["id"]);
$date = ($sql -> RowData["date"]);
$poster = ($sql -> RowData["user"]);
$header = ($sql -> RowData["header"]);
$news = ($sql -> RowData["news"]);
$news = nl2br($news);
$uDB = new CDBMySQL($dbHost, $dbUser, $dbPass, $dbName);
$uDB -> Query ("SELECT * FROM users where user=\"$poster\"");
while ($uDB -> ReadRow()){
$email = ($uDB -> RowData["email"]);
}
$uDB -> Close();
$format = "
<tr>
<td width=\"579\" height=\"20\" background=\"section.gif\" class=\"section\" colspan=\"2\">
<font color=\"white\">$date</font> - <font color=\"#003366\">$header</font>
</td>
</tr>
<tr>
<td bgcolor=\"#666688\" class=\"newsTxt\" colspan=\"2\">
$news
<br>
-- <a href=\"mailto:$email\">$poster</a>
</td>
</tr>
<tr>
<td bgcolor=\"#ffffff\" height=\"20\" colspan=\"2\">
</td>
</tr>
";
print "$format";
++$tmpDL;
}
//$sql -> Close();
?>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="579">
<tr><td width="50%" align="left"><img src=http://www.163design.net/p/b/"php.gif"></td><td width="50%" align="right"><img src=http://www.163design.net/p/b/"mysql.gif"></td></tr>
</table>
</center>
<? print $footer; ?>
</body>
</html>我是根据自己的成长历程来写的,如有不对的还请指正。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 本文当是我的笔记啦,遇到的问题随时填充 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
页:
[1]