PHP-在同一个文件上多次运行同一个php函数

松饼

我当前正在创建一个数据库/表列表排序系统,其中将显示用户当前的喜欢/不喜欢。提取用户的喜欢/不喜欢,并通过一个来自单独文件的功能来管理用户的喜欢/不喜欢displayRating()我在列表的开头使用require_once调用该文件所在的单独文件,然后开始工作。

然后我继续前进,让我的

foreach(...){
...
displayRating($id);
...
}

但是我遇到一个错误,似乎是在告诉我我无法在同一页面中多次调用一个函数。这是我的确切(未优化)代码:

投票.php

<?php
function displayRating($id){
    if(isset($id)){
        require_once('medoo.min.php');
        // Start up the D.B. Connection
        $database = new medoo([
        // required
        'database_type' => 'mysql',
        'database_name' => '****',
        'server' => 'localhost',
        'username' => '****',
        'password' => '****',
        'charset' => 'utf8',
        // driver_option for connection, read more from http://www.php.net/manual/en/pdo.setattribute.php
        'option' => [
        PDO::ATTR_CASE => PDO::CASE_NATURAL
        ]]);
        // xf_user_field_value DB. Amount of ratings: 506c617965725f7261746573    Current Score: 706c617965725f726174696e67
        $accountinfo = $database->select('xf_user_field_value', ['field_value'], ["user_id"=>$id]);
        $vScore = $accountinfo[5]['field_value'];
        // Processing Time
        $phrase = '<div class="bc"><div data-hint="%1$s" class="hint--right vote %2$s"></div></div>';
        if($vScore == 0){
            printf($phrase, 'Neutral Score', 'v_equal');
            return;
        } elseif ($vScore > 0){
            // Positive Here
            switch($vScore){
                case 1:
                    printf($phrase, '1 Like', 'v_p1 hint--success');
                    break;
                case 2:
                    printf($phrase, '2 Likes', 'v_p2 hint--success');
                    break;
                case 3:
                    printf($phrase, '3 Likes', 'v_p3 hint--success');
                    break;
                case 4:
                    printf($phrase, '4 Likes', 'v_p4 hint--success');
                    break;
                case 5:
                    printf($phrase, '5 Likes', 'v_p5 hint--success');
                    break;
                case 6:
                    printf($phrase, '6 Likes', 'v_p6 hint--success');
                    break;
                case 7:
                    printf($phrase, '7 Likes', 'v_p7 hint--success');
                    break;
                default:
                    printf($phrase, $vScore . ' Likes', 'v_p7 hint-success');
                    break;
            }
        } elseif ($vScore < 0){
            // Negative Here
            switch($vScore){
                case -1:
                    printf($phrase, '1 Dislike', 'v_m1 hint--error');
                    break;
                default:
                    if($vScore < -7){ $vClass = 7; } else { $vClass = abs($vScore); }
                    printf($phrase, abs($vScore) . ' Dislikes', 'v_m' . $vClass . ' hint--error');
            }
        }
    } else {
        return;
    }
}
?>

displayCodes.php

<?php
function displayCodesMain($page){ 
    if($page == 1){?>
<table class="friendcodes">
    <tr>
        <th>Username</th>
        <th>Friend Code</th>
        <th>Affinity</th>
        <th>Level</th>
        <th>Rating</th>
    </tr>
<?php
$plisting = file_get_contents('plist.txt');
$plist = explode(' ', $plisting, 4);
require_once('vote.php');
array_pop($plist);
    foreach($plist as $item) {
        $item = explode(':', $item);
        echo '<tr class="fc_premium">';
        $item[3] = substr($item[3], 0, 3) . '-' . substr($item[3], 3, 7);
        $item[1] = str_replace('&', ' ', $item[1]);
        echo '<td>' . $item[1] . '</td><td>' . $item[3] . '</td><td style="text-transform:capitalize;">' . $item[4] . '</td><td>' . $item[5] . '</td><td>  <div class="bc"><div class="vote v_p7"> </div></div> </td>';
        echo '</tr>'; 
    }
$listing = file_get_contents('list.txt');
$list = explode(' ', $listing, 26);
array_pop($list);
    foreach($list as $item) {
        $item = explode(':', $item);
        echo '<tr class="fc_regular">';
        $item[3] = substr($item[3], 0, 3) . '-' . substr($item[3], 3, 7);
        $item[1] = str_replace('&', ' ', $item[1]);
        echo '<td>' . $item[1] . '</td><td>' . $item[3] . '</td><td style="text-transform:capitalize;">' . $item[4] . '</td><td>' . $item[5] . '</td><td>'. displayRating($item[0]) .'</td>';
        echo '</tr>'; 
    }

    echo '</table>';
} else if($page == 2) { 
// Start page #2 management
?>
<table class="friendcodes">
    <tr>
        <th>Username</th>
        <th>Friend Code</th>
        <th>Affinity</th>
        <th>Level</th>
    </tr>
<?php
$listing = file_get_contents('list.txt');
$list = explode(' ', $listing, 51);
$list = array_slice($list, 25, 25);
array_pop($list);
    foreach($list as $item) {
        $item = explode(':', $item);
        echo '<tr class="fc_regular">';
        $item[3] = substr($item[3], 0, 3) . '-' . substr($item[3], 3, 7);
        $item[1] = str_replace('&', ' ', $item[1]);
        echo '<td>' . $item[1] . '</td><td>' . $item[3] . '</td><td style="text-transform:capitalize;">' . $item[4] . '</td><td>' . $item[5] . '</td>';
        echo '</tr>'; 
    }
?>
    </table>
    <?php
}
} // Close the function
?>

Test.php(我用来动态获取值和什么的-警告,包含一些CSS,您可以安全地跳过它们。

<?php
/*include('newUser.php');
addNewUser('1', 'true', 'Spitfire', '8JX-UKR8', 'Spirit', '90');*/
require('displayCodes.php');
displayCodesMain(1);
?>
<head>


<style>
/*! Hint.css - v1.3.2 - 2014-05-18
* http://kushagragour.in/lab/hint/
* Copyright (c) 2014 Kushagra Gour; Licensed MIT */

.hint,[data-hint]{position:relative;display:inline-block}.hint:before,.hint:after,[data-hint]:before,[data-hint]:after{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0ms;-moz-transition-delay:0ms;transition-delay:0ms}.hint:hover:before,.hint:hover:after,.hint:focus:before,.hint:focus:after,[data-hint]:hover:before,[data-hint]:hover:after,[data-hint]:focus:before,[data-hint]:focus:after{visibility:visible;opacity:1}.hint:hover:before,.hint:hover:after,[data-hint]:hover:before,[data-hint]:hover:after{-webkit-transition-delay:100ms;-moz-transition-delay:100ms;transition-delay:100ms}.hint:before,[data-hint]:before{content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1000001}.hint:after,[data-hint]:after{content:attr(data-hint);background:#383838;color:#fff;text-shadow:0 -1px 0 #000;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;box-shadow:4px 4px 8px rgba(0,0,0,.3)}.hint--top:before{border-top-color:#383838}.hint--bottom:before{border-bottom-color:#383838}.hint--left:before{border-left-color:#383838}.hint--right:before{border-right-color:#383838}.hint--top:before{margin-bottom:-12px}.hint--top:after{margin-left:-18px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:hover:after,.hint--top:hover:before,.hint--top:focus:after,.hint--top:focus:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom:before{margin-top:-12px}.hint--bottom:after{margin-left:-18px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:hover:after,.hint--bottom:hover:before,.hint--bottom:focus:after,.hint--bottom:focus:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--right:before{margin-left:-12px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before,.hint--right:focus:after,.hint--right:focus:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{margin-right:-12px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before,.hint--left:focus:after,.hint--left:focus:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #193b4d}.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:after,.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:after,.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{-webkit-transition-duration:0ms;-moz-transition-duration:0ms;transition-duration:0ms}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(0.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(0.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(0.71,1.7,.77,1.24)}
.vote { background: url('vote.png') no-repeat top left; width: 20px; height: 20px;  } 
.vote.v_m7 { background-position: 0px 0px;  } 
.vote.v_p7 { background-position: 0px -30px;  } 
.vote.v_p6 { background-position: 0px -60px;  } 
.vote.v_m6 { background-position: 0px -90px;  } 
.vote.v_m5 { background-position: 0px -120px;  } 
.vote.v_p5 { background-position: 0px -150px;  } 
.vote.v_p4 { background-position: 0px -180px;  } 
.vote.v_m4 { background-position: 0px -210px;  } 
.vote.v_m3 { background-position: 0px -240px;  } 
.vote.v_p3 { background-position: 0px -270px;  } 
.vote.v_p2 { background-position: 0px -300px;  } 
.vote.v_m2 { background-position: 0px -330px;  } 
.vote.v_m1 { background-position: 0px -360px;  } 
.vote.v_p1 { background-position: 0px -390px;  } 
.vote.v_equal { background-position: 0px -420px;  }
.bc {
    display: inline-block;
    width: 20px;
    height: 20px;
    padding: 1px;
    border-radius: 12px;
    border: 1px solid #888;
}
    .friendcodes {
        border-spacing: 0;
    }
    .friendcodes tr > td {
        padding: 5px 25px;
    }
    .fc_premium {
        background: #ffdf8e;
        border-spacing: 0;
    }
    .fc_regular {
        border-spacing: 0;
    }
</style>
</head>
<body>
    <h3>
    Use form below for Adding IDs
</h3>
<form action="http://shortcutcentral.org/projects/friendcodes/receiveQuery.php" method="post">
    <input type='text' value="481" name="id" /><br>
    <input type="submit" />
</form>
    <h3>
        Current Testing Stuff
    </h3>
    <p>
<?php 
require('vote.php');
displayRating(481);
?>
    </p>
</body>

对于那些热衷于此的人来说,这是确切的错误-由于我是通过实时安装工作的,所以我也混淆了此处的某些内容:

致命错误:无法在第68行的/ home / ** / public_html / ** /vote.php中重新声明displayRating()(先前在/ home / ** / public_html / ** /vote.php:2中声明)

Islanddave

displayCodes.php和test.php都需要vote.php,而后者不执行require_once。将test.php切换为require_once('vote.php');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在同一个文件中为多个版本的PHP编码而不会出现错误?

多次运行同一个Docker映像

PHP:如何使用同一个函数名称的三个以上特征?我想使用所有相同的名称函数

我多次运行同一个函数时,会得到setInterval的多个实例?

具有依赖项注入的同一个类上的模拟方法-PHP

PHP OOP:如何在同一个类的另一个方法中使用一个方法?

两个远程用户可以查看同一个PHP网页并分别对其进行更新吗?

在同一个PHP文件中同时执行INSERT和SELECT

多次运行同一个cronjob

POST 函数不适用于我的 php 代码,但是在同一个函数中 GET 正在工作

Cake PHP 3.4 - 如何在同一个查询中添加 2 个内部连接?

在同一个php文件中处理多个表单

如何在php的同一个按钮上同时设置会话变量和验证

如何在同一个header.php 上加载不同的横幅图片?

在 PHP 中对同一个 mysql 查询迭代两次

PHP - 组合来自同一个二维数组的 2 个元素

两个数组元素通过php保存在同一个表中

使用 PHP XPatch 在同一个 foreach 循环中回显来自多个域的文本

如何将参数从一个函数传递到另一个函数,但在php中的同一个类中

是否可以在 apache 上运行 Flask api 并且已经为同一个域运行 PHP 站点?

如何查找数组值中的某些单词是否在同一个数组 php 中

PHP preg_replace 在同一个字符串中多次替换一个模式

PHP 表单 - 是否可以在同一个 table_name 中插入多个输入字段

Wordpress - 根据活动页面向同一个 template-page.php 上的元素添加新类?

PHP从接收到的输入更新json并写回同一个文件

虽然是另一个项目php使用同一个session登录

PHP 在同一个数组中计算相同的 id

如何使用 php 在同一个数组中乘以数量和价格?

从同一个 yaml 文件中解析自定义标签 (!tag) 和常量 (!php/const)