Ankündigung

Einklappen
Keine Ankündigung bisher.

parse fehler - ich komm nicht drauf

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • parse fehler - ich komm nicht drauf

    Hallo, ich grüße euch,

    ich habe mir das Buch "MySQL Tutorial" von L. Welling und L. Thomson ausgeliehen und möchte gerne eine Datenbank erstellen, worin ich Daten eingeben, ändern, suchen und löschen kann. Mein Ziel war es, gleich mit Eingabeformularen in php zu arbeiten. Aber das wird in dem Buch überhaupt nicht behandelt. Mithilfe einer Zeitschrift, worin so etwas schon ansatzweise behandelt wurde, habe ich mir schon etwas erarbeitet und diese Datenbank funktioniert auch. Übertrage ich es jetzt auf das von dem MySQL Tutorial, kriege ich den berühmten parse error in Zeile 10 von eingabe.php. Die Fehlermeldungen klappen auch schon nicht. Wenn ich bei DepartmentID nichts eingebe, kommt nicht die entsprechende Fehlermeldung.

    Kann es sein, dass es an dem Type liegt. Die Datenbank von dem Buch ist in Inno DB angelegt, in der Zeitschrift war MyISAM.

    Die Tabelle heißt 01department. Die Felder heißen 01departmentID und 01name.

    Könnt ihr mir helfen? Ich habe schon ' hier und da gesetzt und wieder rausgemacht, aber nichts half...
    Viele Grüße
    mausemy

    eingabeform.php:
    Code:
    <?php 
    include("zugriff.inc.php"); 
    ?> 
    <html>
    
    	<head>
    		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
    		<meta name="generator" content="Adobe GoLive 5">
    		<title>Willkommen bei Adobe GoLive 5</title>
    	</head>
    
    	<body bgcolor="#ffffff">
    		<form name="FormName" action="eingabe.php" method="post">
    			<table border="0" cellpadding="0" cellspacing="2">
    				<tr>
    					<td>DepartmentID</td>
    					<td><input type="text" name="01departmentID" size="15"></td>
    				</tr>
    				<tr>
    					<td>Name:</td>
    					<td><input type="text" name="01name" size="35"></td>
    				</tr>
    				<tr>
    					<td></td>
    					<td><input type="submit" value="Daten eintragen" 
    name="submit"></td>
    				</tr>
    			</table>
    		</form>
    		
    
    </p>
    	</body>
    
    </html>
    eingabe.php:

    Code:
    <?php 
    include("zugriff.inc.php"); 
    if (isset($_POST['submit'])) { 
        if (empty($_POST['01departmentID'])) { 
            echo "
    
    Bitte DepartmentID angeben!</p>"; 
        } else if (strlen($_POST['01departmentID'])<5) { 
            echo "
    
    Die DepartmentID muss mindestens 5 Zeichen lang sein!</p>"; 
        } else { 
            $sql = "INSERT INTO 01department (01departmentID, 01name ) 
    VALUES ('$_POST[01departmentID]', '$_POST[01name]')"; 
            $result = mysql_query($sql); 
            if ($result) { 
                echo "
    
    Dateneingabe erfolgreich!</p>"; 
            } else { 
                echo "
    
    Dateneingabe nicht erfolgreich!</p>"; 
            } 
        } 
        echo "[ Zurück ] - 
        [ Neuen Datensatz eintragen ]"; 
    } 
    mysql_close($dp); 
    ?>

  • #2
    Nur mal so: Wie lautet die Fehlermeldung?
    Macht die Sache einfacher...

    Gruß

    killmymatrix

    Kommentar


    • #3
      "{$_POST['01departmentID']}"

      Kommentar


      • #4
        Hallo,
        # killmymatrix

        Parse error: parse error, expecting `']'' in /srv/www/htdocs/xxxxx/html/testle/eingabe.php on line 10

        # karl-150

        Habe es probiert, war vielleicht nicht richtig eingegeben von mir. Hat jedenfalls nicht geklappt:

        $sql = "INSERT INTO 01department (01departmentID, 01name )
        VALUES "{$_POST['01departmentID'], $_POST['01name']}";
        brachte Fehlermeldung:
        Parse error: parse error in /srv/www/htdocs/xxxxx/html/testle/eingabe.php on line 10

        Das brachte die gleiche Fehlermeldung:
        $sql = "INSERT INTO 01department (01departmentID, 01name )
        VALUES "{$_POST['01departmentID']}", "{$_POST['01name']}";

        Bitte dranbleiben, danke schon mal
        Viele Grüße
        mausemy

        Kommentar


        • #5
          PHP-Code:
          <?php
          $sql 
          "INSERT INTO 01department (01departmentID, 01name ) VALUES ('".$_POST['01departmentID']."', '".$_POST['01name']."')";
          ?>
          nur mal so nebenbei:

          PHP-Code:
          <?php
          $var 
          "Hallo Welt";
          echo 
          'Versuch nr1: $var';
          echo 
          "
          "
          ;
          echo 
          "Versuch nr2: $var";
          ?>
          volgende Ausgabe:
          PHP-Code:
          Versuch nr1$var
          Versuch nr2
          Hallo Welt 
          verstanden?

          Kommentar


          • #6
            Super, danke!

            Eines ist noch komisch, warum erscheint nach "Neuen Datensatz eintragen" der Code. Muss wahrscheinlich an den Klammern dort unten liegen.

            Dateneingabe erfolgreich!
            [ Zurück ] - [ Neuen Datensatz eintragen ] "{$_POST['01departmentID']}"

            Wieso unterscheidet sich eigentlich dieser Code so von dem in der Zeitschrift, das ist ja total anders. Oder gibt es vielleicht noch eine andere Schreibweise? Da wäre ich ja nie im Leben von selbst drauf gekommen! Liegt das nun an dem Datenbanktyp?

            Viele Grüße
            mausemy

            Kommentar


            • #7
              es liegt daran das wenn man ne variable zwischen ' ' setz die nicht den eigentlichen Wert «anzeigt» sondern das was man schreibt.

              wenn man jetzt aber anstelle von ' ' - " " verwendet, klappt alles einwandfrei!

              daran lags (siehe mein Beispiel).

              Kommentar


              • #8
                Der Punkt ist aber auch neu!

                Wie sieht es damit aus?

                Dateneingabe erfolgreich!
                [ Zurück ] - [ Neuen Datensatz eintragen ] "{$_POST['01departmentID']}"

                Hat sich erledigt. Wenn man schnell mal wo hin kopiert....
                Viele Grüße
                mausemy

                Kommentar


                • #9
                  ?! was ist damit?

                  eingabe.php :

                  PHP-Code:
                  <?php
                  include("zugriff.inc.php");
                  if (isset(
                  $_POST['submit'])) {
                      if (empty(
                  $_POST['01departmentID'])) {
                          echo 
                  "

                  Bitte [b]DepartmentID[/b] angeben!</p>"
                  ;
                      } else if (
                  strlen($_POST['01departmentID'])<5) {
                          echo 
                  "

                  Die DepartmentID muss mindestens [b]5[/b] Zeichen lang sein!</p>"
                  ;
                      } else {
                  $sql "INSERT INTO 01department (01departmentID, 01name ) VALUES ('".$_POST['01departmentID']."', '".$_POST['01name']."')";
                          
                  $result mysql_query($sql);
                          if (
                  $result) {
                              echo 
                  "

                  Dateneingabe erfolgreich!</p>"
                  ;
                          } else {
                              echo 
                  "

                  Dateneingabe [b]nicht[/b] erfolgreich!</p>"
                  ;
                          }
                      }
                      echo 
                  "[ [url='javascript:history.back()']Zurück[/url] ] -
                      [ [url='eingabeform.php']Neuen Datensatz eintragen[/url] ]"
                  ;
                  }
                  mysql_close($dp);
                  ?>

                  Kommentar


                  • #10
                    Zitat von mausemy
                    Wieso unterscheidet sich eigentlich dieser Code so von dem in der Zeitschrift, das ist ja total anders. Oder gibt es vielleicht noch eine andere Schreibweise?
                    Die Schreibweise, die Dein Buch verwendet, ist eine zulässige Variante. PHP
                    scheint es aber nicht zu mögen, wenn nun ein assoziatives Array-Element mit
                    einer Zahl beginnt.

                    Betitel das Element einmal $_POST['departmentID01'] statt
                    $_POST['01departmentID'] und auch Dein obiger Code sollte
                    es tun...

                    Liegt das nun an dem Datenbanktyp?
                    Nein.

                    Kommentar


                    • #11
                      Das ist der absolute Hammer! Es stimmt

                      INSERT INTO forum
                      VALUES ('$_POST[DANKE', '$_POST[DANKE NOCHMAL]')";

                      Und lieber nicht 1000DANK! Obwohl es natürlich so ausdrücken wollte

                      Kommentar

                      Lädt...
                      X