MYSQL update funktioniert nicht

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Dark|pUM4, 3. November 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. November 2008
    Hallo Leute,

    ich schreibe gerade eine sehr simple Kalenderfunktion für meine Homepage!
    Jetzt kann ich allerdings nix updaten (MYSQL -> Updatefunktion)

    Hier mal der gesamte Code, vll findet ihr ja einen Fehler!

    Denn er übergibt die Daten einwandfrei und schreibt auch hin das alles passt!

    BW gibts natürlich!

    PHP:
    <?
    $action  $_GET [ 'action' ];

    if(
    $action  ==  'add' ){
    if(!
    $loggedin ) die( 'Bitte einloggen!' );
    ?><form method="post" name="post" action="index.php?site=calendar&action=save&kat=<?  echo  $kat ?>">
      <table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
        <tr> 
          <td colspan="2" height="20" class="title"><h3>Termin hinzuf&uuml;gen:<br />
            </h3>      </td>
        </tr>
        <tr> 
          <td colspan="2"></td>
        </tr>
        <tr>
          <td width="178"><div align="right">Terminbezeichnung:</div></td>
          <td width="1036"><input name="name" type="text" class="form_off" id="name" onFocus="this.className='form_on'" onBlur="this.className='form_off'" size="30" maxlength="30"></td>
        </tr>
        <tr>
          <td align="right">Erinnerungszyklus:</td>
          <td >      <select name="remember">
            <option value="0" selected>deaktivieren</option>
            <option value="1">aktiv (einamlige Erinnerung)</option>
            <option value="2">aktiv (j&auml;hrliche Erinnerung)</option>
          </select>
          (per Email) </td>
        </tr>
         <tr>
          <td align="right">Erinnerungsfuntkion:</td>
          <td >      <select name="before">
            <option value="0" selected>am Tag des Termins</option>
            <option value="1">1 Tag vor demm Termin</option>
            <option value="2">2 Tage vor dem Termin)</option>
            <option value="7">1 Woche vor dem Termin)</option>
          </select>
          (per Email) </td>
        </tr>
        <tr>
          <td align="right" valign="top">Datum:</td>
          <td align="left" valign="top"><select name="tag" id="tag">
              <option value="00" selected="selected">---</option>
              <option value="01">01</option>
              <option value="02">02</option>
              <option value="03">03</option>
              <option value="04">04</option>
              <option value="05">05</option>
              <option value="06">06</option>
              <option value="07">07</option>
              <option value="08">08</option>
              <option value="09">09</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            .
            <select name="monat" id="monat">
              <option value="00" selected="selected">---</option>
              <option value="01">Jan.</option>
              <option value="02">Feb.</option>
              <option value="03">M&auml;rz</option>
              <option value="04">April</option>
              <option value="05">Mai</option>
              <option value="06">Juni</option>
              <option value="07">Juli</option>
              <option value="08">Aug.</option>
              <option value="09">Sep.</option>
              <option value="10">Okt.</option>
              <option value="11">Nov.</option>
              <option value="12">Dez.</option>
            </select>
            .
            <input name="jahr" type="text" id="jahr" value="0000" size="6" maxlength="4" /></td>
        </tr>
        <tr>
          <td align="right" valign="top">&nbsp;</td>
          <td align="left" valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="save" type="submit" value="absenden" />
            (alle Felder sind Pflichtfelder!) </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </form><?

    }elseif( $action  ==  'save' ){
    if(!
    $loggedin ) die( 'Bitte einloggen!' );

        
    $name  $_POST [ 'name' ];
        
    $remember  $_POST [ 'remember' ];
        
    $tag  $_POST [ 'tag' ];
        
    $monat  $_POST [ 'monat' ];
        
    $jahr  $_POST [ 'jahr' ];
        
    $date  $tag . '.' . $monat . '.' . $jahr ;
        
    $before  $_POST [ 'before' ];
        
        
    $test  mysql_query ( "SELECT id FROM present_kalender WHERE userid = ' $userID ' and date = ' $date ' and name = ' $name '" );
            
    $numtwo  mysql_num_rows ( $test );
                if(
    $numtwo  "0" $error []= "Dieser Termin ist bereits vorhanden!" ;
        
        
    //Datumsüberprüfung
        
    if(!( strlen ( trim ( $name ))))  $error []= "Sie müssen eine Bezeichnung angeben!" ;
        

        if(
    is_array ( $error )) {
            echo
    '<b>Ein Fehler ist aufgetreten!</b><br><br>' ;
            foreach(
    $error  as  $err ) {
                echo
    '<li>' . $err . '</li>' ;
            }
            echo
    '<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Zurück">' ;
        }
        else {
        
    mysql_query ( "INSERT INTO `present_kalender` (`name`, `remember`, `date`, `before`, `userid`) VALUES (' $name ', ' $remember ', ' $date ', ' $before ', ' $userID ')" );
        
        echo 
    'Ihr Termin wurde erfolgreich eingetragen. <meta http-equiv="refresh" content="3;URL=index.php?site=calendar&kat=' . $kat . '">' ;
        }
        
    }elseif(
    $action  ==  'edit' ){
    if(!
    $loggedin ) die( 'Bitte einloggen!' );

    $id  $_GET [ 'id' ];

    $detail  mysql_query ( "SELECT * FROM present_kalender WHERE userid=' $userID ' and id=' $id '" );
        
    $dx  mysql_fetch_array ( $detail );
                        
                
    $name  $dx [ 'name' ];
                
    $date  $dx [ 'date' ];
                
    $rememberet  $dx [ 'remember' ];
                
    $wann  $dx [ 'before' ];
                
                        if(
    $rememberet  ==  1 ){  $zyklus  '<select name="remember2" id="remember2">
            <option value="0">deaktivieren</option>
            <option value="1" selected="selected">aktiv (einamlige Erinnerung)</option>
            <option value="2">aktiv (j&auml;hrliche Erinnerung)</option>
          </select>'
    ;
                        }elseif(
    $rememberet  ==  2 ){  $zyklus  '<select name="remember2" id="remember2">
            <option value="0">deaktivieren</option>
            <option value="1">aktiv (einamlige Erinnerung)</option>
            <option value="2" selected="selected">aktiv (j&auml;hrliche Erinnerung)</option>
          </select>'
    ;
                        }else{ 
    $zyklus  '<select name="remember2" id="remember2">
            <option value="0" selected="selected">deaktivieren</option>
            <option value="1">aktiv (einamlige Erinnerung)</option>
            <option value="2">aktiv (j&auml;hrliche Erinnerung)</option>
          </select>'
    ;}


            if(
    $wann  ==  0 ){  $funktion  '<select name="before2" id="before2">
            <option value="0" selected="selected">am Tag des Termins</option>
            <option value="1">1 Tag vor demm Termin</option>
            <option value="2">2 Tage vor dem Termin)</option>
            <option value="7">1 Woche vor dem Termin)</option>
          </select>'
    ;
            }elseif(
    $wann  ==  1 ){  $funktion  '<select name="before2" id="before2">
            <option value="0">am Tag des Termins</option>
            <option value="1" selected="selected">1 Tag vor demm Termin</option>
            <option value="2">2 Tage vor dem Termin)</option>
            <option value="7">1 Woche vor dem Termin)</option>
          </select>'
    ;
            }elseif(
    $wann  ==  2 ){  $funktion  '<select name="before2" id="before2">
            <option value="0">am Tag des Termins</option>
            <option value="1">1 Tag vor demm Termin</option>
            <option value="2" selected="selected">2 Tage vor dem Termin)</option>
            <option value="7" >1 Woche vor dem Termin)</option>
          </select>'
    ;
            }else{ 
    $funktion  '<select name="before2" id="before2">
            <option value="0" >am Tag des Termins</option>
            <option value="1" >1 Tag vor demm Termin</option>
            <option value="2" >2 Tage vor dem Termin)</option>
            <option value="7" selected="selected">1 Woche vor dem Termin)</option>
          </select>'
    ;}


    ?><form method="post" name="post" action="index.php?site=calendar&action=update&id=<?  echo  $id ?>&kat=<?  echo  $kat ?>">
      <table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
        <tr> 
          <td colspan="2" height="20" class="title"><h3>Termin bearbeiten:<br />
            </h3>      </td>
        </tr>
        <tr> 
          <td colspan="2"></td>
        </tr>
        <tr>
          <td width="178"><div align="right">Terminbezeichnung:</div></td>
          <td width="1036"><input name="name2" type="text" class="form_off" id="name2" onFocus="this.className='form_on'" onBlur="this.className='form_off'" value="<?  echo  $name ?>" size="30" maxlength="30"></td>
        </tr>
        <tr>
          <td align="right">Erinnerungszyklus:</td>
          <td ><?  echo  $zyklus ?>
            (per Email) </td>
        </tr>
             <tr>
          <td align="right">Erinnerungsfuntkion:</td>
          <td >      <?  echo  $funktion ?>
          (per Email) </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><br /><br />Aktuell lautet das Datum <?  echo  $date ?> !<br /><br /> </td>
        </tr>
        <tr>
          <td align="right" valign="top">Datum:</td>
          <td align="left" valign="top"><select name="tag2" id="tag2">
              <option value="00" selected="selected">---</option>
              <option value="01">01</option>
              <option value="02">02</option>
              <option value="03">03</option>
              <option value="04">04</option>
              <option value="05">05</option>
              <option value="06">06</option>
              <option value="07">07</option>
              <option value="08">08</option>
              <option value="09">09</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            .
            <select name="monat2" id="monat2">
              <option value="00" selected="selected">---</option>
              <option value="01">Jan.</option>
              <option value="02">Feb.</option>
              <option value="03">M&auml;rz</option>
              <option value="04">April</option>
              <option value="05">Mai</option>
              <option value="06">Juni</option>
              <option value="07">Juli</option>
              <option value="08">Aug.</option>
              <option value="09">Sep.</option>
              <option value="10">Okt.</option>
              <option value="11">Nov.</option>
              <option value="12">Dez.</option>
            </select>
            .
            <input name="jahr2" type="text" id="jahr2" value="0000" size="6" maxlength="4" /></td>
        </tr>
        <tr>
          <td align="right" valign="top">&nbsp;</td>
          <td align="left" valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="save" type="submit" value="absenden" />
            (alle Felder sind Pflichtfelder!) </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>
    </form><?

    }elseif( $action  ==  'update' ){
    if(!
    $loggedin ) die( 'Bitte einloggen!' );

        
    $id  $_GET [ 'id' ];
        
    $nameed  $_POST [ 'name2' ];
        
    $remembered  $_POST [ 'remember2' ];
        
    $taged  $_POST [ 'tag2' ];
        
    $monated  $_POST [ 'monat2' ];
        
    $jahred  $_POST [ 'jahr2' ];
        
    $beforeed  $_POST [ 'before2' ];
        
    $dateed  $taged . '.' . $monated . '.' . $jahred ;
        
        
        
    //Datumsüberprüfung
        
    if(!( strlen ( trim ( $nameed ))))  $error []= "Sie müssen eine Bezeichnung angeben!" ;
        if(
    $taged  ==  00 $error []= "Sie müssen eine Tag angeben!" ;
        if(
    $monated  ==  00 $error []= "Sie müssen ein Monat angeben!" ;
        if(
    $jahred  ==  0000 $error []= "Sie müssen ein Jahr angeben!" ;
        if(
    $jahred  ==  '' $error []= "Sie müssen ein Jahr angeben!" ;

        if(
    is_array ( $error )) {
            echo
    '<b>Ein Fehler ist aufgetreten!</b><br><br>' ;
            foreach(
    $error  as  $err ) {
                echo
    '<li>' . $err . '</li>' ;
            }
            echo
    '<br><br><input type="button" class="button" onClick="javascript:history.back()" value="Zurück">' ;
        }
        else {
        
    mysql_query ( "UPDATE `present_kalender` SET name='" . mysql_escape_string ( $nameed ). "',
                                     remember='"
    . $remembered . "',
                                     date='"
    . $dateed . "',
                                     before='"
    . $beforeed . "' WHERE id='" . $id . "'" );
            
        echo 
    'Ihr Termin wurde erfolgreich bearbeitet. <meta http-equiv="refresh" content="3;URL=index.php?site=calendar&kat=' . $kat . '">' ;
        }

    }elseif(
    $action  ==  'delete' ){
    if(!
    $loggedin ) die( 'Bitte einloggen!' );

    $id  $_GET [ 'id' ];

    mysql_query ( "DELETE FROM present_kalender WHERE id like '" . $id . "' and userid like '" . $userID . "'" );
    echo 
    'Ihr Termin wurde erfolgreich gelöscht. <meta http-equiv="refresh" content="3;URL=index.php?site=calendar&kat=' . $kat . '">' ;

    }else{
    if(!
    $loggedin ) die( 'Bitte einloggen!' );
        echo
    '<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
          <tr>
            <td colspan="3" height="20" class="title"><h3>Kalender:<br />
            </h3></td>
          </tr>
          <tr>
            <td colspan="3"><a class="stobern" href="index.php?site=calendar&action=add&kat='
    . $kat . '"><img border="0" src="icons/kalender/add.png"></a></td>
          </tr>
        <tr>
            <td width="178"><div align="center"><b>Aktionen</b></div></td>
            <td width="1036"><b>Terminbezeichnung</b></td>
                <td width="1036"><b>Datum</b></td>
            <td width="1036"><b>Erinnerung</b></td>
          </tr>'
    ;
        
        
    $detail  mysql_query ( "SELECT * FROM present_kalender WHERE userid=' $userID ' ORDER BY date" );
            
    $num  mysql_num_rows ( $detail );
            if(
    $num  "0" ){
                    while(
    $dx  mysql_fetch_array ( $detail )){
                        
                        
    $id  $dx [ 'id' ];
                        
    $edit  '<a href="index.php?site=calendar&action=edit&id=' . $id . '&kat=' . $kat . '"><img border="0" src="icons/kalender/edit.png"></a>' ;
                        
    $delete  '<a href="index.php?site=calendar&action=delete&id=' . $id . '&kat=' . $kat . '"><img border="0" src="icons/kalender/delete.gif"></a>' ;
                        
    $name  $dx [ 'name' ];
                        
    $date  $dx [ 'date' ];
                        
    $remember  $dx [ 'remember' ];
                        
                        if(
    $remember  ==  1 $janeinvll  'einmalig' ;
                        elseif(
    $remember  ==  2 $janeinvll  'jährlich' ;
                        else 
    $janeinvll  'deaktiviert' ;
                                
                           echo
    '<tr><td><div align="center">' . $edit . ' ' . $delete . '</div></td>
                        <td>'
    . $name . '</td>
                            <td>'
    . $date . '</td>
                        <td>'
    . $janeinvll . '</td></tr>' ;
                    }
                }else echo
    '<tr><td colspan="3">Sie haben keine Termine eingetragen.</td></tr>' ;
                
         echo
    '</table>' ;

    }
    ?>
     
  2. 3. November 2008
    AW: MYSQL update funktioniert nicht

    PHP:
        mysql_query ( "UPDATE `present_kalender` SET name='" . mysql_escape_string ( $nameed ). "',
                                     remember='"
    . $remembered . "',
                                     date='"
    . $dateed . "',
                                     before='"
    . $beforeed . "' WHERE id='" . $id . "'" );

    PHP:
        mysql_query ( "UPDATE `present_kalender` SET name='" . mysql_escape_string ( $nameed ). "',
                                     remember='"
    . $remembered . "',
                                     `date`='"
    . $dateed . "',
                                     `before`='"
    . $beforeed . "' WHERE id='" . $id . "'" );
    würde mal sagen date (und ggf. auch before?! kp^^) sind reserviert, daher escapen. ansonsten einfach mal echo mysql_error();
     
  3. 3. November 2008
    AW: MYSQL update funktioniert nicht

    ^^

    immer wieder, null lernefekt ... das problem hatte ich schon mal!
    danke BW haste
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.