Problem beim speichern von Daten in MYSql

  • Hallo, der Fehler ist vielleicht "banal" aber ich sehe ihn nicht. Ich bin "noch Anfänger" aber eigentlich dachte ich mir dass ich das hier hinbekomme.

    [php:1:32e35211d3]<?php
    $conn = @mysql_connect($server, $user, $pass);
    @mysql_select_db($datenbank, $conn);

    if ($conn!=TRUE)
    {
    echo "Verbindungsfehler: ".mysql_error()." !! Versuchen Sie es zu einem sp&amp;auml;teren Zeitpunkt nochmals. Danke.";
    die;
    }

    if($_REQUEST['aktion'] =="kursedit"){
    if($_REQUEST['send']==1) {
    $query="UPDATE TFG_Kurse set wochentag='$_REQUEST[wochentag]',von='$_REQUEST[von]',bis='$_REQUEST[bis]',kurs='$_REQUEST[ort]',kurs='$_REQUEST[ort]', trainer='$_REQUEST[trainer]', info='$_REQUEST[info]', text='$_REQUEST[text]' where id='$_REQUEST[id]' ";
    $result=mysql_query($query);
    $msg="Eintrag erfolgreich bearbeitet";
    header("Location:edit.php?aktion=kursedit&id=$_REQUEST[id]");

    } else {

    $query="select * from TFG_Kurse where id='$_REQUEST[id]'";
    $result=mysql_query($query);
    $row=mysql_fetch_array($result);
    ?><?php echo $msg ?>
    <form style="display:inline;" name="form2" method="post" action="edit.php?aktion=kursedit&id=<?php '$_REQUEST[id]'?>"</form>
    <table width=100% border="1" cellpadding="4" cellspacing="0" bordercolorlight="<?php echo BDL; ?>" bordercolordark="<?php echo BDLD; ?>">
    <tr>
    <td colspan="2" class="headt2"><b class="fontheadt2">Kurs bearbeiten[/b]</td>
    </tr>
    <tr>
    <td class="td1">von</td>
    <td class="td4"> <input name="von" type="text" id="titel3" value="<?=$row[von] ;?>" size="55"></td>
    </tr>
    <tr>
    <td class="td1">bis</td>
    <td class="td4"> <input name="bis" type="text" id="titel3" value="<?=$row[bis] ;?>" size="55"></td>
    </tr>
    <tr>
    <td class="td1">Kurs</td>
    <td class="td4"> <input name="kurs" type="text" id="titel3" value="<?=$row[kurs] ;?>" size="55"></td>
    </tr>
    <tr>
    <td class="td1">Trainer</td>
    <td class="td4"> <input name="trainer" type="text" id="titel3" value="<?=$row[trainer] ;?>" size="55"> </td>
    </tr>
    <tr>
    <td class="td1">Ort</td>
    <td class="td4"><input name="ort" type="text" id="titel3" value="<?=$row[ort] ;?>" size="55"></td>
    </tr>
    <tr>
    <td class="td1">Info</td>
    <td class="td4"><input name="info" type="text" id="titel3" value="<?=$row[info] ;?>" size="55"></td>
    </tr>
    <tr>
    <td valign="top" class="td1">Kommentar</td>
    <td valign="top" class="td4"> <textarea name="text" cols="70" rows="15" wrap="VIRTUAL" id="textarea"><?=$row[text] ;?></textarea> </td>
    </tr>
    <tr>
    <td class="td1"></td>
    <td class="td4">
    <input name="id" type="hidden" id="id" value="<?=$_REQUEST[id] ?>">
    <input name="send" type="hidden" id="send" value="1">
    <input name="submit"type="submit" class="button" onclick="this.blur()" onfocus="this.blur()" value="Eintrag bearbeiten"></td>
    </tr>
    </table>
    </form>
    <?
    }}
    ?>
    [/php:1:32e35211d3]

    Nach dem Abensenden ist der Ursprung wieder in der Anzeige aber nichts geändert. Ich denke das liegt am "send" aber ich komme nicht auf die lösung

  • versuche es mal so:

  • nabbend,

    funzt wunderbar ! danke dir. ich hab mir gedacht dass das löschen

    [php:1:d54533beb8]<?php
    if($_REQUEST['aktion']=="kursloeschen")
    {
    $query = "DELETE FROM TFG_Kurs WHERE id='{$_REQUEST['id']}'";
    $result=mysql_query($query);
    }
    ?>[/php:1:d54533beb8]
    auch so einfach geht. der link wird angezeigt. das script meldet keinen fehler, nach dem löschen hab ich zwar ne weisse seite aber der datensatz ist weiterhin vorhanden. ich kann doch den table angeben, die id und mit delete löschen. warum funzt es nicht ? id=1 sagt der link und die id 1 gibt es in der übersicht auch *grübel*

  • versuchs mal so :

    PHP
    <?php
    if($_REQUEST['aktion']=="kursloeschen")
      {
    $query = "DELETE FROM TFG_Kurs WHERE id='".$_REQUEST['id']."'";
    $result=mysql_query($query);
    }
    ?>
  • Zitat von cookie

    versuchs mal so :

    PHP
    <?php
    if($_REQUEST['aktion']=="kursloeschen")
      {
    $query = "DELETE FROM TFG_Kurs WHERE id='".$_REQUEST['id']."'";
    $result=mysql_query($query);
    }
    ?>

    Also wenn ich danach in die Übersicht wechsel ist die ID mitsamt aller daten weiterhin in der Übersicht vorhanden

    die übersicht gibt dies hier aus
    id wochentag von bis kurs ort trainer info
    1 MO 07.15 8.15 H2O Gym Schwimmbad Ursula test
    2 MO 08.45 9.45 Nordic Walking Treffpunkt Turnhalle Ursula test
    3 MO 09.45 10.45 Yoga Spiegelsaal Ursula test
    4 MO 16.45 17.45 Dance 4 Teens Spiegelsaal Katja test
    5 MO 18.00 19.00 BBP Turnhalle Franziska test

  • Also:

    Code
    if($_REQUEST['aktion']=="kursloeschen")
    { echo "Debug: Datensatz {$_REQUEST['id']} wird gelöscht
    \n";
      mysql_query("DELETE FROM `TFG_Kurs` WHERE `id`='{$_REQUEST['id']}'"); echo mysql_error();
    }

    währe es koreckt und der weg, wie man den fehler besser eingrenzen kann.

  • ich habe festgestellt, dass wenn man die daten/aktionen speichern möchte den IE von Mikrosoft benutzen muss. Mit dem Firefox wird keine Aktion ausgeführt. Kann Firefox den send befehlt nicht ausführen ?