Hallo,
ich möchte per Klick auf einen Link, einen wert weitergeben, nachdem in einer Datenbank gesucht wird, sagen wir eins(es wird nach id 1 gesucht). zu der id wird etwas gefunden, und es ist ein Link. Dieser Link wird in eine Variable namens inhalt gepackt und durch include wird die Variable ausgegeben.
<?php
session_start();
$pdo = new PDO('mysql:host=localhost;dbname=altislife', 'root', '');
$zugriff = true;
if(!isset($_SESSION['userid'])) {
$zugriff = false;
}
//Abfrage der Nutzer ID vom Login
$userid = $_SESSION['userid'];
$sql = "SELECT * FROM users WHERE id = '".$userid."' ";
foreach ($pdo->query($sql) as $row) {
$benutzername = $row['benutzername'];
$email = $row['email'];
$rang = $row['rang'];
$created_at = $row['created_at'];
$updatet_at = $row['update_at'];
}
$timestamp = time();
$datum = date("d.m.Y - H:i", $timestamp);
if(isset($_GET['inhalt'])) {
$inhalt = $_GET['inhalt'];
$sql = "SELECT * FROM inhalte WHERE id = '".$inhalt."' ";
foreach ($pdo->query($sql) as $row);
$link = $row['inhalt'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title>...-Adminbereich</title>
<link href="styles/intern.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="haupt">
<?php
if($zugriff == false) {
?>
<div class="block">
Sie sind nicht eingeloggt. <a href="login.php">Zurück zum Login.</a>
</div>
<?php
}
if($zugriff == true) {
?>
<aside class="logout">
<?php
echo "<h4>Hallo, ".$benutzername."</h4><br/>
<a>Ihre email: ".$email."<br />
Ihr Adminrang: ".$rang."<br />
Admin seit: ".$created_at."<br /><br />
Datum: ".$datum."</a>";
?>
<br/><br/>
<a href="logout.php">Logout</a>
</aside>
<aside class="menue">
<a href="?inhalt=1" >Neuen Admin registrieren</a>
</aside>
<section>
<?php
include($link);
?>
</section>
<?php
}
?>
</div>
</body>
</html>
Alles anzeigen
Die Standart Datei.
<?php
$pdo = new PDO('mysql:host=localhost;dbname=altislife', 'root', '');
$showFormular = true; //Variable ob das Registrierungsformular anezeigt werden soll
$datum = date("d.m.Y - H:i");
if(isset($_GET['register'])) {
$error = false;
$benutzername = $_POST['name'];
$email = $_POST['email'];
$rang = $_POST['rang'];
$passwort = $_POST['passwort'];
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo 'Bitte eine gültige E-Mail-Adresse eingeben<br>';
$error = true;
}
if(strlen($passwort) == 0) {
echo 'Bitte ein Passwort angeben<br>';
$error = true;
}
//Überprüfe, dass die E-Mail-Adresse noch nicht registriert wurde
if(!$error) {
$statement = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$result = $statement->execute(array('email' => $email));
$user = $statement->fetch();
if($user !== false) {
echo 'Diese E-Mail-Adresse ist bereits vergeben<br>';
$error = true;
}
}
//Keine Fehler, wir können den Nutzer registrieren
if(!$error) {
$passwort_hash = password_hash($passwort, PASSWORD_DEFAULT);
$statement = $pdo->prepare("INSERT INTO users (email, passwort, benutzername, rang, created_at) VALUES (:email, :passwort, :benutzername, :rang, :created_at)");
$result = $statement->execute(array('email' => $email, 'passwort' => $passwort_hash, 'benutzername' => $benutzername, 'rang' => $rang, 'created_at' => $datum));
if($result) {
echo 'Du wurdest erfolgreich registriert. <a href="login.php">Zum Login</a>';
$showFormular = true;
} else {
echo 'Beim Abspeichern ist leider ein Fehler aufgetreten<br>';
}
}
}
if($showFormular) {
?>
<form action="?register=1" method="post">
Benutzername:<br/>
<input type="text" size="40" maxlength="250" name="name"/><br /><br/>
E-Mail:<br/>
<input type="email" size="40" maxlength="250" name="email"/><br/><br/>
Admin rang:
<select name="rang" size="1">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select><br/><br/>
Dein Passwort:<br/>
<input type="password" size="40" maxlength="250" name="passwort"/><br/>
<input type="submit" value="Abschicken"/>
</form>
<br/>
<?php
} //Ende von if($showFormular)
echo $datum;
?>
</body>
</html>
Alles anzeigen
Die einzubidende Datei.
Wenn ich die Seite nun aufrufe, sieht zunächst alles richtig aus, doch wenn ich das formular, welches durch include eingesetzt wird, Abschicke, bekomme ich Warnungen, dass die Variable leer sei.
Zitat von PHP
Notice: Undefined variable: link in C:\xampp\htdocs\intern.php on line 72
Warning: include(): Filename cannot be empty in C:\xampp\htdocs\intern.php on line 72
Warning: include(): Failed opening '' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\intern.php on line 72
Hat einer eine idee was da nicht stimmt?
Vielen Dank schonmal im voraus.
Mfg
Nico