Einträge bearbeiten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Einträge bearbeiten

    ich habe ein kleines script geschrieben, wo ich daten auf ner datenbank per php speichern und anzeigen kann. nun probier ich mich schon ne ganze weile an nem script zum bearbeiten dieser daten. ich komm da nicht weiter. vielleicht kann mir einer von euch helfen..

    er springt immer zur fehlermeldung. was mache ich falsch ?

    (HTML fehlt an bestimmten stellen aus Gründen Übersicht)

    aendern.php

    PHP-Code:
    <?php
        $erstzulassung
    =date("d.m.Y");
        
    $bild_traeger = Array("BENZINER","BENZINER","DIESEL","DIESEL");
        
    $get_traeger = Array("Schaltung","Schaltung","Automatik","Automatik");
        if (isset(
    $_GET['fahrzeug_id'])) { // nur wenn DS ausgewaelt wurde
            
    $fahrzeug_id $_GET['fahrzeug_id'];
            
            @include 
    "global.inc.php";
            
    $db_handle = @mysql_connect($HOST,$USERID,$PW)    /
                or die(
    "Die Datenbank ist momentan nicht zu erreichen !");
            
    $sql "SELECT * FROM fahrzeuge WHERE id = $fahrzeug_id";
            
    $datenbank "auto";
            @
    mysql_select_db($datenbank,$db_handle);
            
    $ergebnis    = @mysql_query($sql);
            
    $anz_datensaetze = @mysql_num_rows($ergebnis);
            if (
    $ergebnis 0) {
                
    $id=    @mysql_result($ergebnis,"id");
                
    $marke                =    @mysql_result($ergebnis,"marke");
                
    $modell                =     @mysql_result($ergebnis,"modell");
                
    $kilometer            =     @mysql_result($ergebnis,"kilometer");
                
    $leistung            =     @mysql_result($ergebnis,"leistung");
                
    $tueren                =     @mysql_result($ergebnis,"tueren");
                
    $getriebeart        =     @mysql_result($ergebnis,"getriebeart");
                
    $kraftstoff            =     @mysql_result($ergebnis,"kraftstoff");
                
    $lackierung            =     @mysql_result($ergebnis,"lackierung");
                
    $preis                =     @mysql_result($ergebnis,"preis");
                
    $ausstattung        =    @implode("," ,explode("&&",mysql_result($ergebnis,"ausstattung")));
                
    $erstzulassung         =     @explode("-" ,mysql_result($ergebnis,"erstzulassung"));
                
    $fahrzeug_jahr         =    $erstzulassung[0];
                
    $fahrzeug_monat        =    $erstzulassung[1];
                
    $fahrzeug_tag         =    $erstzulassung[2];
                
    $fahrzeug_erfasst    =     @mysql_result($ergebnis,"fahrzeug_erfasst");
                }
            }
            else {
                echo 
    "Ungültiger Skriptaufruf";
                exit;
            }
    ?>
        <form name="fahrzeug_erfassen" method="POST" action="fahrzeug_aend_speichern.php">
        <input type="hidden" name="fahrzeug_id" value="<?php echo $fahrzeug_id?>" />
        <table width="540" border="0" align="center" class="normalMasken">
            <tr>
            <td height="29" colspan="2" class="headline12">Fahrzeugdaten ändern
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Marke* : </td>
            <td>
            <input name="fneu_marke" type="text" value="<?php echo $marke;?>" class="normalMasken" size="40" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Modell* : </td>
            <td class="normalMasken">
             <input name="fneu_modell" type="text" value="<?php echo $modell;?>" class="normalMasken" size="40" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Lackierung : </td>
            <td class="normalMasken">
             <input name="fneu_lackierung" type="text" value="<?php echo $lackierung;?>" class="normalMasken" size="25" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Preis* : </td>
            <td class="normalMasken">
             <input name="fneu_preis" type="text" value="<?php echo $preis;?>" class="normalMasken" size="10" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Kilometerstand* : </td>
            <td class="normalMasken">
             <input name="fneu_kilometer" type="text" value="<?php echo $kilometer;?>" class="normalMasken" size="10" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Leistung : </td>
            <td class="normalMasken">
             <input name="fneu_leistung" type="text" value="<?php echo $leistung;?>" class="normalMasken" size="10" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Anzahl Türen : </td>
            <td class="normalMasken">
             <input name="fneu_tueren" type="text" value="<?php echo $tueren;?>" class="normalMasken" size="10" maxlength="30" />
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Erstzulassung* : </td>
            <td><select name="fneu_tag" class="normalMaskendatum">
                 <?php
                        
    for ($t $t <32 $t++) {
                            if (
    $t<10){
                                
    $t "0".$t;
                        }
                        if (
    $t ==$fahrzeug_tag){
                            echo 
    "<option value='$t' selected>$t</option>";
                        }
                        else {
                            echo 
    "<option value='$t'>$t</option>";
                        }
                    }
                
    ?>
                </select>
                <select name="fneu_monat" class="normalMaskendatum" />
                <?php
                        
    for ($t $t <13 $t++) {
                            if (
    $t<10){
                                
    $t "0".$t;
                        }
                        if (
    $t ==$fahrzeug_monat){
                            echo 
    "<option value='$t' selected>$t</option>";
                        }
                        else {
                            echo 
    "<option value='$t'>$t</option>";
                        }
                    }
                
    ?>
                </select>
                <select name="fneu_jahr" id="datum" />
                <?php
                        
    for ($t 1915 $t <=date("Y");$t++) {
                            if (
    $t ==$fahrzeug_jahr) {
                            echo 
    "<option value='$t' selected>$t</option>";
                        }
                        else {
                            echo 
    "<option value='$t'>$t</option>";
                        }
                    }
                
    ?>
                </select>
            </td></tr>
                
             <tr>
            <td class="maskenBeschriftung">Kraftstoff : </td>
            <td>
            <select name="fneu_kraftstoff" class="dropdown" />
            <?php
                
    //********************  Träger   **********************
                            
                
    for ( $ii $ii<count($bild_traeger) ; $ii=$ii+2) {
                    if ( 
    $kraftstoff == $bild_traeger[$ii]) {
                        echo 
    "<option value='{$bild_traeger[$ii]}' selected>
                             
    {$bild_traeger[$ii+1]}</option>";
                        }
                        else {
                            echo 
    "<option value='{$bild_traeger[$ii]}'>
                                 
    {$bild_traeger[$ii+1]}</option>";
                            }
                }
            
    ?>
            </select>
            </td></tr>
            
            <tr>
            <td class="maskenBeschriftung">Getriebeart : </td>
            <td>
            <select name="fneu_getriebeart" class="dropdown" />
             <?php
                
    //********************  Träger   **********************
                
    for ( $ii $ii<count($get_traeger) ; $ii=$ii+2) {
                    if ( 
    $getriebeart == $get_traeger[$ii]) {
                        echo 
    "<option value='{$get_traeger[$ii]}' selected>
                             
    {$get_traeger[$ii+1]}</option>";
                        }
                        else {
                            echo 
    "<option value='{$get_traeger[$ii]}'>
                                 
    {$get_traeger[$ii+1]}</option>";
                            }
                }
              
    ?>
            </select>
            </td></tr>        
            
            <tr>
            <td class="maskenBeschriftung">Austattung : </td>
            <td>
            <textarea name="f_ausstattung" id="eingabe" rows="5" cols="42" ><?php echo $ausstattung;?></textarea>
            </td></tr>
               
            <tr align="left" >
            <td height="27" colspan="2" bgcolor="#1C1914"><span id="gold">Die Felder mit einem <span class="rot">*</span> m&uuml;ssen mindestens ausgef&uuml;llt
            bleiben !</span>
            </td></tr>
                        
            <tr align="center" >
            <td width="236" height="30" bgcolor="#1C1914">
            <input name="fneu_reset" type="reset" value="Zurücksetzen" />
            </td>
            <td height="30" bgcolor="#1C1914">
            <input name="fahrzeug-save" type="submit" value="Erfassen" />
            </td></tr>
             </table></form><br /><br />
    und das speichern.php

    PHP-Code:
    <?php

            $fahrzeug_id        
    =     $_POST['fahrzeug-id'];
            
    $marke                =    @strip_tags(trim($_POST['fneu_marke']));
            
    $modell                =     @strip_tags(trim($_POST['fneu_modell']));
            
    $lackierung            =    @strip_tags(trim($_POST['fneu_lackierung']));
            
    $preis                =    @strip_tags(trim($_POST['fneu_preis']));
            
    $kilometer            =    @strip_tags(trim($_POST['fneu_kilometer']));
            
    $leistung            =    @strip_tags(trim($_POST['fneu_leistung']));
            
    $tueren                =    @strip_tags(trim($_POST['fneu_tueren']));
            
    $erstzulassung         =     $_POST['fneu_jahr']."-".$_POST['fneu_monat']."-".
                                    
    $_POST['fneu_tag'];
            
    $kraftstoff            =    $_POST['fneu_kraftstoff'];
            
    $getriebeart        =    $_POST['fneu_getriebeart'];
            
    $ausstattung        =    @strip_tags(trim($_POST['fneu_ausstattung']));
            
             if (
    $marke!="" && $modell!="" && $preis!="" && $kilometer!="" && $erstzulassung!="") {
                

                
                
                
    $datenbank "auto";
                @include 
    "global.inc.php";
                
    $db_handle = @mysql_connect($HOST,$USERID,$PW)
                    or die(
    "Die Datenbank ist momentan nicht erreichbar!");
                
                
    $sql  "UPDATE fahrzeuge SET marke='$marke',";
                
    $sql .= "modell='$modell',lackierung='$lackierung',";
                
    $sql .= "preis='$preis',kilometer='$kilometer',";
                
    $sql .= "leistung='$leistung',tueren='$tueren',";
                
    $sql .= "erstzulassung='$erstzulassung',kraftstoff='$kraftstoff',";
                
    $sql .= "getriebeart='$getriebeart',ausstattung='$ausstattung' ";
                
    $sql .= "WHERE id=$fahrzeug_id";
                
                @
    mysql_select_db($datenbank,$db_handle);
                
    $ergebnis    = @mysql_query($sql);
                
    $ok_flag    = @mysql_affected_rows();
                if    (
    $ok_flag 0) {
                    echo 
    "<center>Fahrzeugdaten erfolgreich geändert !<br />";
                    echo 
    "<a href='anzeige.php' zur&uuml;ck zur Anzeige";
                    echo 
    "</a>";
                    echo 
    "</center>";
                    echo 
    "<meta http-equiv='refresh' content='0;";
                    echo 
    "URL=anzeige.php'>";     /
                }}
                else {
                    echo 
    '<center>Es ist ein Fehler aufgetreten !<br />
                    Fahrzeug wurde nicht erfasst !
                    <a href="JavaScript:window.history.back()">zur&uuml;ck zum Formular</a></center><br /><br /></p>'
    ;
                }
            }
            else {
                echo 
    '<center>Bitte geben Sie unbedingt Daten    f&uuml;r Marke, Modell, Preis, Kilometer und Erstzulassung ein !<br /><br />
            <a href="JavaScript:window.history.back()">&raquo; Zur&uuml;ck zum Formular &laquo;</a></center><br />'
    ;

        }            
    ?>
    Zuletzt geändert von Thesus; 27.03.2008, 02:10.

  • #2
    Entferne doch mal bitte sämtliche @ vor den Funktionsaufrufen, und poste dann alle Fehlermeldugnen, die auftreten.
    EDIT:
    Und mache dich mal mit dem Begriff Escapen vertraut
    Zuletzt geändert von $_Baker; 27.03.2008, 02:25.

    Kommentar


    • #3
      hab die @ mal entfernt, aber er leitet mich immer zu

      PHP-Code:
      else {
                      echo 
      '<center>Es ist ein Fehler aufgetreten !<br />
                      Fahrzeug wurde nicht erfasst !
                      <a href="java script:window.history.back()">zur&uuml;ck zum Formular</a></center><br /><br /></p>'
      ;
                  } 
      weiter und macht keine änderung. ist das selbe verhalten wie mit @. also direkte fehlermeldungen erscheinen nicht. er leitet mich halt nur weiter und führt keine änderung durch.

      Zuletzt geändert von Thesus; 27.03.2008, 02:28.

      Kommentar


      • #4
        Wenn keine Fehlermeldungen sonst angezeigt werden, setze mal ganz oben in dein Script die folgenden 2 Zeilen:
        PHP-Code:
        ini_set('error_reporting''ON');
        error_reporting(E_ALL); 
        Ansonsten poste diese bitte (Ohne @ vor den Funktionsaufrufen)

        Kommentar


        • #5
          Notice: Undefined index: fahrzeug-id in E:\xampp\htdocs\auto\fahrzeug_aend_speichern.php on line 5

          PHP-Code:
          $fahrzeug_id        =     $_POST['fahrzeug-id']; 
          Notice: Undefined index: fneu_ausstattung in E:\xampp\htdocs\auto\fahrzeug_aend_speichern.php on line 17

          PHP-Code:
          $ausstattung        =    strip_tags(trim($_POST['fneu_ausstattung'])); 
          sagt mir, ach und danke für deine hilfe
          Zuletzt geändert von Thesus; 27.03.2008, 02:45.

          Kommentar


          • #6
            hab nen weg gefunden, aber der ist noch nicht ganz sauber..

            hab bei

            PHP-Code:
            $sql .= "WHERE id=$fahrzeug_id"
            folgendes erweitert..

            PHP-Code:
            $sql .= "WHERE id={$_POST['fahrzeug_id']}"
            aber er füllt die die ausstattung irgendwie nicht..

            Kommentar


            • #7
              habs jetzt hinbekommen..

              - closed -
              Zuletzt geändert von Thesus; 27.03.2008, 06:22.

              Kommentar


              • #8
                Un du gibst die Usereingaben ungeprüft in die Datenbank?

                Kommentar


                • #9
                  nene, das hab ich nur rausgebnommen, da 1000 zeichen maximum war

                  du meinst doch

                  PHP-Code:
                   if ($marke!="" && $modell!="" && $preis!="" && $kilometer!="" && $erstzulassung!="") {
                              
                              
                  $ausstattung implode("&&",explode(",",$ausstattung));
                              
                              
                  settype($kilometer,"float");
                              
                  settype($tueren,"float");
                              
                  settype($leistung,"float");
                              
                  settype($preis,"float"); 

                  Kommentar


                  • #10
                    Im Grunde meine ich http://de3.php.net/manual/de/functio...ape-string.php ,
                    aber ein Typecast geht natürlich auch

                    Kommentar


                    • #11
                      jetzt klappt alles soweit wunderbar, bis auf die löschfunktion. wenn ich den datensatz per id zuweisung löschen möchte, führt er diese aber nicht aus.

                      der link holt sich die id hieraus

                      PHP-Code:
                      <?php 

                          $fahrzeug_id 
                      $_GET['fahrzeug_id'];

                      ?>
                      die id wird mit diesem link übergeben

                      PHP-Code:
                      <a href="fahrzeug_loeschen.php?fahrzeug_id=$fahrzeug_id"
                      das eigentliche löschen-script sieht so aus

                      PHP-Code:
                      <?php

                          
                      if    (isset($_GET['fahrzeug_id'])) {
                              
                      $fahrzeug_id $_GET['fahrzeug_id'];
                              
                              
                      $datenbank "auto";
                              @include 
                      "global.inc.php";
                              
                                  
                      $db_handle = @mysql_connect($HOST,$USERID,$PW)
                                      or die(
                      "Die Datenbank ist momentan nicht erreichbar!");
                                      
                                  
                      $sql "DELETE FROM fahrzeuge WHERE id=$fahrzeug_id";
                              
                                  @
                      mysql_select_db($datenbank,$db_handle);
                                  
                      $ergebnis    = @mysql_query($sql);
                                  
                      $ok_flag    = @mysql_affected_rows();
                                  
                                  if    (
                      $ok_flag 0) {
                                      echo 
                      "<center>Fahrzeug wurde gel&ouml;scht !<br />
                                      <a href='fahrzeug_admin.php> zur&uuml;ck zur Anzeige</a></center>"
                      ;
                                      echo 
                      "<meta http-equiv='refresh' content='0 ;";
                                      echo 
                      "URL=fahrzeug_admin.php'>"
                                  }
                                  else {
                                      echo 
                      "Es ist ein Fehler aufgetreten !<br />";
                                      echo 
                      "Fahrzeugdaten wurden nicht gel&oumlscht !<br />";
                                      echo 
                      "<a href='fahrzeug_admin.php> zur&uuml;ck zur Anzeige</a>";
                                  }
                              }
                              else {
                                      echo 
                      "Bitte w&auml;hlen Sie einen Titel aus !";
                                      echo 
                      "<a href='fahrzeug_admin.php>zur&uuml;ck zur Anzeige</a>";   
                              }
                      ?>
                      er spring immer zur
                      PHP-Code:
                      else {
                                      echo 
                      "Es ist ein Fehler aufgetreten !<br />";
                                      echo 
                      "Fahrzeugdaten wurden nicht gel&oumlscht !<br />";
                                      echo 
                      "<a href='fahrzeug_admin.php> zur&uuml;ck zur Anzeige</a>";
                                  } 

                      Kommentar


                      • #12
                        habs auch lösen können.. war einfach nur ein zeichen falsch. und dafür sucht man sich den wolf

                        Kommentar


                        • #13
                          Na siehste... mitm bisl selbst Probieren klappts doch...
                          Aber beherzige nächstes Mal den Ratschlag und entferne die @ zum debuggen!

                          Kommentar


                          • #14
                            jo, sind auch weggeblieben. ich dank dir für deine hilfe !

                            und schönen gruss aus dem hohen norden

                            Kommentar

                            Lädt...
                            X