[PHP] Löschskript / Editskript - Problem...

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Reaperchef, 17. November 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 17. November 2006
    Löschskript / Editskript - Problem...

    Moin


    Ich habe Probleme mit meinem Löschskript und mit meinem Editierskript!
    Wenn ich was über das Skript löschen(aus der Datenbank entfernen) will, zeigt der mir nur ne leere Seite an :angry: .... bin schon am verzweifeln..


    LÖSCHSKRIPT:

    PHP:
    <?
    $aktion  $aktid ;
    if (
    $del )
    {
        
    $ergebnis  mysql_query ( "DELETE FROM st_aktionen WHERE aktid = ' $aktid '" );

        if (!
    $ergebnis )
        {
             echo 
    "Es sind Fehler aufgetreten, Aktion wurde nicht gelöscht" ;
        }
    //endif
        
    else
        {
            echo
    "
                <br>
                <table width=50% align=\"center\">
                    <tr>
                        <td align=\"center\"><h2>Aktion wurde gelöscht!</h2><br>"
    ;
                            echo 
    "<a href=\"aktionen_verwalten.php4?aktid= $aktid \">Zurück zur Übersicht</a></td>
                    </tr>
                </table>"
    ;
        }
    //endelse
    //endif
    else
    {
    echo
    "

    <TABLE width=\"100%\" border=2>
      <TR>
        <TD align=middle width=\"10%\">&nbsp;</TD>
        <TD align=middle width=\"30%\" height=\"1\"><B><FONT size=4>Was</FONT></B></TD>
        <TD align=middle width=\"30%\" height=\"1\"><B><FONT size=4>Wann</FONT></B></TD>
        <TD align=middle width=\"30%\" height=\"1\"><B><FONT size=4>Wo</FONT></B></TD></TR>"
    ;

        
    $sql  "SELECT aktid, headline, ort, DATE_FORMAT(datum_A,'%d') as tag_A, DATE_FORMAT(datum_E,'%d') as tag_E, DATE_FORMAT(datum_A,'%m') as monat_A, DATE_FORMAT(datum_E,'%m') as monat_E, DATE_FORMAT(datum_A,'%Y') as jahr_A, DATE_FORMAT(datum_E,'%Y') as jahr_E, datum_A, datum_E FROM st_aktionen WHERE aktid = ' $aktid '" ;
        
    $erg  mysql_query ( $sql );

    while (list(
    $aktid , $headline , $ort , $tag_A , $tag_E , $monat_A , $monat_E , $jahr_A , $jahr_E , $datum_A , $datum_E ) =  mysql_fetch_row ( $erg ))
    {
        if (
    $datum_E == 0000 - 00 - 00 )
        {
        
    $zeilen  mysql_query ( "SELECT * FROM st_bilder WHERE aktid=' $aktid '" );
        
    $zeilen  mysql_num_rows ( $zeilen  );

        echo 
    "
        <TR>
              <TD align=middle width=\"10%\">&nbsp;</TD>"
    ;
               echo
    "
               <TD align=middle width=\"30%\">
    $headline </TD>
                  <TD align=middle width=\"30%\">
    $tag_A . " ;
                                            switch (
    $monat_A )
                                  {
                                      case 
    "01" :
                                          echo 
    "Januar " ;
                                            break;
                                        case 
    "02" :
                                            echo 
    "Februar " ;
                                               break;
                                      case 
    "03" :
                                          echo 
    "März " ;
                                            break;
                                      case 
    "04" :
                                            echo 
    "April " ;
                                            break;
                                      case 
    "05" :
                                          echo 
    "Mai " ;
                                            break;
                                      case 
    "06" :
                                            echo 
    "Juni " ;
                                            break;
                                      case 
    "07" :
                                          echo 
    "Juli " ;
                                            break;
                                      case 
    "08" :
                                            echo 
    "August " ;
                                            break;
                                      case 
    "09" :
                                          echo 
    "September " ;
                                            break;
                                      case 
    "10" :
                                            echo 
    "Oktober " ;
                                            break;
                                      case 
    "11" :
                                          echo 
    "November " ;
                                            break;
                                      case 
    "12" :
                                            echo 
    "Dezember " ;
                                            break;
                                      } 
    //endswitch
                                      
    echo " $jahr_A </TD>
                 <TD align=middle width=\"30%\">
    $ort </TD></TR>" ;

           }
           else
           {
           
    $zeilen  mysql_query ( "SELECT * FROM st_bilder WHERE aktid=' $aktid '" );
        
    $zeilen  mysql_num_rows ( $zeilen  );

        echo 
    "
        <TR>
              <TD align=middle width=\"10%\">&nbsp;</TD>"
    ;
              echo
    "
              <TD align=middle width=\"30%\">
    $headline </TD>
                  <TD align=middle width=\"30%\">
    $tag_A . " ;
                                            if (
    $monat_A != $monat_E )
                                            {
                                            switch (
    $monat_A )
                                  {
                                      case 
    "01" :
                                          echo 
    "Januar " ;
                                            break;
                                        case 
    "02" :
                                            echo 
    "Februar " ;
                                               break;
                                      case 
    "03" :
                                          echo 
    "März " ;
                                            break;
                                      case 
    "04" :
                                            echo 
    "April " ;
                                            break;
                                      case 
    "05" :
                                          echo 
    "Mai " ;
                                            break;
                                      case 
    "06" :
                                            echo 
    "Juni " ;
                                            break;
                                      case 
    "07" :
                                          echo 
    "Juli " ;
                                            break;
                                      case 
    "08" :
                                            echo 
    "August " ;
                                            break;
                                      case 
    "09" :
                                          echo 
    "September " ;
                                            break;
                                      case 
    "10" :
                                            echo 
    "Oktober " ;
                                            break;
                                      case 
    "11" :
                                          echo 
    "November " ;
                                            break;
                                      case 
    "12" :
                                            echo 
    "Dezember " ;
                                            break;
                                      } 
    //endswitch
                                            
    //endif
                                            
    else
                                            {
                                            }
                                            echo
    " -  $tag_E . " ;
                                                switch (
    $monat_E )
                                  {
                                      case 
    "01" :
                                          echo 
    "Januar " ;
                                            break;
                                        case 
    "02" :
                                            echo 
    "Februar " ;
                                               break;
                                      case 
    "03" :
                                          echo 
    "März " ;
                                            break;
                                      case 
    "04" :
                                            echo 
    "April " ;
                                            break;
                                      case 
    "05" :
                                          echo 
    "Mai " ;
                                            break;
                                      case 
    "06" :
                                            echo 
    "Juni " ;
                                            break;
                                      case 
    "07" :
                                          echo 
    "Juli " ;
                                            break;
                                      case 
    "08" :
                                            echo 
    "August " ;
                                            break;
                                      case 
    "09" :
                                          echo 
    "September " ;
                                            break;
                                      case 
    "10" :
                                            echo 
    "Oktober " ;
                                            break;
                                      case 
    "11" :
                                          echo 
    "November " ;
                                            break;
                                      case 
    "12" :
                                            echo 
    "Dezember " ;
                                            break;
                                      } 
    //endswitch
                                      
    echo " $jahr_E </TD>
                 <TD align=middle width=\"30%\">
    $ort </TD></TR>" ;
           }
    //endwhile
    $aktid  $aktion ;
    echo
    "
    </table>
    <br>
    <div align=center>
    <form name=\"loeschen\" action='"
    . $PHP_SELF . "' METHOD=\"post\">
    <input type=\"hidden\" name=\"aktid\" value=\"
    $aktid \">
    <input type=\"hidden\" name=\"del\" value=\"true\">
    <input type=\"submit\" value=\"Löschen\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type=\"button\" name=\"Zurück\" value=\"Zurück\" onClick=\"self.location.href='javascript:history.back(-1)'\">
    </form>"
    ;
    //endelse
    ?>

    und das EDITIERSKRIPT:

    PHP:
    <?
    if (
    $edit )
    {
        
    $sql  = ( "UPDATE st_aktionen SET headline=' $newheadline ', ort=' $newort ', datum_A=' $newdatum_A ', datum_E=' $newdatum_E ' WHERE aktid=' $aktid '" );
        
    $ergebnis  mysql_query ( $sql );

        if (!
    $ergebnis )
        {
             echo 
    "Es sind Fehler aufgetreten" ;
        }
    //endif
        
    else
        {
            echo
    "
                <br>
                <br>
                <table width=50% align=\"center\">
                    <tr>
                        <td align=\"center\"><h2>Änderungen übernommen</h2><br>"
    ;
                            echo 
    "<a href=\"aktionen_verwalten.php4?aktid= $aktid \">Zurück zur Übersicht</a></td>
                    </tr>
                </table>"
    ;
        }
    //endelse
    //endif
    else
    {
    echo
    "
    <TABLE width=\"100%\" border=2>
      <TR>
        <TD align=middle width=\"10%\"><B><FONT size=4>Verzeichnis</FONT></B></TD>
        <TD align=middle width=\"30%\"><B><FONT size=4>Was</FONT></B></TD>
        <TD align=middle width=\"30%\"><B><FONT size=4>Wann</FONT></B></TD>
        <TD align=middle width=\"30%\"><B><FONT size=4>Wo</FONT></B></TD></TR>"
    ;

            
    $sql2  "SELECT * FROM st_aktionen WHERE aktid=' $aktid '" ;
            
    $erg2  mysql_query ( $sql2 );

    while (list(
    $aktid $dir $headline , $ort , $datum_A , $datum_E ) =  mysql_fetch_row ( $erg2 ))
     echo 
    "
       <tr>
          <form name=\"hinzufuegen\" action='"
    . $PHP_SELF . "' METHOD=\"post\">
          <td align=middle width=\"10%\"><b>&nbsp;
    $dir </b></td>
          <td align=middle width=\"30%\"><input type=\"text\" name=\"newheadline\" size=\"40\" value=\"
    $headline \"></td>
          <td align=middle width=\"30%\"><input type=\"text\" name=\"newdatum_A\" size=\"15\" value=\"
    $datum_A \">&nbsp;-&nbsp;<input type=\"text\" name=\"newdatum_E\" size=\"15\" value=\" $datum_E \"></td>
          <td align=middle width=\"30%\"><input type=\"text\" name=\"newort\" value=\"
    $ort \"></td></tr>
    </table>
    <br>
    <div align=center>
    <input type=\"hidden\" name=\"aktid\" value=\"
    $aktid \">
          <input type=\"hidden\" name=\"edit\" value=\"true\">
          <input type=\"submit\" value=\"Ändern\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          <input type=\"button\" name=\"Zurück\" value=\"Zurück\" onClick=\"self.location.href='javascript:history.back(-1)'\">
          </form>
    <br><br>Aufgrund des Speicherformates der Datenbank ist es von nöten, das Datum in dem Format *jahr*-*monat*-*tag* einzutragen. Bsp: 2003-12-17.
    <br>Sollte die Aktion nur an einem Tag stattgefunden haben, das zweite Datumsfeld bitte leer (bzw auf dem Standart 0000-00-00) lassen.</div>"
    ;
    //endelse
    ?>
    pls help me !!!

    Bewertung ist sicher !!!

    Danke schonmal
    mfg reaperchef
     
  2. 17. November 2006
    AW: Löschskript / Editskript - Problem...

    Nabend,

    also ich versteh ein Problem noch nicht ganz aber mehrere Dinge.
    1. Numerische Werte musst du nicht in ' ' setzen!
    2. Kann das sein dass du register_globals anhast? Aufhören damit!!!!
    3. unbedingt HTML von PHP Code trennen!

    Also beim Updatescript kann ich mit den bisher geposteten Sachen nichts feststellen und beim Löschscript versteh ich auch nicht worauf du hinauswillst. Jeweils Ein Query, der mit ner If Verzweigung auf Erfolg kontrolliert wird und ein dementsprechner String ausgegeben wird. Wo selbst ist jetzt das problem?
     
  3. 17. November 2006
    AW: Löschskript / Editskript - Problem...

    Findet die Aktion übergabe über GET statt?

    $aktion = $_GET['aktid'] ;


    Gibt es ein wert für $del == true? Sonst passiert ja nichts oder?
     
  4. 17. November 2006
    AW: Löschskript / Editskript - Problem...

    if ($del)
    if ($edit)

    macht mich stutzig... mach doch mal spasseshalber folgendes:

    Du kommentierst den gesamten code von der if abfrage aus und schreibst dafür folgendes...

    if ($del){ echo "blub, delete teil wird ausgeführt"; }
     
  5. 17. November 2006
    AW: Löschskript / Editskript - Problem...

    also
    PHP:
    if( $del ) {}
    z.B. ist einfach eine Abfrage ob $del TRUE ist. Ist zwar nicht sauber, aber korrekt! Und wenn halt $del nicht exisitiert (FALSE ist) wird was anderes ausgeführt. Effektiv also zweimal Spam meiner Vorredner. @Threadersteller wie du merkst benötigen wir mehr Infos!
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.