2015-05-18 60 views
0

我正在重新啓動朋友的IT店的網站。在舊網站上,他現在已經爲他的客戶提供了一份表格,要求他們破損的電腦/筆記本電腦/智能手機等的維修狀態。要求重新填寫的Wordpress表單

新網站將成爲一個WordPress的網站。現在我不知道如何在wordpress中實現這種形式。我知道有幾個插件可以在wordpress中做聯繫表單,但我需要一個插件來檢查數據庫中輸入的值,並將其返回到頁面中。

我可以以某種方式添加一個新的頁面模板與舊的代碼,並將其用於此網站?我應該採用舊代碼還是應該使用插件?你知道一個可以在這種情況下工作的插件嗎?

舊形式的代碼如下所示:

<?php 

$rnr = $_POST["rnr"]; 
$passwd = $_POST["passwd"]; 
$fehler = ""; 
$select=""; 
$gefunden = 0; 

if(($rnr.$passwd) != "") 
{ 
    if($rnr == "") 
     $fehler = "Kein Reparaturnummer angegeben"; 
    if($passwd == "") 
     $fehler = "Kein Kennwort angegeben"; 

    if($fehler == "") 
    { 
     $knr=""; 
     $name1buchstabe=""; 
     $cid = mysql_connect("***", "***", "***") or die("!mysql_connect"); 
     mysql_select_db("***", $cid) or die("!mysql_select_db"); 
     $select = "select count(ReNummer) as gefunden from reparatur where ReNummer='".$rnr."' and concat(ReNummer, left(KuName,1), KuNummer)='".$passwd."' "; //??? 
     $result = @mysql_query($select) or die("!mysql_query\n".$select); 

     if($next = mysql_fetch_array($result, MYSQL_ASSOC)) 
     { 
      $gefunden = $next["gefunden"]; 
     } 
     if($gefunden == 0) 
     { 
      $fehler = "Reparaturnummer oder Kennwort falsch<br>\n"; 
     } 
     mysql_free_result($result); 
     mysql_close($cid); 
    } 

} 

if($gefunden == 0) 
{ 
    if($fehler != "") 
    { 
     echo "<font color='#FF0000'>".$fehler."</font>"; 
    } 
?> 

    <br><br> 
    <form action="status.php" method="post" > 

    <table !border="1" > 


    <tr> 
    <td align="right"> Reparaturnummer:</td> 
    <td> 
    <input type="Text" name="rnr" value="<?php echo $rnr; ?>" size="" maxlength=""> 
    </td> 
    </tr> 

    <tr> 
    <td align="right"> Kennwort:</td> 
    <td> 
    <input type="Password" name="passwd" value="<?php echo $passwd; ?>" size="" maxlength=""> 
    </td> 
    </tr> 
    <tr> 
    <td>&nbsp; </td> 
    <td align="right"><input type="Submit" name="" value="Anmelden"> </td> 
    </tr> 
    </table> 

    </form> 
<?php 
} 
elseif($gefunden == 1) 
{ 
    $cid = mysql_connect("***", "***", "***") or die("!mysql_connect"); 
    mysql_select_db("***", $cid) or die("!mysql_select_db"); 

    $select = "select k.Name, k.Vorname, r.Defektbeschreibung, r.Materialkosten, r.Arbeitskosten, r.Gesamtkosten from kunde k, reparatur r where r.ReNummer='".$rnr."' and k.KuNummer=r.KuNummer"; 

    $result = @mysql_query($select) or die("!mysql_query\n".$select); 
    if($next = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
     $kVorname= $next["Vorname"]; 
     $kName = $next["Name"]; 
     $rDefektbeschreibung = $next["Defektbeschreibung"]; 
     $rMaterialkosten = $next["Materialkosten"]; 
     $rArbeitskosten = $next["Arbeitskosten"]; 
     $rGesamtkosten = $next["Gesamtkosten"]; 

     if($rDefektbeschreibung != "") 
      $rDefektbeschreibung = "<u>Defektbeschreibung:</u> ".$rDefektbeschreibung."<br><br>\n"; 

     if($rMaterialkosten != "0") 
      $rMaterialkosten = "<u>Materialkosten:</u> ".number_format($rMaterialkosten,2, ",", ".")." &euro;<br><br>\n"; 
     else 
      $rMaterialkosten = ""; 

     if($rArbeitskosten != "0") 
      $rArbeitskosten = "<u>Arbeitskosten:</u> &nbsp;&nbsp;".number_format($rArbeitskosten,2, ",", ".")." &euro;<br><br>\n"; 
     else 
      $rArbeitskosten = ""; 


     if($rGesamtkosten != "0") 
      $rGesamtkosten = "<u>Gesamtkosten:</u> ".number_format($rGesamtkosten,2, ",", ".")." &euro;<br><br>\n"; 
     else 
      $rGesamtkosten = ""; 


    } 
    mysql_free_result($result); 

    $select = "select date_format(Datum, '%d.%m.%Y %H:%i') as DDatum, MA, Status, Bemerkung from rep_status where ReNummer='".$rnr."' order by Datum desc"; 

    $result = @mysql_query($select) or die("!mysql_query\n".$select); 

    echo $kVorname." ".$kName."<br>\n"; 
    echo "Reparaturnummer: ".$rnr."<br><br>\n"; 
    echo $rDefektbeschreibung; 
    echo $rMaterialkosten; 
    echo $rArbeitskosten; 
    echo $rGesamtkosten; 

    echo "<hr noshade size='1'>\n"; 
    echo "<table !border='1' >\n"; 

    while($next = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
     echo "<tr><td> <b>".$next["DDatum"]."</b> </td><td> &nbsp;".$next["Status"]." </td> </tr>\n"; 
    } 
    echo "</table>\n"; 
    mysql_free_result($result); 
    mysql_close($cid); 

} 

?> 

謝謝您的回答!

問候, 琳達

+0

重力形式是一個優質的插件,可以讓你做條件字段,也許是最通用的形式插件那裏。我們在開發店獨家使用它,一直是我們的一個偉大的資產 – TripsLeft

+0

你肯定這個插件會幫助我/解決這個問題?我只是不想買東西,看看我不是在找什麼...這個插件的支持如何?他們是否快速響應? –

+0

如果我沒有弄錯,可以免費試用。擴展某些功能的附加組件需要開發者許可證。對於你的情況,建立一個標準的html表單查詢數據庫和AJAX的內容返回到頁面似乎更容易。你可能不需要聯繫表單來做你想做的事 – TripsLeft

回答

0

你可以這樣做手工就像你與你的問題提供沿着現有的代碼。您可以簡單地爲作業創建一個新的WordPress模板並粘貼代碼。

但是 - 從我所看到的情況來看 - 你的代碼看起來很糟糕。意大利麪條代碼,沒有準備好的陳述和其他15年前可能已經是最先進的但今天不應使用的東西。

您可以使用NinjaForms(http://docs.ninjaforms.com/category/25-actions)。這是一個免費的WordPress插件。通過使用動作,您可以將表單提交的幾乎所有方面都掛鉤,並檢查輸入的值是否有效。如果您想添加超出此範圍的邏輯(有條件地顯示或隱藏字段),您可以購買插件,或者如果預算緊張,只需使用jQuery。

如果錢不是問題去GravityForms。與其他插件相比,它的成本相當高,但提供了最多的功能。