Notice: Trying to get property of non-object

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

  • #16
    meine abfrage im elseif lautet so:
    PHP-Code:
    $abfrage ="UPDATE news SET titel={$_GET['titel']}, text={$_GET['text']}"
    jetzt gibt mir mysql_error() dies hie raus:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' text=' at line 1



    heisst das ich soll '{$_GET['titel']}' schreiben?


    EDIT:
    Hat sich beantwortet!

    Kommentar


    • #17
      - wenn dein Formular per POST sendet, nützt es dir wenig, die Daten per GET zu holen, das gleiche gilt für aendern, du schickst per GET und prüfst per POST Hast du wirklich die Doku gelesen?
      - ich sehe kein Formularelement namens text

      außerdem, zum letzten Mal, wende mysql_error an der richtigen Stelle an, dann weisst du auch, woran es liegt.

      Kommentar


      • #18
        zunächst einmal ja die " ' " müssn vor den wert!!
        dann weiss ich aber gar net ob in ner query " } " " { " erlaubt sind bin ich grad ma überfragt
        aber wenn mans net weiss mach das was dir der server gesagt hat
        check mysql syntax
        mein tip: google
        Die Milch bleibt ranzig!

        Kommentar


        • #19
          ich hock schon seit 2 stunden auf googel rum...

          und ich hab bis jetzt noch NIX gefunden was mir helfen könnte

          EDIT:
          Es geht eigentlich alles, das einzige was mir an Fehlern ausgegeben wird ( ich hab mysql_error, error_reporting und:
          PHP-Code:
            echo "<pre>";
            
          print_r($_POST);
            echo 
          "</pre>";
            
          mysql_error(); 
          Nur noch diese Meldungen kommen:

          Daten werden geändert...
          Notice: Undefined index: titel in D:\apachefriends\xampp\htdocs\luci\anews.php on line 47

          Notice: Undefined index: text in D:\apachefriends\xampp\htdocs\luci\anews.php on line 47
          Daten wurden erfolgreich geändert...Zurück
          Array
          (
          [id] => 3
          [titel] => a
          [submit] => submit
          )


          Zuletzt geändert von wkd-; 13.06.2005, 12:04.

          Kommentar


          • #20
            hat jetzt funktioniert.
            danke...

            der letzte fehler is jetzt nur noch:

            Notice: Trying to get property of non-object in D:\apachefriends\xampp\htdocs\luci\anews.php on line 70

            Das is wieder am Ende des Codes:

            PHP-Code:
            } <- diese hier is zeile 70
            echo "<b><a href='anews.php?aendern=$news->id'>ändern</a>";
            }
            ?> 

            Kommentar


            • #21
              PHP-Code:
              // das passiert immer, also vor das if ziehen
              $verbindung mysql_connect("localhost""root""") or die (mysql_error());
              mysql_select_db("luci"$verbindung) or die (mysql_error());

              // um aender nur einfache ', nicht "
              if (isset($_POST['aendern'])) {
                  
              $ergebnis mysql_query("SELECT * FROM news") or die(mysql_error());
                  
              $news mysql_fetch_object($ergebnis) or die(mysql_error());
                  
              // überall wo $_GET steht, muß $_POST hin
                  // und wie du siehst immer schön mit mysql_error() arbeiten 
              Und übrigens sollte root ein Passwort bekommen, auch wenn er nur von localhost connecten darf. Noch besser wäre, einen Benutzer für Script-Zugriffe anzulegen, der nicht alles darf (und natürlich auch ein Passwort hat).

              Kommentar


              • #22
                danke

                wenn ich if (isset($_POST['aendern'])) statt if(isset($aendern)) schreibe, komm ich nicht mehr zum formular.

                und die Fehlermeldung Notice: Trying to get property of non-object in D:\apachefriends\xampp\htdocs\luci\anews.php on line 70 steht immer noch da...

                Zeile 70 hab ich vorhin gepostet
                an was liegt das??

                Kommentar


                • #23
                  ersetze mal
                  PHP-Code:
                  echo "<b><a href='anews.php?aendern=$news->id'>ändern</a>"
                  durch
                  PHP-Code:
                  echo "<b><a href='anews.php?aendern=".$news->id."'>ändern</a>"
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #24
                    das ändert nichts am ganzen.. ich glaub das hab ich schon probiert gehabt... :/

                    und wie mein alter post: wenn ich das File auf den Server lad geht wieder nix

                    muss ich jetzt auf dem server register_globals=on setzen damit das funktioniert? :/

                    grusssss

                    Kommentar


                    • #25
                      jetzt funktioniert alles. sogar auf dem server..

                      ich hab jetzt mal register_globals=on gsetzt.

                      die fehlermeldung krieg ich nur lokal ausgegeben. :/

                      danke leute

                      adéé

                      Kommentar


                      • #26
                        Original geschrieben von wkd- ich hab jetzt mal register_globals=on gsetzt.
                        "Meine Garage ist 2,5m breit; mein Auto 2,60. Ich hab die linke Wand weggerissen. Jetzt passt es rein."

                        Kommentar


                        • #27
                          könnte man auch so verstehen, dass es übereilig war und unüberdacht -> bitte melden wenns so wäre

                          Kommentar


                          • #28
                            Programmier einfach mit Register-Globals=off, wie es Sinn macht, das Register-Globals standardmässig seit PHP 4.2.0 auf "off" steht.

                            Kommentar


                            • #29
                              Original geschrieben von wkd-
                              könnte man auch so verstehen, dass es übereilig war und unüberdacht -> bitte melden wenns so wäre
                              Ja, das soll man so verstehen. Vielleicht wäre das Beispiel "Ich kann nicht auf Port xy verbinden. Also schalte ich die Firewall ab." besser gewesen.

                              register_globals=Off ist quasi eine Sicherheitsvorkehrung. Du schaltest sie aus, weil du nicht in der Lage bist, mit ihr umzugehen.
                              Du weißt entweder nicht, welche Variablen per GET/POST übergeben werden (Ursache: du verstehst deinen Code nicht) oder wie man die Arrays $_GET/$_POST benutzt (Ursache: du weißt nicht wie man Arrays benutzt).

                              Beide Ursachen sind leicht zu beseitigen, dir wurde in diesem Thread schon viel dazu gesagt.

                              Wenn du register_globals=On schaltest, brauchst du dich zwar um die Ursachen nicht mehr kümmern, mußt aber mit den Folgen leben: Manche Scripte auf dem Server sind jetzt potentiell unsicher und du verstehst sie eben nicht.

                              Kommentar


                              • #30
                                Das wollte ich vorhin noch sagen:
                                Original geschrieben von wkd-
                                wenn ich if (isset($_POST['aendern'])) statt if(isset($aendern)) schreibe, komm ich nicht mehr zum formular.
                                Schreibe mal "echo $_POST['aendern'];" eine Zeile drüber, dann weißt du auch warum.
                                Wenn du im Zusammenhang mit solchen Sachen dann noch von Debuggen sprichst, wirkst du auf andere schon fast wie ein Profi.

                                (Inzwischen den DB-Zugang abgesichert?)

                                Kommentar

                                Lädt...
                                X