While và do while

Một phần của tài liệu TẠO NHỮNG TRANG PHP SỬ DỤNG PHP5 (Trang 38 - 44)

Như ta đã thấy hàm foreach hoạt động trên mỗi phần tử của mảng. Ta cũng có thể dùng câu lệnh while để làm điều đó.

Ví dụ: Sử dụng vòng lặp while để in ra dãy số từ 15 $num = 1; while ($num <= 5) { echo $num; echo “<br>”; $num = $num + 1; }

Tương tự với do .. while cũng cho ra cùng kết quả. $num = 1; do { echo $num; echo “<br>”; $num = $num + 1 } while ($num <= 5); Ví dụ : về việc sử dụng hàm while: 1. Thay đổi movie1.php như sau:

<?php

session_start();

$_SESSION[‘userpass’] = $_POST[‘pass’]; $_SESSION[‘authuser’] = 0;

// kiểm tra username và password

if (($_SESSION[‘username’] == ‘Joe’) and $_SESSION[‘userpass’] = = ‘12345’)) {

$_SESSION[‘authuser’] = 1; } else {

echo “Sorry, but you don’t have permission to view this page, you loser!”;

exit(); }

?> <html> <head>

<title>Find my Favorite Movie!</title> </head>

<body>

<?php include “header.php” ?> <?php

$myfavmovie=urlencode(“Life of Brian”);

echo “<a href=’moviesite.php?favmovie=$myfavmovie’>”; echo “Click here to see information about my favorite movie!”; echo “</a>”;

echo “<br>”; /*

echo “<a href=’moviesite.php’>”;

echo “Click here to see my top 10 movies.”; echo “</a>”;

echo “<br>”;

echo “Click here to see my top 10 movies, sorted alphabetically.”; echo “</a>”;

*/

echo “Or choose how many movies you would like to see:”; echo “</a>”;

echo “<br>”; ?>

<form method=”post” action=”moviesite.php”> <p>Enter number of movies (up to 10):

<input type=”text” name=”num”> <br>

Check here if you want the list sorted alphabetically: <input type=”checkbox” name=”sorted”>

</p>

<input type=”submit” name=”Submit” value=”Submit”> </form>

</body> </html> (adsbygoogle = window.adsbygoogle || []).push({});

2. Thay đổi moviesite.php: <?php

session_start();

//check to see if user has logged in with a valid password if ($_SESSION[‘authuser’] != 1) {

echo “Sorry, but you don’t have permission to view this page, you loser!”;

exit(); } ?> <html> <head>

<title>My Movie Site</title> </head>

<body>

<?php include “header.php”; ?> <?php

$favmovies = array(“Life of Brian”, “Stripes”,

“Office Space”, “The Holy Grail”, “Matrix”,

“Terminator 2”, “Star Wars”,

“Close Encounters of the Third Kind”, “Sixteen Candles”,

“Caddyshack”);

if (isset($_REQUEST[‘favmovie’])) {//isset(xac dinh mot bien co trong //tap hop khong)

echo “Welcome to our site, “; echo $_SESSION[‘username’]; echo “! <br>”;

echo “My favorite movie is “; echo $_REQUEST[‘favmovie’]; echo “<br>”;

$movierate = 5;

echo “My movie rating for this movie is: “; echo $movierate;

} else {

echo “My top “. $_POST[“num”] . “ movies are:<br>”; if (isset($_REQUEST[‘sorted’])) {

}

//list the movies $numlist = 1;

while ($numlist <= $_POST[“num”]) { echo $numlist; echo “. “; echo pos($favmovies); next($favmovies); echo “<br>\n”; $numlist = $numlist + 1; } /*

foreach ($favmovies as $currentvalue) { echo $currentvalue; echo “<br>\n”; } */ } ?> </body> </html> Kết quả Hình 2.11

Hình 2.11

Khi điền vào ô một số và đánh dấu check vào ô kiểm tra thì kết quả sẽ hiện ra danh sách có số phần tử bằng với con số nhập vào và sắp xếp theo thứ tự alphabel.

Chú ý:

- Chúng ta thêm vào echo một vài thủ thuật:

Echo”My top”.$_POST[“num”].”movie are:<br>”;

Với phương thức này bạn có thể gặp vài lỗi và dấu nháy kép(“) không được nhận ra. (adsbygoogle = window.adsbygoogle || []).push({});

- Bạn đặt $numlist là 1, và điều này kiểm tra con số bạn đặt.

- Bạn sử dụng biến $_POST[“num”] để đặt giới hạn danh sách bạn cho; con số này được cho bởi người sử dụng trong file movie1.php

- Hàm pos($favmovies) cũng là hàm mới. Hàm này trả về giá trị hiện hành nơi mà con trỏ được bắt đầu. Bạn muốn thấy giá trị hiện hành thì xuất ra hàm này.

- Hàm next($favmovies) cũng là hàm mảng khác mà con trỏ của mảng chỉ tới giá trị tiếp theo trong hàng. Điều này dễ dàng lặp lại trong mệnh đề tiếp theo.

1.12.Những cú pháp xen lẫn trong php.1.12.1. Xen lẫn giữa <?php và ?> 1.12.1. Xen lẫn giữa <?php và ?>

Bạn có thể xem code php trong html trong cách khác

- <? và ?> Phải mở trong file php.ini với thẻ mở ngắn. - <% và %> Phải mở trong file php.ini với thẻ ASP

- <script language=”PHP”> and </script>.Đây là giá trị không chuyển đổitrong file php.ini trong file php.ini

Một phần của tài liệu TẠO NHỮNG TRANG PHP SỬ DỤNG PHP5 (Trang 38 - 44)