Bei der Datenbankabfrage zum Anzeigen des Datums der Nachricht lässt du dir zum Zeitpunkt der Ausführung des Skripts auf deinem Server ein neues Datum erstellen und fragst mit der Funktion date() nicht den Datenbankwert ab, was du denke ich eigentlich machen wolltest. Das ist kein Fehler deiner Serverkonfiguration sondern ein Fehler mit "$ausgabe->datum" und der Funktion date(). Ansonsten sehr schöner Erklärstil und wirklich aufschlussreich.
👍🏽 Ich empfehle auch immer die Variablennamen in englischer Sprache zu benennen, da man so "gedanklich" keine Mehrarbeit leisten muss mit 2 Sprachen (Englisch, Deutsch - mit Programmiersprache PHP 3)
3:52 das ist aber eine komische Syntax für if in PHP, die kannte ich noch gar nicht. BTW was für eine Tastatur nutzt du in dem Video? Klingt so mechanisch?
Ja die Tastatur im Video ist eine mechanische Tastatur und zwar die G910 von Logitech. Bin allerdings mittlerweile auf eine andere Tastatur (Logitech MX Keys) umgestiegen.
Hallo MSDev :-) Mir gefallen deine Tutorials sehr gut, aber mir ist gerade ein Fehler in deinem Code aufgefallen: in der Zeile mit der if-Abfrage, ob die Verbindung zur Datenbank geklappt hat: if($db->connection_error): Hier hast du dich vertan. Es muss richtig heißen: if($db->connect_error): connection_error gibt es in PHP garnicht.
Echt aufschlussreiches und leicht verständliches Video! Verstehe aber leider nicht ganz wie das funktionieren würde wenn man nicht alle E-Mails in dem Beispiel jetzt anzeigen lassen wollen würde sondern zB nur E-Mails mit dem Betreff „das ist ein Betreff“. Das bräuchte ich für eine Anwendung (in meinem Fall geht es um Artikel Nummern und zugehöriges passendes Zubehör) . Wäre dankbar für eine Antwort!
Also du kannst für die Suche folgendes machen: Wenn du etwas exakt brächtest, dann würde es so aussehen (SELECT * FROM tabelle WHERE spalte = 'das muss gegeben sein' ORDER BY spalte). Wenn du etwas finden möchtest aber z.b. zeichen davor oder danach unbekant sind, kannst du mit LIKE suchen: (SELECT * FROM tabelle WHERE spalte LIKE '%gegeben sein' ORDER BY spalte) mit dem % Zeichen wird die Unbekante stelle festgelegt... Hoffe ich konnte weiterhelfen ^^ EDIT: Du kannst auch mehrere abfragen machen: WHERE spalte1 = 'das hier' AND spalte2 LIKE '%s hie%' AND spalte3 SOUNDS LIKE 'das hir' AND spalte4 >= 4 AND spalte5 NULL Für LIKE muss volltextsuche aktiv sein. Also ein indize vom typ FULLTEXT auf die Spalte auf welcher du dies benutzen möchtest
Ich habe eine WordPress Seite mit Login System und mehreren Nutzern. Ich möchte, dass der jeweilige Nutzer seine Informationen in Inputfelder eintragen kann und diese per Knopfdruck abspeichern kann, damit sie beim nächsten Mal in der Webapp immer noch angezeigt werden. Funktioniert das mit dem gleichen Prinzip wie im Video? Es soll dabei die Datenbank von WordPress genutzt werden. Wenn ein neuer Nutzer sich registriert und seine Informationen einträgt, sollen diese in der Webapp angezeigt und automatisch in der Datenbank abgespeichert werden werden. Was muss ich hierfür tun?
Wie das genau bei Wordpress funktioniert kann ich dir leider nicht sagen, da ich sowas noch nie gemacht habe ^^ Allerdings weiß ich das wordpress genauso seine daten in der mysql datenbank speichert. Ich nehme also an, dass du nur prüfen musst ob der nutzer angemeldet ist und dann kannst du deine eigene tabelle in der datenbank anlegen und die daten speichern zussamen mit der nutzer id.. Bei jedem seitenaufruf kannst du dann wieder mit der benutzer id in der angelegten tabelle nach den Zeilen suchen in welchen diese vorkommt. Diese kannst du dann wieder anzeigen. Ich hoffe ich konnte ein wenig helfen ^^
Mysqli ist standartmäsig eigentlich bei php dabei... Ich kenne mich mit Atom nicht wirklich aus. Habe Atom lange nicht mehr genutzt aber es kann durchaus sein das es dir vlt keine code-completion für mysqli geben kann. Vlt ist es durch eine erweiterung oder so möglich.. Wenn du mit PHP arbeitest kann ich dir als Kostenlose software Netbeans vorschlagen... Wenn du ein wenig ausgeben kannst würde ich dir PHP-Storm anraten.. VS-Code kannst du auch nutzen, ist allerdings meiner meinung nach noch nicht so ganz das Richtige für PHP.
bei mir zeigt der unten bei der while schleife nie etwas an egal was ich mache. $sql = "SELECT Username, Passwort FROM user WHERE Username='" . $_POST["Uname"] . "' AND Passwort='" . $_POST["Pass"] . "'"; $result = $con->query($sql); echo ""; echo $sql; echo ""; if($result == false){ echo $con->error;
Ich nehme an, dass du mitlerweile dein Problem behebn konntest, dennoch möchte ich kurz erklären: Du Überprüft in deinem If ob "$result" == false.. Daher ist dein result innerhalb des if auch false und kein Object welches im While verwendet werden könnte. Du müsstest dein IF in etwa so machen, damit dieses Sinn ergibt: if($result != false) { ... Ich gehe allerdings eher davon aus, dass dir eine Klammer verrutscht ist, da du ja den error ausgeben möchtest wenn das result false ist... Daher müsstest du das while in einen "else"-Block nach dem if stellen oder den code nach ausgabe des Fehlers beenden. Solltest du noch mehr fragen habe, kannst du gerne im Forum unter forum.msdev.me einen Post erstellen in welchem du dein Problem erklärst. Dort kannst du Code schön formatiert posten, dann kann ich einfacher unterstützen als ich es hier auf TH-cam in den Kommentaren kann :)
{{ MSDev }} Ja hatte in der php.ini etwas vergessen zu aktivieren, mittlerweile geht es^^. Dennoch könntest du ein Tutorial machen wie man z.B eine json auslesen kann oder sowas. :) Halt mit API's wie z.B der von Clever bot
Hallo, ich finde dieses Tutorial echt Hilfreich. ich würde gern einzelne Einträge löschen können. Also, es sind 4 Nachrichten drin, und Nachricht 3 habe ich bearbeitet. Dann möchte dich diese löschen. Ist das schwer umzusetzen ?
Schwer ist es nicht. Zum löschen musst du folgenden befehl umschreiben: DELETE FROM tabelle WHERE id = 4 Der löscht jetzt in der tabelle "tabelle" alle einträge mit der id 4
Ich habe eine Frage: seit PHP 7 funktioniert folgender Script nicht mehr. Wüsstest du was das Problem ist und wie ich es behebe. Wäre dir echt dankbar. Frage: Daten in Formular ausgeben
mysql_query ist deceperated... Ist in PHP 7 nicht mehr verfügbar... Du musst jetzt mysqli verwenden.. Normalerweise genügt es dein mysql_query durch ein mysqli_query zu ersetzen.. Genauso das mysql_fetch_row wird durch ein mysqli_fetch_row ersetzt.. Zumindest habe ich das so in erinnerung.. Ich verwende jedoch die neue mysqli klasse. Also mit $db = new mysqli(...,....,...,..); WIe im Video gezeigt..
Könntest du mir mein Skript einmal bitte in der neuen MySQLi Klasse aufschreiben, da es mit Anhängen des "i" leider nicht klappt ): Es geht darum per $_GET die Information zu bekommen, welches Projekt in den Input Feldern angezeigt werden soll. Er soll im Prinzip aus der Datenbank den Eintrag suchen mit der project_id und den Datensatz dann in den Feldern ausgeben. Vielen Dank, dass du mir hilfst! ;)
Fatal error: Uncaught Error: Call to a member function fetch_object() on null in C:\Xampp\htdocs\Programme egister.php:32 Stack trace: #0 {main} thrown in C:\Xampp\htdocs\Programme egister.php on line 32 Weiß jemand, was das bedeutet?
Ja.. Mögliche gründe dafür können sein, dass dein Script fehler enthällt oder deine abfrage in der Datenbank fehlerhaft ist. Um genaueres sagen zu können müsste ich den SQL Text ansehen... Am besten währe der komplette code aber am ehesten die stelle welche beim absenden durchgeführt wird... In TH-cam wird code nicht so schön formatiert, daher währe es hilfreich wenn der code etwas länger ist, dass du ihn im Forum unter forum.msdev.me schreibst..
$string = ""; while($meinObject = $sqlResult->fetch_object()){$string .= $meinObject->spalte;} Das währe die kurzfassung... so wird alles einer spalte aneinandergehängt... In der SQL suche musst du dann natürlich auch alle abrufen damit auch alle zeilen abgearbeitet werden können.. Also z.b. "SELECT spalte FROM tabelle"
In neueren Videos habe ich die schriftgröße erhöht, da auch einige andere der meinung waren wenig auf dem video zu erkennen.. Gerade auf dem Handy ist das schwierig... Aber das video ist in 1080p... ^^
Bestes Tutorial für MySQLi ever! Super! Endlich hab ich es auch verstanden und kann an meinen Projekten weitermachen👍👍👍
Habe dich schon länger abonniert und suche schon lange nach so einem Tutorial. Ich hätte einfach bei dir nochmal reinschauen müssen😅 Danke!
Super Tutorial für das Arbeiten mit Datenbanken und php.
Bei der Datenbankabfrage zum Anzeigen des Datums der Nachricht lässt du dir zum Zeitpunkt der Ausführung des Skripts auf deinem Server ein neues Datum erstellen und fragst mit der Funktion date() nicht den Datenbankwert ab, was du denke ich eigentlich machen wolltest. Das ist kein Fehler deiner Serverkonfiguration sondern ein Fehler mit "$ausgabe->datum" und der Funktion date(). Ansonsten sehr schöner Erklärstil und wirklich aufschlussreich.
Ups.. Ist mir garnicht aufgefallen :D anstadt date("format") hätte ich date("format", strtotime($datumAusDB)) nehmen sollen ^^
👍🏽 Ich empfehle auch immer die Variablennamen in englischer Sprache zu benennen, da man so "gedanklich" keine Mehrarbeit leisten muss mit 2 Sprachen (Englisch, Deutsch - mit Programmiersprache PHP 3)
kannst du bitte mehr erklären😊😊
hat sehr geholfen👌
Sehr hilfreiches Video, vielen Dank! 👍
3:52 das ist aber eine komische Syntax für if in PHP, die kannte ich noch gar nicht.
BTW was für eine Tastatur nutzt du in dem Video? Klingt so mechanisch?
Ja die Tastatur im Video ist eine mechanische Tastatur und zwar die G910 von Logitech. Bin allerdings mittlerweile auf eine andere Tastatur (Logitech MX Keys) umgestiegen.
@@MSDev ich auch auf die Logitech MX Keys, aber ich ne gebrauchte genommen und da ist unter einer Taste Sand und dadurch ist die laut😅😒
Hallo MSDev :-) Mir gefallen deine Tutorials sehr gut, aber mir ist gerade ein Fehler in deinem Code aufgefallen:
in der Zeile mit der if-Abfrage, ob die Verbindung zur Datenbank geklappt hat:
if($db->connection_error):
Hier hast du dich vertan. Es muss richtig heißen:
if($db->connect_error):
connection_error gibt es in PHP garnicht.
Ups.. Ist mir nicht aufgefallen 😅
Danke habe gerade nach meinem Fehler gesucht!
Echt gute Videos :) 👍
Danke :)
Keinerlei Sicherheiten? special chars, real escape?
nope
Gutes Tutorial.
Bei mir speichert es die abgesendete Nachrichten nicht. Woran könnte es liegen?
Echt aufschlussreiches und leicht verständliches Video! Verstehe aber leider nicht ganz wie das funktionieren würde wenn man nicht alle E-Mails in dem Beispiel jetzt anzeigen lassen wollen würde sondern zB nur E-Mails mit dem Betreff „das ist ein Betreff“. Das bräuchte ich für eine Anwendung (in meinem Fall geht es um Artikel Nummern und zugehöriges passendes Zubehör) . Wäre dankbar für eine Antwort!
Also du kannst für die Suche folgendes machen: Wenn du etwas exakt brächtest, dann würde es so aussehen (SELECT * FROM tabelle WHERE spalte = 'das muss gegeben sein' ORDER BY spalte). Wenn du etwas finden möchtest aber z.b. zeichen davor oder danach unbekant sind, kannst du mit LIKE suchen: (SELECT * FROM tabelle WHERE spalte LIKE '%gegeben sein' ORDER BY spalte) mit dem % Zeichen wird die Unbekante stelle festgelegt... Hoffe ich konnte weiterhelfen ^^
EDIT: Du kannst auch mehrere abfragen machen: WHERE spalte1 = 'das hier' AND spalte2 LIKE '%s hie%' AND spalte3 SOUNDS LIKE 'das hir' AND spalte4 >= 4 AND spalte5 NULL
Für LIKE muss volltextsuche aktiv sein. Also ein indize vom typ FULLTEXT auf die Spalte auf welcher du dies benutzen möchtest
Funktioniert einwandfrei, vielen Dank MSDev! :-)
Danke nochmal, habe ne 1.3 für mein coding project bekommen :)
Ich habe eine WordPress Seite mit Login System und mehreren Nutzern.
Ich möchte, dass der jeweilige Nutzer seine Informationen in Inputfelder eintragen kann und diese per Knopfdruck abspeichern kann, damit sie beim nächsten Mal in der Webapp immer noch angezeigt werden. Funktioniert das mit dem gleichen Prinzip wie im Video? Es soll dabei die Datenbank von WordPress genutzt werden.
Wenn ein neuer Nutzer sich registriert und seine Informationen einträgt, sollen diese in der Webapp angezeigt und automatisch in der Datenbank abgespeichert werden werden.
Was muss ich hierfür tun?
Wie das genau bei Wordpress funktioniert kann ich dir leider nicht sagen, da ich sowas noch nie gemacht habe ^^ Allerdings weiß ich das wordpress genauso seine daten in der mysql datenbank speichert. Ich nehme also an, dass du nur prüfen musst ob der nutzer angemeldet ist und dann kannst du deine eigene tabelle in der datenbank anlegen und die daten speichern zussamen mit der nutzer id.. Bei jedem seitenaufruf kannst du dann wieder mit der benutzer id in der angelegten tabelle nach den Zeilen suchen in welchen diese vorkommt. Diese kannst du dann wieder anzeigen.
Ich hoffe ich konnte ein wenig helfen ^^
super Tutorial :)
Muss ich MySQLi in Atom irgendwie separat installieren ? Bei mir klappt es nämlich nicht :(
Mysqli ist standartmäsig eigentlich bei php dabei... Ich kenne mich mit Atom nicht wirklich aus. Habe Atom lange nicht mehr genutzt aber es kann durchaus sein das es dir vlt keine code-completion für mysqli geben kann. Vlt ist es durch eine erweiterung oder so möglich.. Wenn du mit PHP arbeitest kann ich dir als Kostenlose software Netbeans vorschlagen... Wenn du ein wenig ausgeben kannst würde ich dir PHP-Storm anraten.. VS-Code kannst du auch nutzen, ist allerdings meiner meinung nach noch nicht so ganz das Richtige für PHP.
@@MSDev Super! Danke für die schnelle Antwort. Netbeans werde ich morgen mal versuchen 👍
bei mir zeigt der unten bei der while schleife nie etwas an egal was ich mache.
$sql = "SELECT Username, Passwort FROM user
WHERE Username='" . $_POST["Uname"] . "' AND Passwort='" . $_POST["Pass"] . "'";
$result = $con->query($sql);
echo "";
echo $sql;
echo "";
if($result == false){
echo $con->error;
while($row = $result->fetch_object()){
echo $row->Username . " - " . $row->Passwort;
}
}
Ich nehme an, dass du mitlerweile dein Problem behebn konntest, dennoch möchte ich kurz erklären:
Du Überprüft in deinem If ob "$result" == false.. Daher ist dein result innerhalb des if auch false und kein Object welches im While verwendet werden könnte. Du müsstest dein IF in etwa so machen, damit dieses Sinn ergibt:
if($result != false) { ...
Ich gehe allerdings eher davon aus, dass dir eine Klammer verrutscht ist, da du ja den error ausgeben möchtest wenn das result false ist... Daher müsstest du das while in einen "else"-Block nach dem if stellen oder den code nach ausgabe des Fehlers beenden.
Solltest du noch mehr fragen habe, kannst du gerne im Forum unter forum.msdev.me einen Post erstellen in welchem du dein Problem erklärst. Dort kannst du Code schön formatiert posten, dann kann ich einfacher unterstützen als ich es hier auf TH-cam in den Kommentaren kann :)
@@MSDev Ja hab mittlerweile eine Antwort gefunden aber trotzdem danke für die Anwort :D
DAS BESTE VIDEO ZU DEM THEMA danke. :D
Hey, erst mal schönes Tutorial C: Könntest du mal zeigen wie man externe Webseiten auslesen kann? (mit PHP ) Würde mich freuen :D!
Joa könnte ich mal als Tutorial machen ^^ Gute Idee :)
Freut mich :3 Hab schon viele wege probiert kriege es baer nicht so hin :D
Was hast den alles so ausprobiert? Bzw. was möchtest du sehen? Nur die Seite abspeichern oder auch nach HTML Tags suchen oder bestimmten Inhalten?
{{ MSDev }} Ja hatte in der php.ini etwas vergessen zu aktivieren, mittlerweile geht es^^. Dennoch könntest du ein Tutorial machen wie man z.B eine json auslesen kann oder sowas. :) Halt mit API's wie z.B der von Clever bot
Probiere es mal mit json_decode($json_inhalt,true);
Damit solltest du den Json string in ein Array umwandeln können :)
Hallo,
ich finde dieses Tutorial echt Hilfreich. ich würde gern einzelne Einträge löschen können. Also, es sind 4 Nachrichten drin, und Nachricht 3 habe ich bearbeitet. Dann möchte dich diese löschen. Ist das schwer umzusetzen ?
Schwer ist es nicht.
Zum löschen musst du folgenden befehl umschreiben:
DELETE FROM tabelle WHERE id = 4
Der löscht jetzt in der tabelle "tabelle" alle einträge mit der id 4
ist das möglich da auch mit diesen Hacken Button zu realisieren. auch dass ich vielleicht 2 Nachrichten gleichzeitig lösche ?
Ja klar geht das
Ich habe eine Frage:
seit PHP 7 funktioniert folgender Script nicht mehr. Wüsstest du was das Problem ist und wie ich es behebe.
Wäre dir echt dankbar.
Frage: Daten in Formular ausgeben
mysql_query ist deceperated... Ist in PHP 7 nicht mehr verfügbar... Du musst jetzt mysqli verwenden.. Normalerweise genügt es dein mysql_query durch ein mysqli_query zu ersetzen.. Genauso das mysql_fetch_row wird durch ein mysqli_fetch_row ersetzt.. Zumindest habe ich das so in erinnerung.. Ich verwende jedoch die neue mysqli klasse. Also mit $db = new mysqli(...,....,...,..); WIe im Video gezeigt..
Könntest du mir mein Skript einmal bitte in der neuen MySQLi Klasse aufschreiben, da es mit Anhängen des "i" leider nicht klappt ):
Es geht darum per $_GET die Information zu bekommen, welches Projekt in den Input Feldern angezeigt werden soll.
Er soll im Prinzip aus der Datenbank den Eintrag suchen mit der project_id und den Datensatz dann in den Feldern ausgeben.
Vielen Dank, dass du mir hilfst! ;)
Habe nicht getestet ob es geht, aber hier ist meine Version:
Frage: Daten in Formular ausgeben
Das ist der Hammer! Es klappt!
Vielen vielen Dank! ;)
Fatal error: Uncaught Error: Call to a member function fetch_object() on null in C:\Xampp\htdocs\Programme
egister.php:32 Stack trace: #0 {main} thrown in C:\Xampp\htdocs\Programme
egister.php on line 32
Weiß jemand, was das bedeutet?
Ja.. Mögliche gründe dafür können sein, dass dein Script fehler enthällt oder deine abfrage in der Datenbank fehlerhaft ist. Um genaueres sagen zu können müsste ich den SQL Text ansehen... Am besten währe der komplette code aber am ehesten die stelle welche beim absenden durchgeführt wird... In TH-cam wird code nicht so schön formatiert, daher währe es hilfreich wenn der code etwas länger ist, dass du ihn im Forum unter forum.msdev.me schreibst..
könntest du vllt. ein tutorial machen, wie man eine ganze spalte aus einer datenbank in einen STRING bekommt?
$string = "";
while($meinObject = $sqlResult->fetch_object()){$string .= $meinObject->spalte;}
Das währe die kurzfassung... so wird alles einer spalte aneinandergehängt... In der SQL suche musst du dann natürlich auch alle abrufen damit auch alle zeilen abgearbeitet werden können.. Also z.b. "SELECT spalte FROM tabelle"
Ich würde eher kein Video darüber machen, da das Video dann so ca. 1 Minute geht... (Mit abspann und anmoderation ^^)
Habe gerade einen Beitrag im Forum gemacht: forum.msdev.me/showthread.php?tid=15
Ich kann nichts erkennen....360p und winzige Schrift :(
In neueren Videos habe ich die schriftgröße erhöht, da auch einige andere der meinung waren wenig auf dem video zu erkennen.. Gerade auf dem Handy ist das schwierig... Aber das video ist in 1080p... ^^
@@MSDev Jaaaa stimmt! Wlan war wohl nur zu schlecht. Danke :) Ich habe es aber trotzdem mit 360p hinbekommen😂Das zeigt die gute Qualität vom Video!
Hi .......der hintergrund machts unleserlich !!
viel zu klein und unlesbar -schade