Top-Themen

Aktuelle Themen (A bis Z)

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 Probleme mit meinem sql code!

Mitglied: 65999

65999 (Level 1)

11.12.2008, aktualisiert 09.11.2016, 4303 Aufrufe, 9 Kommentare

Hi.

Ich habe mich seit Anfang dieser Woche an die Materie php und mysql gewagt:

01.
  
02.
<?PHP 
03.
session_start(); 
04.
$name = $_SESSION['username']; 
05.
$EvendID = $_SESSION['EventID']; 
06.
echo $Event
07.
echo $name
08.
 
09.
    if( isset($_POST['Teilnahme']) && !empty($_POST['Teilnahme']) ) { 
10.
        echo $_POST['Teilnahme']; 
11.
    } else
12.
        echo 'Es wurde keine Option ausgewählt!'; 
13.
14.
 include("db.php"); 
15.
 
16.
 $sql = 'SELECT MitgliederID FROM `Mitglieder` WHERE BenutzernameMitglieder='$name'; 
17.
 $sql = mysql_query($sql); 
18.
 
19.
 while($sql = mysql_fetch_object($sql)) 
20.
21.
    echo $sql->MitgliederID; 
22.
23.
?>
Und zwar stehe ich davor, dass mir die sql Abfrage in Zeile 16 kein Ergebnis liefert!

Wo ist der Fehler?
Mitglied: dog
11.12.2008 um 12:10 Uhr
Du hast hier einen Syntax Fehler drinne:

01.
$sql = 'SELECT MitgliederID FROM `Mitglieder` WHERE BenutzernameMitglieder='$name';  
02.
       ^                                                                   ^ 
03.
       1                                                                   2
Bei 1 beginnt dein PHP-String, bei 2 endet er, alles danach ist syntaktisch falsch.
Du müsstest schreiben:

$sql = "SELECT MitgliederID FROM `Mitglieder` WHERE BenutzernameMitglieder='$name'";

Vorsicht! Auch wenn das so funktioniert, ist es ein enormes Sicherheitsrisiko und hat so nichts in der Praxis verloren.

Deine While-Schleife funktioniert übrigens so auch nicht: Nach dem ersten durchgang wird $sql überschrieben und sie kann kein zweites mal ausgeführt werden.

Grüße

Max
Bitte warten ..
Mitglied: 65999
11.12.2008, aktualisiert 09.11.2016
Das mit der while Schleife ist logisch, der Benutzername gibt es ja auch nur 1x und soll danach aufhören!
Bitte warten ..
Mitglied: dog
11.12.2008 um 12:31 Uhr
Das mit der while Schleife ist logisch, der Benutzername gibt es ja auch nur 1x und soll danach aufhören!

Nein ist es nicht.
Effektiv produzierst du einen PHP-Fehler und dadurch bricht die While-Schleife ab.
Wenn du wirklich nur eine Zeile holen willst brauchst du eben auch nur

01.
$row = mysql_fetch_object($query);
schreiben.

Bitte füge an dein Script, während du es entwickelst ganz oben
01.
error_reporting(E_ALL); 
02.
ini_set('display_errors','On');
an, damit du die Fehlermeldungen von PHP auch siehst.

Was meinst du mit Vorsicht! Was meinst du mit Sicherheitsrisiko, wie wäre es richtig gewesen?

Dazu empfehle ich mal als Ausgangspunkt http://de.wikipedia.org/wiki/SQL-Injection
Bitte warten ..
Mitglied: 68702
11.12.2008 um 12:34 Uhr
Gelöscht, weil Anleitung zum Hacken...
Bitte warten ..
Mitglied: 65999
11.12.2008, aktualisiert 09.11.2016
Danke ...
Bitte warten ..
Mitglied: 65999
11.12.2008, aktualisiert 09.11.2016
noch eine Frage:

Und zwar ist mir aufgefallen, dass wenn ich mich anmelde und anschließend als Test Ja sage, dass er beim Ersten aufruf nie die Saison übernimmt. Erst wenn ich erneut im Browser die Site öffne, dann meinen Benuzternamen eintrage, dann ja auswähle, dann funktioniert es.

Woran könnte das liegen? Bei Bedarf poste ich mal den Quelltext.

Danke für eure Hilfe
Gruß
Bitte warten ..
Mitglied: dog
11.12.2008 um 15:55 Uhr
Bei Bedarf poste ich mal den Quelltext!

Raten ist immer blöd...
Bitte warten ..
Mitglied: 65999
12.12.2008, aktualisiert 09.11.2016
So, hier jetz mal mein Quelltext!


01.
<html> 
02.
<head> 
03.
<meta http-equiv="refresh" content="3; URL=inlineframe.php"> 
04.
</head> 
05.
<body> 
06.
<?PHP 
07.
session_start(); 
08.
$name = $_SESSION['username']; 
09.
$EventNr = $_SESSION['Event']; 
10.
 
11.
    if( isset($_POST['TeilnahmeID']) && !empty($_POST['TeilnahmeID']) ) { 
12.
        //echo $_POST['Teilnahme']; 
13.
        $Teilnahme = $_POST['TeilnahmeID']; 
14.
    } else { 
15.
       echo 'Es wurde keine Teilnahmeoption ausgew&auml;hlt!'; 
16.
17.
 
18.
include("db.php"); 
19.
 
20.
$result = mysql_query("SELECT MitgliederID FROM `Mitglieder` WHERE BenutzernameMitglieder='$name'"); 
21.
if (!$result) { 
22.
    echo 'Abfrage konnte nicht ausgeführt werden: ' . mysql_error(); 
23.
    exit; 
24.
25.
$MitgliederID = mysql_fetch_row($result); 
26.
$insert = "INSERT INTO Eventzuordnung(Events_EventsID, Mitglieder_MitgliederID, Status) VALUES('$Event','$MitgliederID[0]','$Teilnahme')"; 
27.
mysql_query($insert); mysql_close(); 
28.
 
29.
 ?> 
30.
 
31.
</body> 
32.
</html>

danke für eure hilfe!
gruß
Bitte warten ..
Mitglied: dog
LÖSUNG 13.12.2008 um 05:39 Uhr
Hallo,

dein Problem liegt hier:

01.
session_start(); 
02.
$name = $_POST['name']; 
03.
 
04.
if(!isset($name)) 
05.
06.
   $name = "Gast"; 
07.
08.
$_SESSION['username'] = $name;
Gehen wir das mal Stück für Stück durch:

1. session_start() - soweit OK (Generell empfiehlt sich diese Funktion als allererstes auf einer Seite aufzurufen, sonst könntest du auf manchen Servern Probleme kriegen)

2. $name = $_POST['name']; - Wenn das POST-Feld name gesetzt ist wird es $name zugewiesen, ist es nicht gesetzt wird PHP $name den Wert false zuweisen.

3. isset($name) prüft ob eine Variable vorhanden ist. Dies muss hier immer der Fall sein, weil du in Schritt 2 auch immer eine Zuweisung hast.

Ich hoffe das hilft dir weiter

Grüße

Max
Bitte warten ..
Ähnliche Inhalte
Windows Server
Sql server 2014 probleme
Frage von meister00Windows Server

hallo ich habe folgendes problem. windows server 2012r2 hyper1 windows server 2012r2 hyper2 failovercluster und die vhd sind auf ...

Datenbanken

Probleme mit SQL Server 2012 Verbindungsserver

gelöst Frage von orausdoDatenbanken

Hallo liebe Admin Gemeinde, ich hab mal wieder eine seltsame Fehlermeldung bei Ausführung einer Abfrage auf einen Linked Server. ...

Datenbanken

Probleme mit IIS PHP SQL auf SBS2011

Frage von ITS2015Datenbanken8 Kommentare

Hallo, Erst einmal zum Server: Dell PowerEdge 610 2 x QC Xeon 32GB RAM RAID10 ( 6x 600GB SAS ...

Windows Server

Probleme mit dem SQL Management Studio - Editor

gelöst Frage von SachellenWindows Server6 Kommentare

Hallo Liebe Mitglieder, ich habe ein ganz komisches Problem. Vielleicht hatte das ja jemand auch schon mal von euch ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...