我的代码中有一段显示在我的网站上。我在想我使用了错误的语法

时间:2013-11-13 17:37:38

标签: php

我觉得我的语法有点困难。我的代码行似乎在继续显示。继续显示的代码行是:if($ affected_rows> = 1){?< 什么可能是错的?您在哪里看到评论:// ----检查是否有更新的行。如果是0行则会出现重复,并且不会显示灯箱代码  这就是问题的开始。

<HTML>
<HEAD>
<title>NetDocs - The Network Documentation Webpage "Your Resource For BMF     Documentation"</title>

</HEAD>



  <body>
<?PHP

$link = mssql_connect('localhost', 'mssql_user', 'password');
if(!$link) {
   die('Could not connect: ' . mssql_error());
}

//Function to get the vistors IP address
function getUserIP()
{
   $client  = @$_SERVER['HTTP_CLIENT_IP'];
   $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
   $remote  = $SERVER['REMOTE_ADDR'];

   if(filter_var($client, FILTER_VALIDATE_IP))
   {
    $ip = $client;
   }
   elseif(filter_var($forward, FILTER_VALIDATE_IP))
   {
    $ip = $forward;
   }
   else
   {
    $ip = $remote;
   }

   return $ip;
}

//check if this is the first time visit
if(!isset($user_ip){

$user_ip = getUserIP();
$sql ="INSERT INTO USER_IP ('user_ip') VALUES ('" . $user_IP . "');";
$results = mssql_query($sql);
$Affected_Rows = mssql_num_rows($result);
}

//---- checks if there are rows that got updated. if 0 rows then there is a duplicate and will not show the lightbox code

if($affected_rows >= 1) {?< // This is what keeps showing on my site just the 1) {<

<script src="http://cdn.jotfor.ms/static/feedback2.js?3.1.881" type="text/javascript">
new JotformFeedback({
formId:'33084654629158',
base:'http://jotform.us/',
windowTitle:'Registration Form',
background:'#FFA500',
fontColor:'#FFFFFF',
type:false,
height:500,
width:700,
openOnLoad:true
});
</script>


<?php
}
mssql_close($link);
?>

</BODY>
</HTML>

3 个答案:

答案 0 :(得分:1)

结束标记错误:

<?php ... ?>

请注意最后的&gt;

/ edit:与问题无关,但万一你不知道这个: 如果您将PHP与HTML混合(这本身就是您可能想要避免的概念),您可能需要考虑使用alternative syntax for control structures。这样,代码中就没有结束},这可能会提高可读性。

<?php if (true) : ?>
    <p>html output</p>
<?php endif; ?>

答案 1 :(得分:1)

我没有检查你的其余代码,但应该有

if($affected_rows >= 1) { ?> 

而不是

if($affected_rows >= 1) {?<

答案 2 :(得分:0)

if($affected_rows >= 1)

应该是:

if($Affected_Rows >= 1)

这是一个简单的测试:

$Affected_Rows = 'Hello World';

echo $affected_rows;

您将收到一个未定义的变量。

您还需要正确关闭php代码:

if($Affected_Rows >= 1){?>

以下缺少右括号:

if(!isset($user_ip){

应该是:

if(!isset($user_ip)){