kostenloser Webspace werbefrei: lima-city


mysql query mit php variablen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    xxbashxx

    xxbashxx hat kostenlosen Webspace.

    Also ich habe da so ein Problem und zwar arbeite ich gerade an einem Kleinen Projekt was mti momentan hässlich Kopfschmerzen bereitet. Und twar will ich etwas an meine DB übergeben, habe die Daten vorher aus einem Formular übernommen und habe sie nun als Variable aber egal was ich versuche ich bekomme diese Fehlermeldung nicht weg. Ich weißt das der String nicht koreckt ist aber mir fällt nicht ein wie ich das ändern könnte.

    <?php
    session_start()
    ?>
    
    <?php
    $host		= "localhost";
    $db			= "test";
    $verbindung =  mysql_connect($host) or die ("Keine Verbindung zum Vertretungsplan. Bitte probieren sie es in einigen Minuten wieder");
    mysql_select_db($db) or die ("Keine Datenbank vefuegbar");
    
    $name 		= $_POST["name"];
    $stunde		= $_POST["stunde"];
    $auftrag	= $_POST["auftrag"]
    
    mysql_query("INSERT INTO Vertretungslehrer (name,stunde,auftrag ) VALUES ('$name','$stunde','$auftrag')");


    Wäre echt seht dankbar wenn mir jdm helfen könnte, habe schon alle möglich und unmöglich lösungsansätzte versucht.
    Parse error: syntax error, unexpected T_STRING in /Applications/XAMPP/xamppfiles/htdocs/login/bekantmachen.php on line 15

    Das ist die Fehlermeldung, die sagt mir halt nur das es einen nicht erwarteten Fehler gab, und zwar ist was mit der Formatierung vom String nicht korreckt aber ich weiß nicht wie ich das in den griff bekommen soll.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. $auftrag	= $_POST["auftrag"]

    Semikolon vergessen:
    $auftrag = $_POST["auftrag"];


    War das zufällig Zeile 15?

    Beitrag zuletzt geändert: 15.7.2011 11:26:02 von alfr3d
  4. Autor dieses Themas

    xxbashxx

    xxbashxx hat kostenlosen Webspace.

    Ja, mann ich ganz :stupid::stupid::stupid::stupid:

    Tausend dank:thumb:

    Beitrag zuletzt geändert: 15.7.2011 11:33:44 von xxbashxx
  5. Hey ;)

    xxbashxx schrieb:
    Wäre echt seht dankbar wenn mir jdm helfen könnte, habe schon alle möglich und unmöglich lösungsansätzte versucht.


    Ich weiß nicht wie viel Erfahrung du im Umgang mit Datenbanken hast, und ob dein DemoCode nur eine Kurzfassung ist, die sich aufs wesentliche beschränkt, aber falls du das wirklich so machst, wie es hier zu sehen ist, solltest du dich dringend über das Thema "SQL Injection" informieren. Ein paar Infos dazu. Es ist nicht schwer so etwas zu verhindern und sollte auf jeden Fall berücksichtigt werden.

    Falls du noch fragen hast: Via Google findest du mehr als genug Material dazu, bzw. wird dir hier sicher auch geholfen ;)

    lg
    Sincer
  6. Mal davon abgesehen, dass MySQL sich deine Datenbank-Zugangsdaten nicht aus den Fingern saugen kann, solltest du dir bei Möglichkeit einen etwas veränderten Programmierstil angewöhnen ;)

    <?php
    session_start()
    
    $host		= 'localhost';
    $user		= 'xxxx';
    $passwort	= 'yyyy';
    $db			= 'test';
    $verbindung	= mysql_connect($host, $user, $passwort) or die ('Keine Verbindung zum Vertretungsplan. Bitte probieren sie es in einigen Minuten wieder');
    mysql_select_db($db) or die ('Keine Datenbank vefuegbar');
    
    $name		= mysql_real_escape_string($_POST['name']);
    $stunde		= mysql_real_escape_string($_POST['stunde']);
    $auftrag	= mysql_real_escape_string($_POST['auftrag']);
    
    mysql_query("INSERT INTO Vertretungslehrer (name, stunde, auftrag ) VALUES ('".$name."', '".$stunde."', '".$auftrag."')");


    Dann findest du die Fehler möglicherweise auch selbst :)

    EDIT:

    Da fehlte ein Semikolon.

    Beitrag zuletzt geändert: 18.7.2011 2:14:38 von fabo
  7. Autor dieses Themas

    xxbashxx

    xxbashxx hat kostenlosen Webspace.

    Vielen Dank für eure Hinweise ich glaubte aber, das ich die Gefahr der MySqlincetion unter Kontrolle habe weil sich dieses Script in einem Geschützten Bereich befindet der durch einen Login gesichert ist, doch nach dem ich mich etwas mehr mit dem Thema beschäftigte, binn ich mir nicht mehr sicher ob meinen Vorkehrungen noch aus reichen.


    Vielleicht seit ihr ja so nett und werft mal einen Blick auf meine Versuche.

    LOGIN
    <?php
    session_start();
    ?>
    
    <?php
    $host = "localhost";
    $db   = "test";
    $verbindung = mysql_connect($host) or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db($db) or die ("Datenbank konnte nicht ausgeweahlt werden");
    
    $username = $_POST["username"];
    $passwort = md5($_POST["password"]);
    
    $abfrage = "SELECT username, passwort FROM login WHERE username LIKE '$username' LIMIT 1";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    
    if($row->passwort == $passwort)
        {
        $_SESSION["username"] = $username;
        echo "Login erfolgreich. <br> <a href=\"geheim.php\">Geschuetzer Bereich</a>";
        }
    else
        {
        echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>";
        }
    
    ?>



    Alle Script die ich noch ausführe sind nur zu erreichen wenn ein Korreckter Login vorliegt.
    PS. Momentan ist das Alles noch Lokal deshalb hat die DB kein Passwort || Online ist sie natürlich gesichert und wird auch niocht über mit dem Root Benutzer laufen.
  8. $name 		= mysql_real_espace_string($_POST["name"]);
    $stunde		= mysql_real_escape_string($_POST["stunde"]);
    $auftrag	= mysql_real_escape_string($_POST["auftrag"]);




    Bin neu im Bereich PHP, aber kann man die SQL-Injection so verhindern. Wenn nein es tut mir leid. ;) Aber hier passt das grad so gut.
  9. Auch wenn du lokal arbeitest, müssen User und Passwort mitgegeben werden. Zudem hättest du dir meinen Beitrag zumindest anschauen können... ;)

    <?php
    session_start()
    
    $host		= 'localhost';
    $user		= 'xxxx';
    $passwort	= 'yyyy';
    $db			= 'test';
    $verbindung	= mysql_connect($host, $user, $passwort) or die ('Keine Verbindung zum Vertretungsplan. Bitte probieren sie es in einigen Minuten wieder');
    mysql_select_db($db) or die ('Keine Datenbank vefuegbar');
    
    $username = mysql_real_escape_string($_POST['username']);
    $passwort = mysql_real_escape_string($_POST['password']);
    
    $query = mysql_query("SELECT username, passwort FROM login WHERE username = '".$username."' AND passwort = MD5('".$passwort."') LIMIT 1");
    
    if(mysql_num_rows($query) > 0) {
    	$_SESSION["username"] = $username;
        echo 'Login erfolgreich.<br /><a href="geheim.php">Geschuetzer Bereich</a>';
    }
    else {
    	echo 'Benutzername und/oder Passwort waren falsch.<br /><a href="login.html">Login</a>';
    }


    Beitrag zuletzt geändert: 18.7.2011 2:16:33 von fabo
  10. Autor dieses Themas

    xxbashxx

    xxbashxx hat kostenlosen Webspace.

    Deinen Beitrag habe ich mir sehr genau durchgelesen und wollte deswegen ja wissen ob meine sicherungsmasnahmen die ich schon getroffen hatte, überhaupt etwas gebracht haben oder ob das einfach nur nen sinloser script ist der mir einfach nur "vortäusche ich wäre in sicherheit" oder ein scrpipt der mir schutzgefährt. Wenn es so aussah als hätte ich deinen Beitrag ignoriert tut es mir leit deine änderung habe ich übernommen und binn euch sehr dankbar dafür das ihr mir gehplfen habt.

    MFG BaSh
  11. Muss dir nicht leid tun. So lange es funktioniert, ists auch okay. Nur manchmal kann man eben noch etwas aus den Beiträgen Anderer lernen :)

    Beitrag zuletzt geändert: 18.7.2011 2:28:51 von fabo
  12. Autor dieses Themas

    xxbashxx

    xxbashxx hat kostenlosen Webspace.

    Auf jeden Fall kann man was von euch lernen sonnst würde ich ja nicht nach fragen.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!