2017-09-16 82 views
-3

我想問你,如果有人有一個想法如何我可以做到它或foreach例程對我來說更容易,因爲我不想複製粘貼所有的東西所有例程例程爲我的例子做一個更好的例程

if ($_POST['vorgang'] == 'aendern') { 
    pd_aendern ($_POST['db_eintrag'] , $db_id); 
} 

<form action="#" runat="server" method="POST" enctype="multipart/form-data"> 

    echo '<input type="text" placeholder="' . $vorname  . '"name="db_eintrag[pd_vorname]"><br>'; 
    echo '<input type="text" placeholder="' . $nachname  . '"name="db_eintrag[pd_nachname]"><br>'; 
    echo '<input type="text" placeholder="' . $geburtsjahr . '"name="db_eintrag[pd_geburtsjahr]"><br>'; 
    ... 
    .. 
    . 
</form> 

function pd_aendern ($db_eintrag , $db_id) { 
//////////////// 
//1st Routine.//    
//////////////// 
    if (!empty(isset($db_eintrag[pd_vorname]))) { 
     $sql = "UPDATE personaldaten SET pd_vorname='$db_eintrag[pd_vorname]' WHERE pd_id='$db_id'"; 
     $db_erg = mysql_query($sql); 
     if (! $db_erg) { 
      die("Ungültige Abfrage: $sql <hr>" . mysql_error()); 
     } 
    } 
/////////////// 
//2nd Routine// 
/////////////// 
    if (!empty(isset($db_eintrag[pd_nachname]))) { 
       ... 
    } else { 
     echo "aaaaa"; 
    } 
} 

任何想法,我可以如何處理?我想構建該部分:

$sql = "UPDATE personaldaten SET 
      pd_vorname='$db_eintrag[pd_vorname], 
      2nd part, 
      3rd part, etc. 
     ' WHERE pd_id='$db_id'"; 

over for或foreach例程獲取我的mysql查詢的部分。我試圖把這個固定的東西放在2個數組中,但我無法得到它的邏輯,我必須將它結合起來才能得到它的非空輸入。 thx爲任何複製和sry爲我的壞英語。

$array = array("pd_vorname","pd_nachname", "pd_geburtsjahr"); 
$array2 = array("$db_eintrag[pd_vorname]","$db_eintrag[pd_nachname]", "$db_eintrag[pd_geburtsjahr]"); 
+0

你爲什麼還在使用這是很多年前棄用,在PHP7刪除,由於安全問題'mysql_'庫?沒有新的代碼應該使用它來編寫。由於無法使用參數化查詢以及使用死代碼庫可能帶來的其他風險,因此您的代碼幾乎肯定容易受到SQL注入攻擊。我強烈建議儘快遷移到'mysqli'或'PDO'。 – ADyson

+0

至於你的實際問題,我真的不知道你在問什麼。我意識到英語對你來說並不容易,但請花些時間讓它更清晰,因爲很難確切地知道你的問題是什麼,或者你希望做什麼改變。 – ADyson

+0

@ADyson:該死的請。我知道這個新版本,但我開始在舊版本中編寫所有這些東西,所以我找不到改變它的時間。它只是關於語法等等。 thx @所有的人都支持我改變它,但對於這個問題沒有任何問題。但是如果你想輕易破解服務器,請告訴我你是如何做到這一點的。如果你想要,我會把一個honypot服務器放在網上,如果你破解那個舊的查詢函數,你的每個人都會得到一些注意。 –

回答

0

我的解決辦法:

$array = array(pd_vorname,"pd_nachname","pd_geburtsjahr","pd_telefonnummer","pd_staatsbuerger","pd_wohnort","pd_fb"); 
      $zahl = count($array); 

      for ($i = 0 ; $i < $zahl ; $i++) { 
      $etwas = $db_eintrag[$array[$i]]; 
      $ar = $array[$i]; 
        if (!empty($etwas)) { 
          $sql = "UPDATE personaldaten SET $ar='$etwas' WHERE pd_id='$db_id'"; 
          $db_erg = mysql_query($sql); 
            if (! $db_erg) { die("Ungültige Abfrage: $sql <hr>" . mysql_error()); } 
        } 
      } 
      for ($i = 1 ; $i < 12 ; $i++) { 
      $etwas = $db_eintrag["wb_wissensbereich_" . $i ]; 
        if (!empty($db_eintrag["wb_wissensbereich_" . $i ])) { 
          $sql = "UPDATE wissensbereiche SET wb_wissensbereich_$i='$etwas' WHERE wb_id_person='$db_id'"; 
          $db_erg = mysql_query($sql); 
            if (! $db_erg) { die("Ungültige Abfrage: $sql <hr>" . mysql_error()); } 
        } 
      }