background_1

System zum Folgen mit PHP

von pathologicalplay am

Ich habe für mein neustes Projekt ein einfaches System mit PHP umgesetzt, bei dem Nutzer anderen Nutzern folgen können.


CREATE TABLE `users` (
`user_id` int(10) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci

CREATE TABLE `follows` (
`follow_id` int(10) NOT NULL AUTO_INCREMENT,
`follower` int(10) NOT NULL,
`followed` int(10) NOT NULL,
PRIMARY KEY (`follow_id`),
KEY `follower` (`follower`),
KEY `followed` (`followed`),
CONSTRAINT `follows_ibfk_1` FOREIGN KEY (`follower`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `follows_ibfk_2` FOREIGN KEY (`followed`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci

Ausgabe derjenigen, dem ein Nutzer folgt.


$profile_owner_id = '';
if (isset($_GET['id'])) {
$profile_owner_id = (INT) $_GET['id'];
}

$view_follower = $db->prepare("SELECT follows.follower, follows.followed, users.username, users.user_id
FROM follows
LEFT JOIN users ON follows.followed = users.users_id
WHERE follows.follower = ?");
$view_follower->bind_param('i', $profile_owner_id);
$view_follower->execute();
$view_follower->store_result();
$view_follower->bind_result($follower, $followed, $name_of_followed_user, $id_of_followed_user);
if ($view_follower->num_rows != 0) {
echo "<ul>";
while ($view_follower->fetch()) {
echo '<li>'. '<a href="view_profile.php?id='. $id_of_followed_user .'">'.
htmlspecialchars($name_of_followed_user) .'</a>'. '</li>';
}
echo "</ul>";
} else {
echo "The user doesn't follow anyone yet.";
}
$view_follower->close();

Dann müssen wir noch überprüfen, ob ein Nutzer schon einem anderen Nutzer folgt, um die Schaltfläche zum Folgen oder Entfolgen einzublenden.


if (isset($_SESSION['logged_in']['user_id'])) {
$follower = (INT) $_SESSION['logged_in']['user_id'];
}

$follower_status = $db->prepare("SELECT COUNT(*)
FROM follows WHERE follower = ? AND followed = ?");
$follower_status->bind_param('ii', $follower, $profile_owner_id);
$follower_status->execute();
$follower_status->bind_result($result);
$follower_status->fetch();

if (isset($_SESSION['logged_in']['user_id'])
and $_SESSION['logged_in']['user_id'] != $profile_owner_id and $result == 0) {
echo '<form class="profile_follows_submit" action="" method="post">
<input type="hidden" name="act" value="FOLLOW">
<input type="submit" value="FOLLOW"></form>';
}
if (isset($_SESSION['logged_in']['user_id'])
and $_SESSION['logged_in']['user_id'] != $profile_owner_id and $result == 1) {
echo '<form class="profile_follows_submit" action="" method="post">
<input type="hidden" name="act" value="UNFOLLOW">
<input type="submit" value="UNFOLLOW"></form>';
}
$follower_status->close();

Zuletzt folgt die Anweisung, um die Beziehung zu speichern oder zu entfernen.


if (isset($_POST['act']) and $_POST['act']  == 'FOLLOW') {

if (isset($_SESSION['logged_in']['user_id'])) {
$follower = (INT) $_SESSION['logged_in']['user_id'];
}

$followed = '';
if (isset($_GET['id'])) {
$followed = (INT) $_GET['id'];
}

$save_follower = $db->prepare("INSERT INTO follows(follower, followed) VALUES(?, ?)");
$save_follower->bind_param('ii',$follower, $followed);
$save_follower->execute();
}

if (isset($_POST['act']) and $_POST['act']  == 'UNFOLLOW') {

if (isset($_SESSION['logged_in']['user_id'])) {
$follower = (INT) $_SESSION['logged_in']['user_id'];
}

$followed = '';
if (isset($_GET['id'])) {
$followed = (INT) $_GET['id'];
}

$unfollow = $db->prepare("DELETE FROM follows WHERE follower = ? AND followed = ? LIMIT 1");
$unfollow->bind_param('ii', $follower, $followed);
$unfollow->execute();
}

Forumskript

von pathologicalplay am

Ich habe ein einfaches Forumskript mit PHP programmiert.

download-pathologicalplay.com

Installation des Forums

ppbb_frontend_1

ppbb_frontend_2

ppbb_frontend_3

ppbb_frontend_4

ppbb_frontend_5

ppbb_frontend_6

ppbb_frontend_7

ppbb_frontend_8

ppbb_backend_1

ppbb_backend_2

ppbb_backend_3

Anmeldeskript mit Registrierung

von pathologicalplay am

Ich habe ein Registrierungs- und Anmeldeskript mit PHP programmiert.

download-pathologicalplay.com

Installation des Registrierungs- und Anmeldeskriptes

registrierungsskript_1

registrierungsskript_2

registrierungsskript_3

registrierungsskript_4

registrierungsskript_5

Shanghai Dragon

von pathologicalplay am

Anbei eine Montage aus dem Videospiel Shanghai Dragon. Shanghai Dragon ist ein echter Geheimtipp und läuft problemlos mit dgVoodoo2 auf W11.

shanghai dragon gameplay

shanghai dragon demo

1 2 3 4