2015-05-18 16 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。与其他插件相比,它的成本相当高,但提供了最多的功能。