Parse error: syntax error, unexpected T_VARIABLE in /var/customers/webs/ni5891_2/bewerben.php on line 132

  • hey, habe die obere fehlermeldung bei meiner seite wenn ich versuche daten aus einem formular in eine MySQL datenbank zu machen ... kann mir wer helfen wo der fwehler sein könnte ?


    (Das sind die zeilen von 125-136)

  • Ich bin mir ehrlich gesagt nicht sicher, aber Probiere mal aus


    PHP
    1. NULL , '"$_GET['mail']"', '"$_GET['ingamename']"'


    das hier zu machen


    PHP
    1. NULL , '$_GET['mail']', '$_GET['ingamename']'


    Weiß nicht ob das klappt aber in meinen Scripts nutze ich es meist so...


    oder evtl.


    PHP
    1. NULL , '".$_GET['mail']."', '".$_GET['ingamename']."'


    sind aber beides mehr Rate-Versuche also wirklich keine Garantie...

  • Wenn du einen String und eine Variable oder zwei String-Variablen miteinander verknüpfen willst, musst du dazwischen einen Punkt setzten:

    PHP
    1. $seminar = "Seminar";
    2. $seite = "HTML - " . $seminar;


    Hoffe, ich konnte helfen,
    webmaster3000

  • Ich bin nicht blöd. Und mit "er" meinte ich nicht dich (gewöhnlich spreche ich Leute nicht in der dritten Person an), sondern recab.
    Wo ist bitte der Sinn deines Beitrags für diesen Thread? Seine Frage hat rein 0 mit Verknüpfung von Strings zu tun.

  • Nein tut er nicht. Warum verwirrst du ihn bitte mit solchen Aussagen zusätzlich (würde mich jedenfalls verwirren wenn mir jemand sagt ich soll irgendwas verknüpfen obwohl absolut nichts verknüpft werden muss)? Was hat das für nen Sinn?


    Nebenbei kann er, wie man in Zeile 12 sieht wenn man sich das mal anguckt und nicht nur postet um irgendwas zu schreiben, Strings bereits korrekt verknüpfen.

  • So jetzt komme ich!


    Sehr geehrter webmaster3000, so jemanden wie dich würde man hier wo ich herkomme wahrscheinlich "Oberwebmasterklugscheißmöchtegernpolizeikommissar vom Dienst" oder Ähnliches nennen.


    Es geht (nicht nur) mir tierisch gegen den Strich das du dieses Forum mit deinen besserwisserischen, sinnlosen Kommentaren zukloppst, nicht nur ein Benutzer hat sich schon über dich das Maul zerrissen, vielleicht sollte man dir das einfach mal sagen, genau das tue ich jetzt.


    Vielleicht hat dich auch jeder hier missverstanden, das bezweifel ich allerdings, also weise ich dich mal freundlichst darauf hin:


    Wir sind hier ein Forum für Profis, Anfänger und Klugscheißer, wobei Klugscheißer ungerne gesehen sind, ob du nun Profi, Klugscheißer oder Profiklugscheißer bist ist mir Latte, allerdings finde ich es absolut unfair was sich hier Menschen anhören müssen, die genau so am Anfang stehen wie du es mal getan hast und Hilfe brauchen, das demotiviert, hält auf und vermittelt das Gefühl sowieso alles falsch zu machen.


    Also wenn du in einem Moment nicht Zeile 2 von 8 unterscheiden kannst und ausschließlich nicht zum Thema passenden Kram schreibst, dann halt doch bitte die Klappe, denn helfen kannst du in dem Fall eh nicht...


    Gute Nacht...

  • $sql = "
    INSERT INTO `bewerbung`
    (
    `id` , `mail` , `ingamename`
    )
    VALUES
    (
    NULL , '" . $_GET['mail'] . "', '" . $_GET['ingamename'] . "'
    );
    ";


    So sollte es funktionieren :)
    Das mit den doppelten und einfachen Anführungszeichen sieht man hier schlecht - ist aber im Original schon korrekt.


    Andere Variante:

    PHP
    1. $sql = "
    2. INSERT INTO `bewerbung`
    3. (
    4. `id` , `mail` , `ingamename`
    5. )
    6. VALUES
    7. (
    8. NULL , '{$_GET['mail']}', '{$_GET['ingamename']}'
    9. );
    10. ";


    Trick hier sind die geschweiften Klammern (dann muss man nicht verketten :) )



    Funktionieren zwar, aber extrem unsicher, weil dir jeder alles in die Datenbank schreiben kann und die die Datenbank auch killen kann :(


    Ich schau mal, dass ich später noch eine bessere Lösung hier hinpacke

  • erstmal lauras vielen dank hat funktioniert =)
    und dann mal noch eine klitze kleine frage ... ich habe von drPHIP132 gesagt bekommen, daws mein formular (wofür das hier war) sehr leicht zu "Sabotieren" sei.
    er hat mir daraufhin 2 befehle gegebn wobei die mich ein ganz kleines bischen verwirren


    PHP
    1. $user = htmlentities($nutzereingabe_1);
    2. # :::> TAG-zeihen "<" und ">" werden umgewandelt in html-sprache. (glaube " &gt;" und " &lt; " )
    3. # alles was mit mysql in verbindung kommt (im SQL_Code steht) muss "escaped" werden:
    4. $pass = mysql_real_escape_string($nutzereingabe_2);


    ich hatte bevor ich lauras lösung benutz habe, versucht es über dieses mysql_real_escape_string in eine "normale" variable namens $mail bzw $ingamename zu ändern. habe gleichzeitig auch versucht das mit dem htmlentities zu machen. da hat er mir ausgegebn, das etwas ab des e-mail feldes (exakt bei @live.de) fehlerhaft oder so war. stellt eins von den beiden etwas mit dem @ an oder wie soll ich das verstehen? (habe auf der php seite nichts über eine vewandlung des @ gesehen)


    Liebe grüße und nochmal danke für die hilfe
    Chris

  • PHP
    1. <?php
    2. $böse = "<lol>hallo</lol>";
    3. #ausgabe im browser (html-zeichensprache oder wie mand as nennt) : &lt;lol&gt;hallo&lt;/lol&gt;
    4. # ::> Tags werden unschädlich gemacht
    5. ?>


    ---




    Hoffe ich konnte es gut erklären.

  • danke ^^ aber bei einem einfach eintrag in eine datenbank muss das doch nicht oder ? nur zum vergleich ob sich die mail adresse schonmal registriert hat