kostenloser Webspace werbefrei: lima-city


Problem mit INSERT INTO

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*********l

    Hi Leute ich habe ein Problem mit diesem INSERT und zwar passiert bei der Datenbank gar nichts.
    Ich habe echt schon viel versucht^^ aber ich komm hinter das Problem, es scheint am INSERT zu liegen da ich aus der Datenbank auslesen kann.
    Zur Info "db.asp" ist der Verbindungsaufbau.
    Ich hoffe ihr könnt mir helfen :)

    <?php
                                   include ('db.asp');
                                   echo '<form method="post" action="index.php?section=admin">
                                   <input type="password" name="passwort" value="">
                                   <br>
                                   <input type="submit" name="button_1" value="Login">
                                   </form>';
    
                                     if(md5($_POST['passwort']) == 'fe008700f25cb28940ca8ed91b23b354') {
    
                                     echo 'Hier meine Freunde könnt ihr die News direkt ändern.<br>
                                     <form method="post" action="'.$_SERVER["PHP_SELF"].'">
                                     <textarea name="Text" rows="10" cols="80"></textarea>
                                     <br>
                                     <input type="submit" name="button" value="Aktualisieren">
                                     </form>';
    
                                     if(isset($_POST['button']))
                                     {
                                       $sqladd="INSERT INTO reftec.news (News) VALUES ('".$_POST['text']."')";
                                       if ($result = mysql_query($sqladd))
                                       {
                                         Header("Location: index.php?section=aktuelles");
                                       }
                                       else
                                       {
                                         print "konnte query nicht ausfuehren:".mysql_error();
                                       }
                                     }
                                   }
                                   mysql_close();
                            ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Textarea Name: "Text"
    Abfrage der Postdaten mit: "text"

    soweit ich weiß ist das casesensitve, deshalb wär das zumindest schon mal 1 fehler :)
  4. Autor dieses Themas

    m*********l

    Ja das stimmt aber daran liegt es nicht habs gerade versucht, aber trozdem danke :)
  5. Normalerweise müsstest du eine fehlermeldung bekommen weil du bevor du den befehl header location verwendest schon html
    code ausgibst....

    Bei dem insert musst du aufpassen dass die anzahl der spalten richtig ist...am besten du testest den insert mit bestimmten werten im phpmyadmin....->sql
  6. Autor dieses Themas

    m*********l

    hab ich auch schon versucht da funktioniert es :(
    ich weiß echt nicht mehr weiter.
    das komische ist auch, wen ich den befehl headerlocation ganz raus lasse werde ich trozdem verlinkt.
    Liegt es vielleicht daran das ich 2 froms drin habe? das er aber nur ein form verarbeiten kann oder so ? kann das sein?
  7. Naja sagen wir mal so, deine Query wird NIE erreicht, also auch NIE ausgeführt. Warum sollte also ein Fehler kommen?
    Du hast eine Seite mit 2 Bedingungen, d.h. dein Insert kann man nur erreichen wenn beide Bedingungen erfüllt sind.

    Beispiel:
    Man ruft die Seite auf -> kommt die Login Eingabe -> ok gibt man was ein ...Login
    ->dann kommt dein Login und das zweite Formular -> gibt man was ein und geht auf aktualisieren.
    -> dadurch wird nur noch das Post[button] übermittel -> erste Bedingung (Post[passwort] ist nicht erfüllt
    -> es wird nur der Login angezeigt

    Hoffe das hilft ein wenig.
    Grüßle

    PS: wobei ich nicht weiß ob index.php?section=admin wieder bei dir dort in der Datei ankommt ;-)



    Beitrag zuletzt geändert: 14.5.2009 11:24:41 von scout
  8. Autor dieses Themas

    m*********l

    also liegt es daran das ich 2 Forms habe hm okay dann werd ich mir was anderes Überlegen müssen aber danke :)
  9. Es ist egal wie viele Formulare Du auf einer Seite hast, es wird eh nur das Formular gesenden in dem auch der Submitbutton gedrückt wurde.

    An Deiner Stelle würde ich die Abfrage ein wenig verfeinern, so das Du sicher sein kannst dass der Script nur auf das Formular reagiert auf das es reagieren soll. Hier mal ein Beispiel:
    <?php
    
        // Formularverarbeitung ->
        if($_SERVER['REQUEST_METHOD'] == 'POST' AND isset($_POST['comment']) AND 'Senden' == $_POST['comment']) {
            // Weitere Verarbeitung ->
            ....
        }
    
    ?>
    <from method="post"> <!-- Action ist nur notwendig, wenn der der Script der das Formular verarbeiten soll nicht in der selben Datei liegt. -->
    <input type="text" name="inhalt" />
    <input type="submit" name="comment" value="Senden" />
    </form>


    Mit "$_SERVER['REQUEST_METHOD'] == 'POST'" ist zwar nicht wirklich nötig, ich verwende es aber dennoch aus reiner Gewohntheit, pflicht ist es aber nicht. Wichtiger ist der Teil "isset($_POST['comment']) AND 'Senden' == $_POST['comment']", hier wird zum einem geprüft ob der sich ein Value mit dem Key "comment" im $_POST Array befindet und der Key "Comment" den Value "Senden" enthällt. So stellst Du sicher das der Script zu 99,9% nur auf dieses Formular reagiert.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!