Eine simple Zeitmessung habe ich dir schon gezeigt
Siehe array wort liste
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
Sicherlich kann man auch alles auf einmal auslesen oder das Passwort direkt in der query prüfen.
Was auch effektiver wäre.
Man kann einer Person lediglich Ratschläge geben. Ob er diese annimmt ist seine ganz eigene Sache.
Das stimmt, ich werde mich jetzt bei basti1012 komplett zurückhalten, weil ich für mich keinen Sinn darin sehe, Hinweise und Tipps zu geben, wenn sie dann ignoriert werden.
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.