Übrigens meine Website ist biogli.de wenn jemand gucken will was ich da fabriziere.
Von jeder Seite ist der HTML-Code kaputt. Sieh' dir mal an, was im Browser ankommt.
Und du weißt, dass Crosspostings nicht besonders beliebt sind?
Übrigens meine Website ist biogli.de wenn jemand gucken will was ich da fabriziere.
Von jeder Seite ist der HTML-Code kaputt. Sieh' dir mal an, was im Browser ankommt.
Und du weißt, dass Crosspostings nicht besonders beliebt sind?
Das mit mysqli und PDO liegt daran das ich mal nur eins von beiden im Netz finde was funktioniert.
Dieser Satz sagt eindeutig aus, dass du bisher keinerlei Verständnis für den Umgang mit Datenbanken hast. MySQLi und PDO sind Werkzeuge, mit denen der Datenbankzugriff möglich ist. Welches Werkzeug man nimmt, ist dabei Geschmacksache. PDO hat den Vorteil, dass es relativ leicht möglich ist, den DB-Server zu wechseln, also z.B. von MySQL auf PostgreSQL. Wenn man, was meist der Fall ist, nur mit MySQL zu tun hat, kann mal also auch MySQLi einsetzen.
Die Datenbankabfragen sind in vielen Fällen identisch, und genau da hast du zu große Wissenlücken. Ich habe dir ja schon einige Datenbankzugriffe geschrieben, die du aber mit hoher Wahrscheinlichkeit einfach nur kopiert hast, ohne wirklich zu verstehen, was da passiert.
Du steckst in der Situation, dass du die Grundlagen von PHP nicht beherrscht und auch nicht die Grundlagen von Datenbankabfragen. Dann springst du noch von einem Projekt zum nächsten und kopierst wie wild Beispiele aus dem Netz. So wirst du das nie vernünftig lernen!
Soll für den besucherzähler sein.
Mal sind wir bei einer Suchfunktion, dann wieder bei einem Besucherzähler und bestimmt sind wir bald bei dem Gästebuch und alles in einem Thread!
Und mal nutzt du MySQLi, dann wieder PDO, aber nichts davon richtig. Bleib' doch endlich mal bei einer Sache und wechsele nicht ständig die Vorgehensweise. Das macht dich doch nur noch strubbeliger.
Eine simple Zeitmessung habe ich dir schon gezeigt ![]()
Siehe array wort liste
Der Datenbankserver wird bei deiner Abfrage noch nicht mal richtig warm, 800 Datensätze sind doch nichts.
Du solltest dich aber mal im Netz schlau machen, wie man eine Suche durch Seiten richtig macht. Alle Seiten in eine DB zu stopfen ist bestimmt nicht der richtige Weg.
Oder ist da noch was verbesserungs würdig?
Eine while-Schleife, die nichts tut und 2 x mysqli_num_rows
Und wo kommt $suchwort her?
Gibt es so nee Kombi abfrage?
Liest du auch die Antworten richtig, die du bekommst?
Du kannst aber mysqli_num_rows nutzen.
Du solltest dich für einen Weg entscheiden, nicht mal MySQLi und dann PDO.
ich habe diesen Codeteil gesehen:
Der steht so in der Doku.
und frage mich für was man sowas denn braucht? Hat dies Vorteile?
Wenn du ein Script auf mehreren Domain laufen hast, ist das direkte Schreiben der URL immer anzupassen
Ich halte dies für überflüssig und auch gefährlich. Weil über $_SERVER['PHP_SELF'] können auch XSS-Attacken erfolgen.
Das dirname entschärft die Sache.
Die tragen doch zum Fehler finden nicht bei.
Doch!!! Es kann auch vorkommen, dass da steht
output started .....php:1
Dann kann das noch ein ganz anderes Problem sein. Und wo siehst du da einen Link? Für mich stehen da nur Pfade drin, die keinem was nutzen und genau die könntest du unkenntlich machen, Aber eben nicht die relevanten Teile der Fehlermeldung wegschneiden.
Die ist voll ständig.
Nein, ist sie nicht, vollständig ist doch wohl:
ZitatWarning: Cannot modify header information - headers already sent by (output started at /users/sebastian1012/www/homepagebasti1012/gastebuch/admin.php:16) in /users/sebastian1012/www/homepagebasti1012/gastebuch/admin.php on line 22
Entferne mal die echos.
Die ja auch keinen Sinn machen, da man sie nie sieht. ![]()
Warning: Cannot modify header information - headers already sent by (output started at /link.php
Und wieder eine verstümmelte Fehlermeldung, der entscheidende Teil fehlt (output started....)
google liefert mit
Warning: Cannot modify header information - headers already sent
Zitat
Ungefähr 1.710.000 Ergebnisse
Das sollte reichen.
Mit 12 px siehtst du kaum einen Unterschied, schreibe mal als Test 20px, dann siehst du es.
Also, Tutorials gibt es zu dem Thema massenhaft. Daher verstehe ich nicht so ganz, warum du da nichts Passendes finden kannst.
Beispieltabelle:
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`user` varchar(32) COLLATE utf8_german2_ci NOT NULL,
`pass` varchar(64) COLLATE utf8_german2_ci NOT NULL,
`email` varchar(64) COLLATE utf8_german2_ci NOT NULL,
`imgurl` varchar(32) COLLATE utf8_german2_ci NOT NULL,
`ondate` datetime NOT NULL,
`isadmin` tinyint(1) NOT NULL DEFAULT 0
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_german2_ci;
--
-- Daten für Tabelle `users`
--
INSERT INTO `users` (`id`, `user`, `pass`, `email`, `imgurl`, `ondate`, `isadmin`) VALUES
(1, 'willi', 'favfvvgERGV-YVsvdfrrfrf', 'willi@example.com', 'images/willi.jpg', '2018-04-02 18:13:03', 0),
(2, 'theo', 'vrfrefvnjalvbehqrlgvbba', 'theo@example.com', 'images/theo.jpg', '2018-04-02 18:13:03', 0),
(3, 'otto', 'refergafrGRegrEGVADDAERRgE', 'otto@example.com', 'images/otto.jpg', '2018-04-02 18:13:03', 1);
Alles anzeigen
Und ein Beispielscript zur Überprüfung des Logins:
<?php
session_start();
if (isset($_POST['user']))
{
$mysqli = mysqli_connect("host", "user", "pw", "datenbank");
if (mysqli_connect_errno())
die("Connect failed: " . mysqli_connect_error());
$query = "Select
`user`,
`pass`,
`email`,
`imgurl`,
`isadmin`
from
`users`
where
`user`='". mysqli_real_escape_string($mysqli, $_POST['user']) . "'";
$result = mysqli_query($mysqli, $query)
or die("MySQL-Error: " . mysqli_error($mysqli));
if (mysqli_num_rows($result))
{
$row = mysqli_fetch_assoc($result);
if (password_verify($_POST['pass'], $row['pass']))
{
$_SESSION['user'] = $row['user'];
$_SESSION['pass'] = $row['pass'];
$_SESSION['email'] = $row['email'];
$_SESSION['imgurl'] = $row['imgurl'];
$_SESSION['isadmin'] = $row['isadmin'];
if ($row['isadmin'])
{
header ("Location: url_zum_admin_bereich");
exit;
}
else
{
header ("Location: url_zum_user_bereich");
exit;
}
}
}
}
?>
Alles anzeigen
In jedem Script, dass nur für den Admin bestimmt ist, schreibst du an den Anfang:
<?php
session_start();
if (! isset($_SESSION['isadmin']) || ! $_SESSION['isadmin'])
{
header ("Location: url_zum_user_bereich_oder_login");
exit;
}
?>
Das ist natürlich alles nicht getestet, aber das Prinzip sollte klar werden.
Bei
div.panel
eine font-size setzen.
Da ich ja 2 Tabellen habe
Das ist schon suboptimal. Eine Tabelle reicht, wenn noch eine Spalte hinzukommt, w.z.B isAdmin oder soetwas in der Art
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.