Tron: php-Bug? Oder mein Fehler?

Also...
Ich habe eine Datei, die enthält ein Formular, und ist gleichzeitig das Formular-Auswertungsscript...
So lange ich nicht folgende Zeile eintrage in dieses Formular wird es vom Browser gefunden: include("connect.inc.php");
Das dumme ist nur ich brauche diese Zeile, sobald ich sie also einbinde kommt dieser Fehler: Eroor 404: File not found!

HIer mal der Quelltext:

<?php
if(!$_POST) {
<-- Formular -->
}
else {
$newsid = $_POST["newsid"];
$topic = $_POST["topic"];
$text = $_POST["text"];
$autor = $_POST["autor"];
$datum = date("d.m.y");
$zeit = date("H:I:S");
if((isset($topic)) && (isset($text)) && (isset($autor))) {
<-- Füge ich hier diese Zeile ein, 404 ohne nicht... -->
include("connect.inc.php");
<-- Hier endet diese Zeile -->
$insert = mysql_query("update iln_news set topic='".$topic."',text='".$text."',verfasser='".$autor."', datum='".$datum."',uhrzeit='".$zeit."' where id='".$newsid."'") or die("Fehlgeschlagen!");
mysql_close($dblink);
header("Location:index.php");
}
}

  1. Also...
    Ich habe eine Datei, die enthält ein Formular, und ist gleichzeitig das Formular-Auswertungsscript...
    So lange ich nicht folgende Zeile eintrage in dieses Formular wird es vom Browser gefunden: include("connect.inc.php");
    Das dumme ist nur ich brauche diese Zeile, sobald ich sie also einbinde kommt dieser Fehler: Eroor 404: File not found!

    dann liegt es nicht am script, sondern der parser kann die datei wirklich nicht finden ... versichere dich nochmal, ob die datei wirklich dort ist, wo sie sein sollte

    cu
    ulli

    1. ist sie...ja

      1. ist sie...ja

        geht nicht ... weil wenn der parser sagt, er findet sie nicht (dort wo er sucht) kann sie nicht dort sein

        häufige fehler sind groß-/kleinschreibung, angabe relativer pfade, deutsche umlaute in dateinamen

        überprüfe nochmal ganz genau, in welchem verzeichnis du arbeitest (die datei ist, von der deine connect eingebunden werden soll) und wo die datei wirklich ist

  2. Hallo Tron,

    $zeit = date("H:I:S");

    mhh.. was willst du denn mit "13:1:th"? Schau dir die Parameter auf http://www.php.net/date nochmal genau an...

    if((isset($topic)) && (isset($text)) && (isset($autor))) {

    die Klammern um isset($foo) kannst du jeweils weglassen

    <-- Füge ich hier diese Zeile ein, 404 ohne nicht... -->

    inwiefern 404? findet er die Seite in der die Zeile drinsteht nicht, oder die connect.inc.php? Kann man sich das vielleicht irgendwo anschauen?

    include("connect.inc.php");

    gibt es die Datei auch im gleichen Verzeichnis? Was steht da drin?

    $insert = mysql_query("update iln_news set topic='".$topic."',text='".$text."',verfasser='".$autor."', datum='".$datum."',uhrzeit='".$zeit."' where id='".$newsid."'")

    mal abgesehen davon, dass du Daten die von außen kommen und somit potentiell böse sind einfach so verwendest, solltest du deinen Query erstmal in eine Variable schreiben, um dann überprüfen zu können ob da auch wirklich das drinsteht, was du erwartest.

    or die("Fehlgeschlagen!");

    lass dir von die() doch wenigstens noch mysql_error() ausgeben...

    header("Location:index.php");

    das ist kein gültiger header (hinter "Location:" muss eine komplette url stehen)

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Hallo Tron,

      $zeit = date("H:I:S");
      mhh.. was willst du denn mit "13:1:th"? Schau dir die Parameter auf http://www.php.net/date nochmal genau an...

      Es funktioniert, das ist die hauptsache...

      if((isset($topic)) && (isset($text)) && (isset($autor))) {
      die Klammern um isset($foo) kannst du jeweils weglassen

      <-- Füge ich hier diese Zeile ein, 404 ohne nicht... -->
      inwiefern 404? findet er die Seite in der die Zeile drinsteht nicht, oder die connect.inc.php? Kann man sich das vielleicht irgendwo anschauen?

      wenn er den include nicht finden würde, dann würde er nen anderen Fehler anzeigen...

      include("connect.inc.php");
      gibt es die Datei auch im gleichen Verzeichnis? Was steht da drin?

      1. Ja...
      2. nein kann cih nciht sagen, währe zu gefährlich, aber die datei funktioniert ich habe sie schon viele male verwendet...

      $insert = mysql_query("update iln_news set topic='".$topic."',text='".$text."',verfasser='".$autor."', datum='".$datum."',uhrzeit='".$zeit."' where id='".$newsid."'")
      mal abgesehen davon, dass du Daten die von außen kommen und somit potentiell böse sind einfach so verwendest, solltest du deinen Query erstmal in eine Variable schreiben, um dann überprüfen zu können ob da auch wirklich das drinsteht, was du erwartest.

      Kommt aus nem admin - cp angeschwirrt, und da kann nur ich rein...
      Allerdings muss ichs noch sicherer machen fällt mir gerade auf jetzt stimmtes....

      or die("Fehlgeschlagen!");
      lass dir von die() doch wenigstens noch mysql_error() ausgeben...

      Bruache ich nicht, es funktioniert, den die hab ich nur für die entwicklungszeit verwendet... ich läsch ihn...

      header("Location:index.php");
      das ist kein gültiger header (hinter "Location:" muss eine komplette url stehen)

      nö stimmt nicht es funktioniet ohne probleme

      Grüße aus Nürnberg
      Tobias

      Grüsse aus Bonn, Tron

      1. Hallo Tron,

        auch wenn das Problem gelöst ist:

        $zeit = date("H:I:S");
        mhh.. was willst du denn mit "13:1:th"?
        Es funktioniert, das ist die hauptsache...

        probier es aus - mit dem was du da stehen hast, bekommst du "13:1:th" und nicht wie vmtl. gewünscht 13:52:40 (ja, es kommt auf die Groß-/Kleinschreibung an).

        include("connect.inc.php");
        Was steht da drin?

        1. nein kann cih nciht sagen, währe zu gefährlich,

        du brauchst ja auch nicht die komplette Datei so wie sie ist posten, sondern nur in etwa sagen, was da drinsteht (das du passwörter o.ä. nicht zu posten brauchst, ist ja klar)

        lass dir von die() doch wenigstens noch mysql_error() ausgeben...
        Bruache ich nicht, es funktioniert, den die hab ich nur für die entwicklungszeit verwendet... ich läsch ihn...

        musst du wissen...

        header("Location:index.php");
        das ist kein gültiger header (hinter "Location:" muss eine komplette url stehen)
        nö stimmt nicht es funktioniet ohne probleme

        ich habe nicht gesagt, dass es nicht funktioniert, sondern nur, dass es falsch ist.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. Hallo Tron,

    fügst du diese Datei ein,

    include("connect.inc.php");
    <-- Hier endet diese Zeile -->

    wird die nachfolgende SQL-Operation ausgeführt und ist erfolgreich
    fehlt diese Datei so fehlen auch die Daten, um mit der Datenbank in Verbindung zu treten und dies führt zu einen Mißerfolg

    $insert = mysql_query("update iln_news set topic='".$topic."',text='".$text."',verfasser='".$autor."', datum='".$datum."',uhrzeit='".$zeit."' where id='".$newsid."'") or

    und es wirkt diese Zeile

    die("Fehlgeschlagen!");

    die beendet die Ausführung des Scriptes und deshalb werden die folgenden Zeile nicht ausgeführt:

    mysql_close($dblink);
    header("Location:index.php");

    wurde die Datei connect.inc.php eingebunden, wird auch das header("Location:index.php" ) ausgeführt.

    Diese Datei existiert jedoch nicht und erzeugt den 404-Error. Was daran noch falsch ist, hat Tobias bereits gesagt.

    Ich wollte nur noch erklären, warum der 404-Error nicht immer auftritt.

    Viele Grüße

    Antje

  4. DANKE an alle!

    Es funktioniert jetzt...

    Der Nürnberger hatte zwar unrecht, man braucht keine komplett URL aber mann muss schon angeben, dass die index.php ein Verzeichnis niedriger leigt *g*

    nochmal DANKE @ all

    mfg

    Tron

    1. DANKE an alle!

      Es funktioniert jetzt...

      Der Nürnberger hatte zwar unrecht, man braucht keine komplett URL

      respekt an "den nürnberger" ;-) und

      aber mann muss schon angeben, dass die index.php ein Verzeichnis niedriger leigt *g*

      ... wusste ich es doch *g

    2. Moin!

      Der Nürnberger hatte zwar unrecht, man braucht keine komplett URL aber mann muss schon angeben, dass die index.php ein Verzeichnis niedriger leigt *g*

      Der Nürnberger hat leider doch recht: Wenn du mit PHP eine unvollständige Weiterleitung gesendet bekommst, damm versagt PHP. Und auch der HTTP-Standard fordert die Angabe einer _kompletten_ URL, zu der weitergeleitet wird.

      Dass einige Browser auch mit relativen URLs klarkommen, ist zwar nett, aber man kann sich nicht drauf verlassen.

      - Sven Rautenberg

      --
      SELFTREFFEN 2003 - http://selftreffen.kuemmi.ch/
      ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|