Ergebnis 1 bis 20 von 321

Thema: Allgemeiner Fragethread

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hab noch so ein seltsames Problem...

    HTML-Code:
    
    <form action='news_eintrag.php' method='post'>
    <br>
    
    
    <div style='margin-bottom: 10px;'>
    <b style='color: white;'>Titel:</b><br />
    <input type='text' name='titel' style='border: 1px solid #666666; background: #EEEEEE;' />
    </div>
    
    
    
    
    <b style='color: white;'>Text:</b><br />
    <textarea cols='40' rows='10'  name='message' style='border: 1px solid #666666; background: #EEEEEE;'></textarea>
    <br /><br /><input type='submit' value='Absenden' style='border: 1px solid #666666; background: #EEEEEE;'>
    </form>
    PHP-Code:


    <?php

    $verbindung 
    mysql_connect ("localhost",
    "...""...")
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db("...")
    or die (
    "Die Datenbank existiert nicht.");


         
    $message  $_POST["message"];
         
    $username $_POST["autor"];
         
    $titel $_POST["titel"];
         
    $zeit time();


       

             
              
    $eintrag "INSERT INTO news
             (message, username, titel, zeit)
             VALUES
             ('
    $message', '$username', '$titel', '$zeit')";
            
             
    $eintragen mysql_query($eintrag); 
            
    if(
    $eintragen == true)
       {
       echo 
    "<div align=\"center\" style='color: white; '><br /><br />Eintrag war erfolgreich. <br /> <br/> <a style='color: white; ' href=\"index.php\">Weiter »</a></div>";
       }
    else
       {
       echo 
    "Fehler beim Speichern";
       }
     
            

    ?>
    Wie man sieht handelt es sich um ein einfaches Newsscript.
    Doch seltsamerweise werden immer 2 Einträge gemacht?
    Woran hängt das?
    Wobei ich dazu sagen muss, dass es auf einem anderen Server funktioniert.
    Ich dachte schon an Unterschiedliche PHP Versionen - gibt es da einen Befehl, der bei einer anderen Version anders aussehen müsste?

  2. #2
    Ich sehe nichts, dass eine doppelte Eintragung verursachen könnte.

    Tritt dieses Problem in mehreren oder nur einem bestimmten Browser auf?
    Falls letzteres zutrifft, versuche doch mal einen <button type="submit"> statt <input /> zu verwenden.

    Oder aktualisierst du die Seite mit dem Eintrageskript eventuell, so dass es erneut aufgerufen wird?

    So, muss jetzt leider wieder arbeiten gehen ;_;

  3. #3
    Bist du sicher, dass das Codestueck nicht mehrfach aufgerufen wird? Und bist du auch sicher, dass die Eintraege mehrfach in der DB stehen und nicht einfach nur doppelt ausgegeben werden?
    Ansonsten wuerde ich den Code uebrigens auch noch gegen SQL-Injections schuetzen.

  4. #4
    @mitaki: Nein, sowohl IE7, als auch MF verursachen denselben Fehler
    @mq: Zum testen hab ich wirklich nur diese beiden Dateien (ohne zusammenhängende Webseite) genutzt. Und ich sehe darin keinen Fehler, sodass die Datei 2x aufgerufen werden könnte.
    Außerdem schau ich hauptsächlich per phpMyAdmin und der Timestamp ist exakt derselbe, demnach schließe ich einen Reload außerdem aus.

    Vielleicht nützt es ja jemandem:

    Funpic --> Funktioniert korrekt
    Serverdrome --> Error

    Geändert von Antares (25.01.2007 um 14:56 Uhr)

  5. #5
    Zitat Zitat
    Außerdem schau ich hauptsächlich per phpMyAdmin und der Timestamp ist exakt derselbe, demnach schließe ich einen Reload außerdem aus.
    Der Unterschied bei einem Timestamp ist eine Sekunde, in dieser Zeit könnte das Skript zigmal gerufen werden, bevor die Sekunde zu Ende ist.

    Besteht wirklich kein weiterer Unterschied zwischen deinen Dateien und dem geposteten Quelltext?

  6. #6
    hätte auch mal frage woher das hier komt
    PHP-Code:
      $username $_POST["autor"]; 
    sehe im Foumlar nix was denn "name" autor hat.
    Sicher das dann wirklich nix dazwischen funkt? ^^
    Oder mal neu uploaden,vllt einfach einmal korrigiert udn net neu geuploadet.

  7. #7
    Ja, Autor hab ich im Postscript nicht dabei, aber das ändert nichts, denn Autor wird sowieso nicht in die Db eingetragen. zumindest laut aktuellem Script nicht.
    @mitaki: Mit Reload meine ich einen manuellen Reload, der ausversehen passieren könnte.

    *edit*
    Nochmal der exakte Code:

    PHP-Code:


    <?php

    $verbindung 
    mysql_connect ("localhost",
    "...""...")
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db("...")
    or die (
    "Die Datenbank existiert nicht.");

         
    //Variabeln initalisieren
         
    $message  $_POST["message"];
         
    $username $_POST["autor"];
         
    $titel $_POST["titel"];
         
    $zeit time();


       
        
    // Daten eintragen
             
              
    $eintrag "INSERT INTO news
             (message, titel, zeit)
             VALUES
             ('
    $message', '$titel', '$zeit')";
            
             
    $eintragen mysql_query($eintrag); 
            
    if(
    $eintragen == true)
       {
       echo 
    "<div align=\"center\" style='color: white; '><br /><br />Eintrag war erfolgreich. <br /> <br/> <a style='color: white; ' href=\"index.php\">Weiter »</a></div>";
       }
    else
       {
       echo 
    "Fehler beim Speichern";
       }
     
            

    ?>
    So, hab nur die Zugansdaten editiert.
    HTML-Code:
    
    <form action='news_eintrag.php' method='post'>
    <br>
    
    
    <div style='margin-bottom: 10px;'>
    <b style='color: white;'>Titel:</b><br />
    <input type='text' name='titel' style='border: 1px solid #666666; background: #EEEEEE;' />
    </div>
    
    <div style='margin-bottom: 10px;'>
    <b style='color: white;'>Autor:</b><br />
    
    </div>
    
    
    <b style='color: white;'>Text:</b><br />
    <textarea cols='40' rows='10'  name='message' style='border: 1px solid #666666; background: #EEEEEE;'></textarea>
    <br /><br /><input type='submit' value='Absenden' style='border: 1px solid #666666; background: #EEEEEE;'>
    </form>
    Exakt übernommen.

    Ich weiß, manche Stellen mögen sinnlos wirken, allerdings funktioniert der Script auf exakt diese Weise nicht, und deshalb hab ich die seltsamen Stellen (die aber keine Fehler enthalten) übernommen.

    Achja:
    Der Server ist sehr seltsam.
    Letztens habe ich eine fehlerhafte PHP Datei inkludiert, doch es kam keine Fehlermeldung, sondern es wurde einfach nichts angezeigt.

    Geändert von Antares (25.01.2007 um 21:37 Uhr)

  8. #8
    Eine ganz banale Idee:
    Würde sich etwas ändern, wenn du bei der letzten IF-Abfrage den „== true“-Abschnitt weglässt (der ohnehin nicht notwendig ist)?

    Ansonnsten könntest du auch mal versuchen, die Dateien auf dem fehlerhaften Server zu löschen und neu hochzuladen, wie Demonking vorschlug, eventuell hat sich beim hochladen wirklich ein Fehler eingeschlichen.

  9. #9
    Zitat Zitat von mitaki Beitrag anzeigen
    Eine ganz banale Idee:
    Würde sich etwas ändern, wenn du bei der letzten IF-Abfrage den „== true“-Abschnitt weglässt (der ohnehin nicht notwendig ist)?
    Ändert leider nichts.

    Zitat Zitat von mitaki Beitrag anzeigen
    Ansonnsten könntest du auch mal versuchen, die Dateien auf dem fehlerhaften Server zu löschen und neu hochzuladen, wie Demonking vorschlug, eventuell hat sich beim hochladen wirklich ein Fehler eingeschlichen.
    Neu hochladen?
    Naja ich erstelle und editiere sämtliche Dateien online, von daher kann man das vergessen.


    *Edit*
    Ich frag mich eigentlich, warum ich euch mit massig Quelltext zuspamme..

    PHP-Code:

    <?php

    $verbindung 
    mysql_connect ("localhost",
    "."".")
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db(".")
    or die (
    "Die Datenbank existiert nicht.");

     
         
    $message  "hallo";

             
              
    $eintrag "INSERT INTO news
             (message)
             VALUES
             ('
    $message')";
            
             
    $eintragen mysql_query($eintrag); 
            
    ?>
    Allein dieses Script führt zu exakt demselben Fehler !

    Geändert von Antares (25.01.2007 um 21:48 Uhr)

  10. #10
    Zitat Zitat
    Der Server ist sehr seltsam.
    Letztens habe ich eine fehlerhafte PHP Datei inkludiert, doch es kam keine Fehlermeldung, sondern es wurde einfach nichts angezeigt.
    Ah, deine Administration will keine Fehlermedlungen für die Benutzer sichtbar machen.

    Füge bitte eine dieser Zeilen ganz oben in dein PHP-Skript ein:
    PHP-Code:
    /* PHP 4 */error_reporting(E_ALL);
    /* PHP 5 */error_reporting(E_ALL|E_STRICT); 
    Nachtrag:
    Zitat Zitat
    Allein dieses Script führt zu exakt demselben Fehler !
    Gut, wenn das nichts ergibt, frage bitte den Support des betroffenen Servers (sofern vorhanden).

    Geändert von mitaki (25.01.2007 um 21:59 Uhr)

  11. #11
    Also, so:

    PHP-Code:


    <?php

    /* PHP 4 */error_reporting(E_ALL);
    /* PHP 5 */error_reporting(E_ALL|E_STRICT); 

    $verbindung mysql_connect ("localhost",
    "."".")
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db(".")
    or die (
    "Die Datenbank existiert nicht.");

     
         
    $message  "hallo";

             
              
    $eintrag "INSERT INTO news
             (message)
             VALUES
             ('
    $message')";
            
             
    $eintragen mysql_query($eintrag); 
            
    ?>

    Resultat: Seite bleibt leer (weiß); Nichts wird in die DB eingetragen.

  12. #12
    Zitat Zitat
    Füge bitte eine dieser Zeilen ganz oben in dein PHP-Skript ein:
    Ich habe die großen PHP-Versionen absichtlich getrennt, damit diese sich nicht in die Quere kommen.

    Wenn du deine PHP-Version nicht kennst kannst du sie über phpversion() ausgeben.

  13. #13
    Zitat Zitat von mitaki Beitrag anzeigen
    Ich habe die großen PHP-Versionen absichtlich getrennt, damit diese sich nicht in die Quere kommen.
    Sorry, mein Fehler.
    Ändert aber nichts.

    Zitat Zitat von mitaki Beitrag anzeigen
    Wenn du deine PHP-Version nicht kennst kannst du sie über phpversion() ausgeben.
    lol, nicht mal das funktioniert.
    Aber laut phpinfo() ist es 5

    Geändert von Antares (25.01.2007 um 22:18 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •