将php文件转换为smarty for whmcs tpl


Convert php file into smarty for whmcs tpl

我正试图将此代码转换为smarty,以便它能够正常工作,尽管我的whmcs,虽然我已经尝试将php文件包含在包含php的tpl中(它自己完美地工作,只是它没有正确显示,尽管whmcs),所以我想将当前的php更改为smarty,以便代码直接从tpl文件顺利运行。

这是它的样子,当我包括php页面这基本上是我想要它是这样的这是我用{php}替换所有的<?php标签和?>标签与{/php}但它不能正常工作,因为我相信还有其他智能语法需要改变,但我不知道是什么和在哪里

有人能帮忙吗?

<script type="application/javascript">
$(function(){
    $("input[type='radio']").change(function(){
        var val = $(this).val();
        $(this).parent().find("input[type='radio']").each(function(){
            if ($(this).val() < val){
                $(this).addClass("belowchecked");
            } else {
                $(this).removeClass("belowchecked"); 
            }
        });
    });
});
</script>
<?php
//Require Database
require('connect.php');
//Variables
$name = $_POST['name'];
$email = $_POST['email'];
$website = $_POST['website'];
$service = $_POST['service'];
$comment = $_POST['comment'];
$rating = $_POST['star'];
$robotest = $_POST['robotest'];
$captcha = $_POST['captcha'];
date_default_timezone_set('Europe/London');
$date = date('Y-m-d');
// If Form Is Submitted 
	if(isset($_POST['add'])){
// Check User Entered Name			
if(empty ($name)){
			$error[] = "<b>Name</b>";
		}
// Check User Entered Email	
if(empty ($email)){
			$error[] = "<b>Email Address</b>";
			}
// Checks Users Email is valid
 else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) 
        {
		   $error[] = "<b>Email</b>"; 
           $error2[] = "Email is invalid";
        }
// If Website Is Not Empty
if (!empty ($website)) {
	// Check Website Is Valid
	if(!filter_var($website,   FILTER_VALIDATE_URL)) 
        {
		   $error[] = "<b>Website</b>";
            $error2[] = "<b>Website</b> must begin with <b>http://</b> and end with your domain extention";
        }	
}
// Else Website feild = null
else {
	$website = "";
}
//Check User Entered Rating
if(empty($rating)) {
	$error[] = "<b>Rating</b>";
}		
// Check User Entered Feedback		
if(empty ($comment)){
			$error[] = "<b>Feedback</b>";		
			}
// Check User Is Human
if($robotest) {
      $error[] = "You are a gutless robot.";
	  }
if ($captcha != $_SESSION['captcha']){
	$error2[] = "Please reenter <b>Captcha</b>";
	}
// If No Errors Insert To Database & Redirect To Feedback				
if (empty ($error)) {
	if (empty ($error2))
{
mysql_query("INSERT INTO comment (id, name, email, comment, rating, postdate, service, website) VALUES ('','$name','$email','$comment','$rating','$date','$service','$website')");
$status = "Thankyou for your feedback";
ob_end_flush;
header ("location: feedback.php#main");
}
}
}
?>
<section class="post-info" id="addfb" name="add">
<form action="#addfb" class="forms" method="POST">
<div class="stars">
    <input class="star star-5" id="star-1" type="radio" name="star" value="5" <?php if (isset($rating) && $rating=="5") echo "checked";?>/> 
    <label class="star star-5" for="star-1"></label>  
 
    <input class="star star-4" id="star-2" type="radio" name="star" value="4" <?php if (isset($rating) && $rating=="4") echo "checked";?>/> 
    <label class="star star-4" for="star-2"></label>
    
    <input class="star star-3" id="star-3" type="radio" name="star" value="3" <?php if (isset($rating) && $rating=="3") echo "checked";?>/> 
    <label class="star star-3" for="star-3"></label> 
    <input class="star star-2" id="star-4" type="radio" name="star" value="2" <?php if (isset($rating) && $rating=="2") echo "checked";?>/> 
    <label class="star star-2" for="star-4"></label>
    
    <input class="star star-1" id="star-5" type="radio" name="star" value="1" <?php if (isset($rating) && $rating=="1") echo "checked";?>/> 
    <label class="star star-1" for="star-5" ></label> 
</div>
<br>
Name <span class="Required">*Required</span><br>
  <input name="name" type="text" value="<?php echo $name; ?>">
  
</p>
<p>Email <span class="Required">*Required</span><br>
  <input name="email" type="text" value="<?php echo $email; ?>">
</p>
<p>Website <span class="Required">http://</span><br>
  <input name="website" type="text" id="website" value="<?php echo $website; ?>">
  </p>
<p>Service <span class="Required">*Required</span></p>
  <select name="service" class="services">
  <optgroup label="Peronal Services">
      <option value="Buisness Card Design" selected="selected">Business Card Design</option>
      <option value="Website Design">Website Design</option>
      <option value="Banner Design">Banner Design</option>
      <option value="Poster Design">Poster Design</option>
      <option value="Flyer Design">Flyer Design</option>
      <option value="Logo Design">Logo Design</option>
      </optgroup>
    
    <optgroup label="Service Packages" class="services">
      <option value="Buisness Package">Business Package</option>
      <option value="Personal Package">Personal Package</option>
      <option value="Charity Package">Charity Package</option>
      <option value="Mixed Services">Mixed Services</option>
      </optgroup>
  </select>
</p>
<p>Feedback<span class="Required"> *Required</span><br>
  <textarea id="comment" rows="8" cols="20" name="comment"><?php echo $comment; ?></textarea>
</p>
<!-- The following field is for robots only, invisible to humans: -->
    <p class="robotic" id="pot">
      <label>If you're human leave this blank:</label>
      <input name="robotest" type="text" id="robotest" class="robotest" />
<p>
<img class="img-responsive" src="captcha.php" />
<br>
<input name="captcha" placeholder="Enter Captcha" type="text" />
</p>
<p>
  <input type="submit" name="add" value="Add Feedback">
  
  <p>
  <?php 
// Show validation errros here
    if(!empty($error)){
	echo "Please check the following fields<br>";
    echo  implode($error, ', ');
	}
	
	if(!empty($error2)){
	echo "<br><br>";
    echo  implode($error2, '<br>');
	}
	echo $status;
?>
</p>
</p>
</form>
</section>

@米海p我现在已经解决了这个问题,只需改变一点代码,并使用{include_php file=""},所以显示正确,我已经转换了sql代码为pdo,这是更好吗?另外,关于验证码,我现在使用的是recaptcha,这是我的计划,只是必须把它放进去,如果你有任何进一步的建议,请告诉我

Thank you kindly

新TPL

<div class="box04">
  <div class="box04Top"></div>
  <div class="box04Content">
     <h1 class="headingStyle01"><br />
     <span class="color2"><span class="color1"><span class="color3">Client Feedback</span></span></span></h1>
     <p class="pStyle01">Click feedback to Pause and click again Restart</p>
    <p>{include_php file="fb.php"}</p>
</div>
</div>
</div>
<div class="bodyRight">
  <div class="client_fb">
 {include_php file="addfb.php"}
  </div>
</div>

新的显示数据

<script>
window.addEventListener('load', function () {
    function go() {
        i = i < height ? i + step : 1;
        m.style.marginTop = -i + 'px';
    }
    var i = 0,
        step = true,
        space = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
    var m = document.getElementById('marquee');
    var t = m.innerHTML;
    m.innerHTML = t + space;
    m.style.position = 'absolute';
    var height = (m.clientHeight + 1);
    m.style.position = '';
    m.innerHTML = t + space + t + space + t + space + t + space + t + space + t + space + t + space;
  m.addEventListener('click', function () {
        step = !step
  }, true);
    var x = setInterval(go, 50);
}, true);
</script>
</head>
<section id="feedback">
  <ol id="posts-list">
    <li>
      <article class="hentry">
<div id="main"> 
        <div id="marquee">
          <div> 
          <?php 
require('connect.php'); 
foreach($db->query('SELECT * FROM comment ORDER BY id DESC') as $row) {
	if(!$row) {
        echo "No Comments Found";}
 else {		    
 
 $dbname = $row['name']; 
 $dbrating = $row['rating']; 
 $dbwebsite = $row['website']; 
 $dbservice = $row['service']; 
 $dbdate = $row['postdate']; 
 $dbcomment = $row['comment']; 
 $newDate = date("l dS F Y", strtotime($dbdate));
?>             
<div id="commenttop"> 
 <div id="userdetails"><?php echo "{$dbname} - {$dbservice}" ?></div> 
  <div id="rating"> 
  <?php  
if ($dbrating == 1) { 
  echo '<img src="images/activestar.png" width="20" height="20" /> <img src="images/star.png" alt="" width="20" height="20" /><img src="images/star.png" alt="" width="20" height="20" /><img src="images/star.png" alt="" width="20" height="20" /><img src="images/star.png" alt="" width="20" height="20" />'; 
} 
if ($dbrating == 2) { 
  echo '<img src="images/activestar.png" width="20" height="20" /> <img src="images/activestar.png" width="20" height="20" /><img src="images/star.png" width="20" height="20" /><img src="images/star.png" width="20" height="20" /><img src="images/star.png" width="20" height="20" />'; 
} 
if ($dbrating == 3) { 
  echo '<img src="images/activestar.png" width="20" height="20" /> <img src="images/activestar.png" width="20" height="20" /><img src="images/activestar.png" width="20" height="20" /><img src="images/star.png" width="20" height="20" /><img src="images/star.png" width="20" height="20" />'; 
} 
if ($dbrating == 4) { 
  echo '<img src="images/activestar.png" width="20" height="20" /> <img src="images/activestar.png" width="20" height="20" /><img src="images/activestar.png" width="20" height="20" /><img src="images/activestar.png" width="20" height="20" /><img src="images/star.png" width="20" height="20" />'; 
} 
if ($dbrating == 5) { 
  echo '<img src="images/activestar.png" width="20" height="20" /> <img src="images/activestar.png" width="20" height="20" /><img src="images/activestar.png" width="20" height="20" /><img src="images/activestar.png" width="20" height="20" /><img src="images/activestar.png" width="20" height="20" />'; 
} 
?> 
  </div> 
</div> 
<div id="commentbtm"><?php echo "$dbcomment"?> 
<div id="date"><?php echo $newDate?></div> 
</div> 
<?php     
        } 
    } 
?> 
        </div>
      </div> 
        </div>
      <!-- /.entry-content -->
    </article></li>
  </ol><!-- /#posts-list -->

新增表单

<script type="application/javascript">
$(function(){
    $("input[type='radio']").change(function(){
        var val = $(this).val();
        $(this).parent().find("input[type='radio']").each(function(){
            if ($(this).val() < val){
                $(this).addClass("belowchecked");
            } else {
                $(this).removeClass("belowchecked"); 
            }
        });
    });
});
</script>
<?php
//Require Database
require('connect.php');
//Variables
$name = $_POST['name'];
$email = $_POST['email'];
$website = $_POST['website'];
$service = $_POST['service'];
$comment = $_POST['comment'];
$rating = $_POST['star'];
date_default_timezone_set('Europe/London');
$date = date('Y-m-d');
// If Form Is Submitted 
	if(isset($_POST['add'])){
		
// Check User Entered Name			
if(empty ($name)){
			$error[] = "<b>Name</b>";
		}
// Check User Entered Email	
if(empty ($email)){
			$error[] = "<b>Email Address</b>";
			}
// Checks Users Email is valid
 else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) 
        {
		   $error[] = "<b>Email</b>"; 
           $error2[] = "<b class='SmError'><b>Email</b> is invalid</b>";
        }
// If Website Is Not Empty
if (!empty ($website)) {
	// Check Website Is Valid
	if(!filter_var($website,   FILTER_VALIDATE_URL)) 
        {
		   $error[] = "<b>Website</b>";
            $error2[] = "<b class='SmError'><b>Website</b> must begin with <b>http://</b> and end with your domain extention</b>";
        }	
}
// Else Website feild = null
else {
	$website = "";
}
//Check User Entered Rating
if(empty($rating)) {
	$error[] = "<b>Rating</b>";
}		
// Check User Entered Feedback		
if(empty ($comment)){
			$error[] = "<b>Feedback</b>";		
			}
			
$APIkey = "";
    $postresult=$_POST['g-recaptcha-response'];
    $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$APIkey&response=$postresult");
    if (strpos($response, 'false')){
        $error[] = "<b>CAPTCHA</b>";
    }
// If No Errors Insert To Database & Redirect To Feedback				
if (empty ($error)) {
	if (empty ($error2))
{
$stmt = $db->prepare("INSERT INTO comment (`id`, `name`, `email`, `comment`, `rating`, `postdate`, `service`, `website`) VALUES(:id, :name, :email, :comment, :rating, :postdate, :service, :website)");
$stmt->bindValue(':id', $id);
$stmt->bindValue(':name', $name);
$stmt->bindValue(':email', $email);
$stmt->bindValue(':comment', $comment);
$stmt->bindValue(':rating', $rating);
$stmt->bindValue(':postdate', $date);
$stmt->bindValue(':service', $service);
$stmt->bindValue(':website', $website);
$stmt->execute();
$status = "Thankyou for your feedback";
}
}
}
?>
<section class="post-info" id="addfb" name="add">
<form action="" class="forms" method="POST">
<div class="stars">
    <input class="star star-5" id="star-1" type="radio" name="star" value="5" <?php if (isset($rating) && $rating=="5") echo "checked";?>/> 
    <label class="star star-5" for="star-1"></label>  
 
    <input class="star star-4" id="star-2" type="radio" name="star" value="4" <?php if (isset($rating) && $rating=="4") echo "checked";?>/> 
    <label class="star star-4" for="star-2"></label>
    
    <input class="star star-3" id="star-3" type="radio" name="star" value="3" <?php if (isset($rating) && $rating=="3") echo "checked";?>/> 
    <label class="star star-3" for="star-3"></label> 
    <input class="star star-2" id="star-4" type="radio" name="star" value="2" <?php if (isset($rating) && $rating=="2") echo "checked";?>/> 
    <label class="star star-2" for="star-4"></label>
    
    <input class="star star-1" id="star-5" type="radio" name="star" value="1" <?php if (isset($rating) && $rating=="1") echo "checked";?>/> 
    <label class="star star-1" for="star-5" ></label> 
</div>
<br>
Name <span class="Required">*Required</span><br>
  <input name="name" type="text" value="<?php echo $name; ?>">
  
</p>
<p>Email <span class="Required">*Required</span><br>
  <input name="email" type="text" value="<?php echo $email; ?>">
</p>
<p>Website <span class="Required">http://</span><br>
  <input name="website" type="text" id="website" value="<?php echo $website; ?>">
  </p>
<p>Service <span class="Required">*Required</span></p>
  <select name="service" class="services">
  <optgroup label="Peronal Services">
      <option value="Buisness Card Design" selected="selected">Business Card Design</option>
      <option value="Website Design">Website Design</option>
      <option value="Banner Design">Banner Design</option>
      <option value="Poster Design">Poster Design</option>
      <option value="Flyer Design">Flyer Design</option>
      <option value="Logo Design">Logo Design</option>
    </optgroup>
    
    <optgroup label="Service Packages" class="services">
      <option value="Buisness Package">Business Package</option>
      <option value="Personal Package">Personal Package</option>
      <option value="Charity Package">Charity Package</option>
      <option value="Mixed Services">Mixed Services</option>
    </optgroup>
  </select>
</p>
<p>Feedback<span class="Required"> *Required</span><br>
  <textarea id="comment" rows="8" cols="20" name="comment"><?php echo $comment; ?></textarea>
</p>
<div class="g-recaptcha" data-theme="light" data-sitekey=""></div>
<p>
  <input type="submit" name="add" value="Add Feedback">
</form>
<p>
  <?php 
// Show validation errros here
    if(!empty($error)){
	echo "Please check the following fields<br>";
    echo  implode($error, ', ');
	}
	
	if(!empty($error2)){
	echo "<br><br>";
    echo  implode($error2, '<br>');
	}
	echo $status;
?>
</p>
</p>
</section>

新的连接代码

<?php
$db = new PDO('mysql:host=HOST;dbname=;charset=utf8', 'USER', 'PASS');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);			
?>

实时工作预览