小型 Twitter 的系统 流碼+註釋,PHP
小型 Twitter 的系统 源碼+註釋,PHP
?
今天重新吧 小型twitter系統的源碼 認真研究了一邊 算是熟悉php把?
爲今後一個月的畢業設計做打算
?
下載
http://dl.vmall.com/c0nkwafdqz
?
index
?
<?phpsession_start ();include_once ('header.php');include_once ('functions.php');$_SESSION ['userid'] = 1;//设置session真正情况是在登录的时候设置?><!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" xml:lang="en" lang="en"><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Microblogging Application</title></head><p> <a href='users.php'>see list of users</a></p><?phpif (isset ( $_SESSION ['message'] )) {//如果session中设置了message就显示出来.然后释放 echo "<b>" . $_SESSION ['message'] . "</b>"; unset ( $_SESSION ['message'] );}?><form method='post' action='add.php'> <p>Your status:</p> <textarea name='body' rows='5' cols='40' wrap=VIRTUAL></textarea> <p> <input type='submit' value='submit' /> </p><?php$users = show_users($_SESSION['userid']);//显示用户follow的用戶if (count($users)){ $myusers = array_keys($users);//返回數組中所有的key}else{ $myusers = array();}$myusers[] = $_SESSION['userid'];//應該在myusers數據末尾添加用戶自己$posts = show_posts($myusers,5);//顯示用戶follow用戶的五條postif (count ( $posts )) { ?><table border='1' cellspacing='0' cellpadding='5' width='500'><?php foreach ( $posts as $key => $list ) { echo "<tr valign='top'>\n"; echo "<td>" . $list ['userid'] . "</td>\n"; echo "<td>" . $list ['body'] . "<br/>\n"; echo "<small>" . $list ['stamp'] . "</small></td>\n"; echo "</tr>\n"; } ?></table><?php} else { ?><p> <b>You haven't posted anything yet!</b> </p><?php}?><h2 id="Users-you-re-following">Users you're following</h2><?php$users = show_users ( $_SESSION ['userid'] );if (count ( $users )) { ?><ul><?php foreach ( $users as $key => $value ) { echo "<li>" . $value . "</li>\n"; } ?></ul><?php} else { ?><p> <b>You're not following anyone yet!</b> </p><?php}?></form></body></html>
headers
?
?
<?php$SERVER = 'localhost:3306';$USER = 'root';$PASS = 'root';$DATABASE = 'tweet';if (! ($mylink = mysql_connect ( $SERVER, $USER, $PASS ))) { echo "<h3 id="Sorry-could-not-connect-to-database">Sorry, could not connect to database.</h3><br/> Please contact your system's admin for more help\n"; exit ();}mysql_select_db ( $DATABASE );?>
users
<?phpsession_start ();include_once ("header.php");include_once ("functions.php");?><!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" xml:lang="en" lang="en"><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>Microblogging Application - Users</title></head><body> <h1 id="List-of-Users">List of Users</h1><?php$users = show_users ();$following = following(1);if (count ( $users )) { ?><table border='1' cellspacing='0' cellpadding='5' width='500'><?php foreach ( $users as $key => $value ) {//=>指的是获取数组内某一个单元内的元素的内容, echo "<tr valign='top'>\n"; echo "<td>" . $key . "</td>\n";//顯示id echo "<td>" . $value;//顯示id對應的值也就是value if (in_array ( $key, $following )) {//檢查key是否在following中 然后根据状态显示不同的值显示不同的信息 生成不同的指向action的链接 echo " <small> <a href='action.php?id=$key&do=unfollow'>unfollow</a> </small>"; } else { echo " <small> <a href='action.php?id=$key&do=follow'>follow</a> </small>"; } echo "</td>\n"; echo "</tr>\n"; } ?></table><?php} else { ?><p> <b>There are no users in the system!</b> </p><?php}?></body></html>
?
?
<?phpfunction add_post($userid, $body) { $sql = "insert into posts (user_id, body, stamp) values ($userid, '" . mysql_real_escape_string ( $body ) . "',now())"; $result = mysql_query ( $sql );}function show_posts($userid, $limit = 0) { $posts = array (); $user_string = implode ( ',', $userid ); $extra = " and id in ($user_string)"; if ($limit > 0) { $extra = "limit $limit"; } else { $extra = ''; } $sql = "select user_id,body, stamp from posts where user_id in ($user_string) order by stamp desc $extra"; echo $sql; $result = mysql_query ( $sql ); while ( $data = mysql_fetch_object ( $result ) ) { $posts [] = array ( 'stamp' => $data->stamp, 'userid' => $data->user_id, 'body' => $data->body ); } return $posts;}/** * 显示用户 * 如果user_id =0,直接显示所有用户 * 如果user id >0,显示改用户follow的用户id * @param unknown_type $user_id * @return multitype:|multitype:NULL */function show_users($user_id = 0) { if ($user_id > 0) { $follow = array (); $fsql = "select user_id from following where follower_id='$user_id'";//從follow中選出該id的follower $fresult = mysql_query ( $fsql ); while ( $f = mysql_fetch_object ( $fresult ) ) {//把結果作爲一個對象傳入 array_push ( $follow, $f->user_id );//把f中的user_id字段放到follow中 } if (count ( $follow )) { $id_string = implode ( ',', $follow );//以","作爲分割符來加工這個字符串,爲了拼接後面的sql $extra = " and id in ($id_string)"; } else { return array (); } } $users = array (); $sql = "select id, username from users where status='active' $extra order by username";//從user表中選出follower的 id 和 name $result = mysql_query ( $sql ); while ( $data = mysql_fetch_object ( $result ) ) { $users [$data->id] = $data->username;//想user中填入用戶名 } return $users;}/** * 搜索出用户follow的用户的id * @param unknown_type $userid * @return multitype: */function following($userid) { $users = array (); $sql = "select distinct user_id from following where follower_id = '$userid'"; $result = mysql_query ( $sql ); while ( $data = mysql_fetch_object ( $result ) ) { array_push ( $users, $data->user_id ); } return $users;}function check_count($first, $second) { $sql = "select count(*) from following where user_id='$second' and follower_id='$first'"; $result = mysql_query ( $sql ); $row = mysql_fetch_row ( $result ); return $row [0];}function follow_user($me, $them) { $count = check_count ( $me, $them ); if ($count == 0) { $sql = "insert into following (user_id, follower_id) values ($them,$me)"; $result = mysql_query ( $sql ); }}function unfollow_user($me, $them) { $count = check_count ( $me, $them ); if ($count != 0) { $sql = "delete from following where user_id='$them' and follower_id='$me' limit 1"; $result = mysql_query ( $sql ); }}?>
add
?
?
<?phpsession_start ();include_once ("header.php");include_once ("functions.php");$userid = $_SESSION ['userid'];$body = substr ( $_POST ['body'], 0, 140 );add_post ( $userid, $body );$_SESSION ['message'] = "Your post has been added!";header ( "Location:index.php" );?>
<?phpsession_start ();include_once ("header.php");include_once ("functions.php");/** 处理follow动作 */$id = $_GET ['id'];//获取get 方法传来的值 $_POST是post$do = $_GET ['do'];switch ($do) { case "follow" : follow_user ( $_SESSION ['userid'], $id ); $msg = "You have followed a user!";//设置信息 break; case "unfollow" : unfollow_user ( $_SESSION ['userid'], $id ); $msg = "You have unfollowed a user!"; break;}$_SESSION ['message'] = $msg;//在session中发送信息header ( "Location:index.php" );?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

パート 1: 最初のトラブルシューティング手順 Apple のシステムステータスを確認する: 複雑な解決策を掘り下げる前に、基本から始めましょう。問題はデバイスにあるのではなく、Apple のサーバーがダウンしている可能性があります。 Apple のシステム ステータス ページにアクセスして、AppStore が適切に動作しているかどうかを確認してください。問題があれば、Apple が修正してくれるのを待つしかありません。インターネット接続を確認します。「AppStore に接続できません」問題は接続不良が原因である場合があるため、安定したインターネット接続があることを確認してください。 Wi-Fi とモバイル データを切り替えるか、ネットワーク設定をリセットしてみてください ([一般] > [リセット] > [ネットワーク設定のリセット] > [設定])。 iOS バージョンを更新します。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

ユーザーは、ユーザーの使用中に生成されたデータ、プログラム コンテンツ、ドキュメント、音楽、その他のコンテンツを含むコンピューター内のフォルダーです。コンピューターでリソース マネージャーを開くと、users フォルダーが表示されます。コンピューターによっては、このフォルダーは users フォルダーとも呼ばれます。

Docker では、マウント ディレクトリの権限の問題は通常、-v パラメータを使用してマウント ディレクトリを指定するときに権限関連のオプションを追加することで解決できます。マウントされたディレクトリのアクセス許可を指定するには、マウントされたディレクトリの後に ro または :rw を追加します。それぞれ、読み取り専用と読み取り/書き込みアクセス許可を示します。例: dockerrun-v/host/path:/container/path:roimage_name Dockerfile で USER ディレクティブを定義してコンテナ内で実行するユーザーを指定し、コンテナ内での操作が権限要件に準拠していることを確認します。例: FROMimage_name#CreateanewuserRUNuseradd-ms/bin/

Watch4proとgtはそれぞれ特徴や適用シーンが異なりますが、総合的な機能、高性能、スタイリッシュな外観を重視し、価格は高くてもいいという方にはWatch 4 Proの方が適しているかもしれません。高度な機能要件はなく、バッテリー寿命と手頃な価格を重視する場合は、GT シリーズの方が適しているかもしれません。最終的な選択は、個人のニーズ、予算、好みに基づいて決定する必要がありますが、購入する前に自分のニーズを慎重に検討し、さまざまな製品のレビューや比較を参照して、より情報に基づいた選択を行うことをお勧めします。

win11でユーザーフォルダ名を変更するにはどうすればよいですか?実際、その方法は非常に簡単で、ユーザーはグループ ポリシー エディターを直接開き、Windows の設定でセキュリティ設定を入力して操作を実行することができ、操作はすぐに完了します。このサイトでは、win11ユーザーフォルダーの名前を変更する方法をユーザーに丁寧に紹介します。 win11 ユーザーフォルダーの名前を変更する方法 1. キーボードの「Win+R」キーの組み合わせを押します。 2. 「gpedit.msc」と入力し、Enter キーを押してグループ ポリシー エディタを開きます。 3. [Windows の設定] の下の [セキュリティの設定] を展開します。 4.開く(&L)
