0

我对我认为的语法有点困难。我的一行代码似乎一直在显示。一直显示的代码行是: 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>
4

3 回答 3

1

结束标签错误:

<?php ... ?>

注意最后的>

/edit:与问题无关,但以防万一您不知道:如果您将 PHP 与 HTML 混合(这本身就是您可能想要避免的概念),您可能需要考虑使用替代语法控制结构。这样},您的代码就不会关闭,这可能会提高可读性。

<?php if (true) : ?>
    <p>html output</p>
<?php endif; ?>
于 2013-11-13T17:41:50.507 回答
1

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

if($affected_rows >= 1) { ?> 

代替

if($affected_rows >= 1) {?<
于 2013-11-13T17:42:00.240 回答
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)){

于 2013-11-13T17:44:11.787 回答