Discuz教程网

PHP结合表单实现一些简单功能的例子

[复制链接]
authicon dly 发表于 2011-9-1 20:02:31 | 显示全部楼层 |阅读模式
例子一(POST提交表单):
代码如下:

  1. <html>
  2. <head>
  3. <title>
  4. Chunkify Form
  5. </title>
  6. </head>
  7. <body>
  8. <form action="chunkify.php" method="POST">
  9. Enter a word:
  10. <input type="text" name="word"/><br/>
  11. How long should be the chunks be?
  12. <input type="text" name="number"/><br />
  13. <input type="submit" value="Chunkify">
  14. </form>
  15. </body>
  16. </html>
复制代码

代码如下:

  1. <html>
  2. <head>
  3. <title>
  4. Chunkify Word
  5. </title>
  6. </head>
  7. <?php
  8. $word=$_POST['word'];
  9. $number=$_POST['number'];
  10. $chunks=ceil(strlen($word)/$number);
  11. echo "The $number-letter chunks of '$word' are:<br/>\n";
  12. for ($i = 0;$i<$chunks;$i++){
  13. $chunk=substr($word,$i*$number,$number);
  14. printf("%d: %s<br />\n",$i+1,$chunk);
  15. }
  16. ?>
  17. </body>
  18. </html>
复制代码



20110604115534421.png
html显示出来的页面。
20110604115534570.png
提交表单后php处理出来的页面。在这个例子中,我输入一个单词,然后给定一个长度,将单词等分成该长度的块。
演示了通过POST方法提交表单。
例子二(单选,GET接受表单):
代码如下:

  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
  2. Select your personality attributes:<br/>
  3. <select name="att[]" >
  4. <option value="perky">perky</option>
  5. <option value="morese">morose</option>
  6. <option value="thinking">thinking</option>
  7. <option value="feeling"> feeling</option>
  8. <option value="thrifty">speed-thrift</option>
  9. <option value="prodigal">shopper</option>
  10. </select>
  11. <br>
  12. <input type ="submit" name="s" value="Record my personality">
  13. </form>

  14. <?php
  15. if (array_key_exists('s',$_GET)){
  16. $des = implode(' ', $_GET['att']);
  17. echo "You have a $des personality.";
  18. }
  19. ?>
复制代码




20110604115534487.png
例子三(多选,GET接受表单):

注意到此时<select name="att[]" multiple> 下划线告诉GET你传输的是个数组,黑体字部分则是表示改选择框为多选框
代码如下:

  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
  2. Select your personality attributes:<br/>
  3. <select name="att[]" multiple>
  4. <option value="perky">perky</option>
  5. <option value="morese">morose</option>
  6. <option value="thinking">thinking</option>
  7. <option value="feeling"> feeling</option>
  8. <option value="thrifty">speed-thrift</option>
  9. <option value="prodigal">shopper</option>
  10. </select>
  11. <br>
  12. <input type ="submit" name="s" value="Record my personality">
  13. </form>

  14. <?php
  15. if (array_key_exists('s',$_GET)){
  16. $des = implode(' ', $_GET['att']);
  17. echo "You have a $des personality.";
  18. }
  19. ?>

复制代码


20110604115534111.png
例子四(复选框checkbox): 同样name="att[]"是告诉GET你传输的是一个数组, checked 则表示该选项为初始默认选择,同样上例,在标签内加入 selected="selected"也可以

让多选初始默认选择。
代码如下:

  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
  2. Select your personality attributes:<br/>
  3. perky<input type="checkbox" name="att[]" value="perky" checked /> <br/>
  4. morose<input type="checkbox" name="att[]" value="morose" checked /> <br/>
  5. thinking<input type="checkbox" name="att[]" value="thinking" /> <br/>
  6. feeling<input type="checkbox" name="att[]" value="feeling" /> <br/>
  7. <br>
  8. <input type ="submit" name="s" value="Record my personality">
  9. </form>

  10. <?php
  11. if (array_key_exists('s',$_GET)){
  12. echo "<pre>";
  13. print_r($_GET);
  14. echo "</pre>";
  15. if (is_null($_GET['att'])) exit;

  16. $des = implode(' ', $_GET['att']);
  17. echo "You have a $des personality.";
  18. }
  19. ?>

复制代码


20110604115534788.png
例子五(单选框): 注意,同一个选项即可的单选必须name相等
代码如下:

  1. <form>
  2. 男性:
  3. <input type="radio" checked="checked" name="Sex" value="male" />
  4. <br />
  5. 女性:
  6. <input type="radio" name="Sex" value="female" />
  7. <br>
  8. <hr>
  9. 男性:
  10. <input type="radio" checked="checked" name="Se" value="male" />
  11. <br />
  12. 女性:
  13. <input type="radio" name="Se" value="female" />
  14. </form>
  15. <p>当用户点击一个单选按钮时,该按钮会变为选中状态,其他所有按钮会变为非选中状态。</p>

复制代码


20110604115534740.png
例子六(stick form):一个表格如何要实现之前输入过的值在页面刷新后仍然存在可以如下
代码如下:

  1. <?php
  2. $f = $_POST['fa'];

  3. ?>

  4. <form action = "<?php echo $_SERVER['PHP_SELF']; ?> " method="POST">
  5. temperature:
  6. <input type="text" name="fa" value="<?php echo $f;?>" />;
  7. <br/>
  8. <input type="submit" name="Convert to Celsius" />
  9. </form>
  10. <?php
  11. if (!is_null($f)){
  12. $c = ($f-32)*5/9;
  13. printf("%.2lf is %.2lfC",$f,$c);
  14. }
  15. ?>

复制代码


20110604115534249.png
20110604115534372.png

都是一些简单的表单处理~
Knowledge make me stronger!





上一篇:PHP学习之运算符相关概念
下一篇:PHP学习笔记之预定义数组(超全局数组)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-8-2 14:54

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表