Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP While abfragen und Datenbank aktualisieren

Frage Entwicklung PHP

Mitglied: Luciver1981

Luciver1981 (Level 1) - Jetzt verbinden

06.03.2013, aktualisiert 07.03.2013, 1811 Aufrufe, 9 Kommentare

Hallo Admins

Ich habe eine Seite gebastelt wo mit Benutzerdaten gearbeitet wird. Ich möchte jetzt jeden Nutzer ermöglichen gewisse Inhalte von ihm selber geändert werden kann. Hier mal mein Konstrukt was so aber nicht funktioniert (Leere Seite ohne Fehlermeldung)
Mit
01.
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht 
02.
 
03.
waehlen."); 
04.
	 
05.
$sql = "SELECT benutzer, status, beschreibung, name FROM user"
06.
	 
07.
$user_query = mysql_query($sql) or die("Anfrage nicht erfolgreich"); 
08.
	 
09.
while ($row == mysql_fetch_row($user_query)){ 
10.
	 
11.
while ($row->benutzer == $benutzer
12.
13.
echo "<div class='text-allgemein'>$row->benutzer</div>"
14.
echo "<div class='text-allgemein'>$benutzer</div>"
15.
echo "<div class='text-allgemein'>$row->status</div>"
16.
	 
17.
18.
19.
 
Hier möchte ich ertmal die Bereits gespeicherten Daten des Nutzers abrufen.
Die Abfrage soll ist der Benutzer in Datenbank = angemeldeter Benutzer (Variable $benutzer) dann gib seine Daten aus.
Mitglied: ChrisMoltisanti
06.03.2013, aktualisiert um 13:12 Uhr
Hi
Bitte als Code posten.

01.
while ($row->benutzer == $benutzer)
macht keinen Sinn! Wo ist $Bneuzter definiert? Wieso nicht != NULL oder sowas? Kenne die Syntax von Php nicht näher, nur Java und C++

Grüße
Bitte warten ..
Mitglied: SlainteMhath
06.03.2013 um 13:32 Uhr
Moin,

Die Abfrage soll ist der Benutzer in Datenbank = angemeldeter Benutzer (Variable $benutzer) dann gib seine Daten aus.
Sowas frägt man nicht in einer while-Schleife ab, sondern in der WHERE-Klause der SQL Abfrage. In deinem Fall etwa:

01.
$sql = "SELECT benutzer, status, beschreibung, name FROM user WHERE benutzer='" . $benuzer . "'";
Die 2te While-Schleife (die wenn dann eh ein if-Statement sein sollte) kann dann raus.

lg,
Slainte
Bitte warten ..
Mitglied: nxclass
06.03.2013, aktualisiert um 14:26 Uhr
01.
$sql = "SELECT benutzer, status, beschreibung, name FROM user"; 
02.
// ... 
03.
while ($row == mysql_fetch_row($user_query)){ 
04.
while ($row->benutzer == $benutzer)
01.
$sql = "SELECT `benutzer`, `status`, `beschreibung`, `name` FROM `user` WHERE `benutzer` = '{$benutzer}'"; // vorsicht SQL injection möglich 
02.
// ... 
03.
while ($row = mysql_fetch_row($user_query)){
... die 2. while Anweisung samt {} kann dann weg - wenn dann müsste das ein if sein.
Bitte warten ..
Mitglied: Luciver1981
06.03.2013, aktualisiert 07.03.2013
Danke Slainte und nxclass der Selektor kommt also in die Datenbankabfrage und nicht in die While Schleife, wieder was gelernt . Habs jetzt so gelöst
01.
 
02.
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht 
03.
 
04.
waehlen."); 
05.
	 
06.
$sql = "SELECT benutzer, status, beschreibung, name FROM user WHERE benutzer='" . $benutzer . "'"
07.
	 
08.
$user_query = mysql_query($sql) or die("Anfrage nicht erfolgreich"); 
09.
	 
10.
while ($row = mysql_fetch_object($user_query)){ 
11.
bla 
12.
}
Und das update der Datenbank dann so:
01.
 
02.
$sql = "UPDATE user SET status = '" . $status . "', beschreibung = '" . $beschreibung . "' WHERE benutzer='" . $benutzer . "'"
03.
	 
04.
$user_query = mysql_query($sql) or die("Speichern fehlgeschlagen"); 
05.
	 
06.
echo "<p class='text-allgemein'>Deine Daten sind gespeichert</p>";
Bitte warten ..
Mitglied: SlainteMhath
06.03.2013 um 15:19 Uhr
ja genau.

Jetzt wendest du noch die funktion "mysql_real_escape()" auf alle in deinen SQL Queries verwendeten Variablen an bevor du sie benutzt und alle ist gut

ps: und verwendete doch bitte mal code-Tags in deinen Beiträgen, dann kann man deinen Source-Code auch besser lesen.
Bitte warten ..
Mitglied: Luciver1981
06.03.2013 um 16:26 Uhr
Da sprichst du ein gutes Thema an hab ein Gästebuch. Wie könnte ich mich da vor SQL Injection schützen?
Bitte warten ..
Mitglied: godlie
06.03.2013 um 21:58 Uhr
Ganz einfach in dem du dich mit dem Thema SQL Injection beschäftigst.
Bitte warten ..
Mitglied: Luciver1981
07.03.2013 um 08:22 Uhr
Hast du vielleicht paar nützliche Links oder Tipps wie ich meine Variablen schützen kann bevor sie in die Datenbank geschrieben werden.
Bitte warten ..
Mitglied: SlainteMhath
07.03.2013 um 08:45 Uhr
Hast du vielleicht paar nützliche Links oder Tipps wie ich meine Variablen schützen kann bevor sie in
die Datenbank geschrieben werden.

Ich zitier mich mal selbst:

Jetzt wendest du noch die funktion "mysql_real_escape()" auf alle in deinen SQL Queries verwendeten
Variablen an bevor du sie benutzt und alle ist gut


Anfangen könntest Du hier: http://de.wikipedia.org/wiki/SQL-Injection
und zur erheiterung noch das hier
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst PHP Version und Joomla aktualisieren (2)

Frage von Leo-le zum Thema PHP ...

Debian
gelöst Plesk php-fpm Fehler (7)

Frage von sebastian2608 zum Thema Debian ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Microsoft Office
gelöst Excel Dateien durchsuchen und Teile extrahieren (7)

Frage von Beranavan zum Thema Microsoft Office ...

Router & Routing
Standortvernetzung von drei Standorten (6)

Frage von meinsm zum Thema Router & Routing ...