Ingo: Eingabefelder mit Daten aus MySQL füllen

Sorry das ich heute so nerve Leute, aber habe schon das nächste Problem :-(

folgende Fehlermeldung:

Parse error: syntax error, unexpected T_STRING in /var/www/vs171180.vserver.de/dataline/update.php on line 18

Hier der Code:

<html>
<head>
<link rel="stylesheet" type="text/css" href="style/style4.css" />
</head>
<body>
<?php
include('config.php');
$db = @mysql_connect($server, $user, $passwort);
$db_select = mysql_select_db($datenbank);
$result = mysql_query("SELECT * FROM websites WHERE webseite='" . mysql_real_escape_string ($_POST['webseite']) . '"));
$menge = mysql_num_rows($result);
$row = mysql_fetch_row($result);
?>
<form>
<table>
<tr>
<td><img src="rotestl.png"></td>
<td><input style="background-image: url('test1.png'); background-color: #99CCFF; border: 0px; padding-top: 4px; color: #000000; width: 100px; height: 25px; color: #3333CC;" type="text" readonly value="Webseite:"></td>
<td><img src="rotestl.png"></td>
<td><input style="background-image: url('test1.png'); background-color: #99CCFF; border: 0px; padding-top: 4px; color: #000000; width: 100px; height: 25px; color: #3333CC;" type="text" name="webseite" value="<?php echo $row[1] ; ?>" /></td>
<td><img src="testr.png"></td>
</tr>
</table>
</form>
</body>
</html>

-------------------------

Danke für eure hilfe :-)

  1. Hallo,

    Parse error: syntax error, unexpected T_STRING in /var/www/vs171180.vserver.de/dataline/update.php on line 18

    beschaffe Dir einen Editor mit Syntaxhervorhebung.

        $result = mysql_query("SELECT * FROM websites WHERE webseite='" . mysql_real_escape_string ($_POST['webseite']) . '"));  
        $menge = mysql_num_rows($result);  
    
    

    Du hast öffnende doppelte Anführungszeichen vergessen. dedlfix empfiehlt nicht umsonst gern die Verwendung von sprintf für solche Zwecke.

    Freundliche Grüße

    Vinzenz

    1. Würdest du mir den riesen gefallen tun und mir die jeweiligen Zeilen mal kurz so posten, wie ich die genau schreiben muss? Ich krieg das gerade gar nicht zustande gebracht :-(

      1. Hi,

        Würdest du mir den riesen gefallen tun und mir die jeweiligen Zeilen mal kurz so posten, wie ich die genau schreiben muss? Ich krieg das gerade gar nicht zustande gebracht :-(

        Dann tu du dir und uns bitte den Gefallen, die *Grundlagen* der Syntax zu lernen.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Hi,

          »» Würdest du mir den riesen gefallen tun und mir die jeweiligen Zeilen mal kurz so posten, wie ich die genau schreiben muss? Ich krieg das gerade gar nicht zustande gebracht :-(

          Dann tu du dir und uns bitte den Gefallen, die *Grundlagen* der Syntax zu lernen.

          MfG ChrisB

          Jo, danke für den Tip...ich habe nunmal noch Probleme damit das in den Kopf zu bekommen. Jedenfalls denke ich, das wenn das nachfragen in solchen Fällen nicht erlaubt wäre...dieses Forum hier wohl recht wenig Sinn hätte :-)

      2. Hallo,

        Würdest du mir den riesen gefallen tun und mir die jeweiligen Zeilen mal kurz so posten, wie ich die genau schreiben muss? Ich krieg das gerade gar nicht zustande gebracht :-(

        $result = mysql_query(  
            "SELECT * FROM websites WHERE webseite='"  
                . mysql_real_escape_string ($_POST['webseite'])  
                . '")                 # Hier hast Du ein doppeltest Anführungszeichen  
        );                            # zuwenig und eine schließende Klammer zuviel.
        

        Gut zu erkennen, dass selbst mein Kommentar noch als Zeichenkette (d.h. bei mir violett) dargestellt wird (weil diese ja nie beendet wird).
        Welchen Editor verwendest Du?

        Freundliche Grüße

        Vinzenz

        1. Ich arbeite mit Bluefish, nehme mal an, das das eher daran liegt, das ich den Code hier einfach nur rein kopiert habe.

          Habe das nun so eingegeben wie du mir es gepostet hast. nun erhalte ich dafür dann ein

          unexpected T-STRING on line 18.

          1. Hallo,

            Ich arbeite mit Bluefish,

            Linux? Der sollte das aber können.

            nehme mal an, das das eher daran liegt, das ich den Code hier einfach nur rein kopiert habe.
            Habe das nun so eingegeben wie du mir es gepostet hast. nun erhalte ich dafür dann ein
            unexpected T-STRING on line 18.

            ja klar, ich habe Deinen Code nicht verändert, außer dem Versuch mit meinen Kommentaren zu erläutern, was falsch ist.

            Du hast:

            1 doppeltes Anführungszeichen zu wenig
            1 schließende Klammer zuviel.

            und dies in folgendem Codeabschnitt:

            . '"));

            Dieser ist *immer* noch falsch. Du darfst den *nicht* in Deinen Code kopieren. Du sollst *diesen Codeabschnitt* einfach berichtigen. Ist das so schwer?

            Verzweifelte Grüße

            Vinzenz

            1. Ja, der kann das auch, bin aber wie du siehst noch nicht so fit in der Sache.

              Ich muss sagen, das deine Erläuterungen sehr gut sind, denn nun habe ich es geschafft. Ich danke di :-)

  2. Hallo Ingo,

    ein Sicherheitshinweis noch:

    in der folgenden Zeile schreibst Du mit PHP einen Wert in Dein input-Feld.

    <td><input style="background-image: url('test1.png'); background-color: #99CCFF; border: 0px; padding-top: 4px; color: #000000; width: 100px; height: 25px; color: #3333CC;" type="text" name="webseite" value="<?php echo $row[1] ; ?>" />

    Damit nichts schiefgehen kann, solltest Du diesen Wert unbedingt entsprechend dem Kontext behandeln. Hier handelt es sich um den HTML-Kontext. Wende daher die Funktion htmlspecialchars() auf die Variable $row[1] an.

    Freundliche Grüße

    Vinzenz