小编Sho*_*291的帖子

为什么我在PHP中遇到语法错误?

我试图用PHP写一个新行到一个文件,我收到以下错误:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

public function add_line($line, $value, $file){

        $CI =& get_instance();
        $CI->load->helper('file');

        foreach($this->existing_langs as $lang){

            $lang_contents = read_file($this->lang_path.'/'.$lang.'/'.$file.'_lang.php');

            $new_contents = $lang_contents."\n$lang['".$line."'] = '".$value."';"; //Error happens on this line

            write_file($this->lang_path.'/'.$lang.'/'.$file.'_lang.php', $new_contents, 'w+');

        }

    }
Run Code Online (Sandbox Code Playgroud)

我已经用php注释指出了错误发生的那一行.这条线有什么问题?

lang_contents的示例:

<?php
$lang['1234'] = 'Restaurants';
Run Code Online (Sandbox Code Playgroud)

new_contents的示例:

<?php
$lang['1234'] = 'Restaurants';
$lang['1235'] = 'Transportation';
Run Code Online (Sandbox Code Playgroud)

php

6
推荐指数
1
解决办法
396
查看次数

为什么我的paypal ipn验证总是返回INVALID?

我正在使用我基于paypal网站示例代码创建的PHP类.我也在CodeIgniter中使用它.我用IPN模拟器测试IPN监听器.我的电子邮件已发送,因此我知道它正在被访问.问题是我总是收到INVALID的回复,我不明白为什么.这是我第一次在我的一个网站中集成PayPal.什么可能导致这个问题?

这是我的班级:

<?php

class Paypal {

    public $sandbox = false;
    private $_url;
    public $verified = false;
    public $fields = array();
    public $post_fields = array();
    public $result;

    public function __construct($params = array()){

        $this->sandbox = (isset($params['sandbox'])) ? $params['sandbox'] : false;

        $this->_url = ($this->sandbox) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr';

    }

    public function run(){

        $this->verified = false;

        // STEP 1: read POST data
        // Reading POSTed data directly from $_POST causes serialization issues with array data in the POST.
        // Instead, read raw POST data …
Run Code Online (Sandbox Code Playgroud)

php codeigniter paypal

6
推荐指数
1
解决办法
307
查看次数

如何使用MySQL Join通过上次回复对论坛帖子进行排序?

我在为此编写查询时遇到了一些麻烦.我想我有基本的逻辑,虽然我可能没有.我想要做的是根据用户正在查看的主板获取所有线程,然后根据上次回复的时间对这些线程进行排序.查询不返回任何错误,它只获取最近更新的线程.

这是我的查询:

$query = "
            SELECT
            t.child_id, t.thread_id,
            m.thread_id, m.message_id, m.date_posted
            FROM forum_threads AS t
            LEFT JOIN forum_messages AS m ON t.thread_id = m.thread_id
            WHERE t.child_id = ".$board_id."
            ORDER BY m.date_posted DESC
            LIMIT ".$starting.", ".$this->user['results_per_page'];

这是要返回的查询:

            SELECT t.child_id, t.thread_id, m.thread_id, m.message_id, m.date_posted   
            FROM forum_threads AS t   
            LEFT JOIN forum_messages AS m   
            ON t.thread_id = m.thread_id   
            WHERE t.child_id = 2   
            ORDER BY m.date_posted DESC LIMIT 0, 15 

在此输入图像描述

在此输入图像描述

更新

我试图采用ethrbunny建议的想法,尽管我完全迷失了导致它返回错误的原因.

$query = "
            SELECT
            t.board_id, t.thread_id
            FROM forum_threads AS t
            LEFT …

php mysql join

5
推荐指数
1
解决办法
1256
查看次数

如何在jQuery的子菜单中添加箭头到链接?

我正在编写自己的jQuery导航子菜单脚本.将鼠标悬停在水平nav带有ul标记的链接上时,ul会显示该标记.我有一些代码,nav如果它有一个子菜单,它会在水平链接中添加一个箭头.我的问题是它还将箭头添加到子菜单中的链接.这在功能上并不是什么大不了的事,但看起来确实很糟糕.

奇怪的是,如果我使用$(this).find('> a')它搞砸了子菜单的外观.当我将鼠标悬停在顶级链接上时会出现子菜单,但是当鼠标离开该链接时会立即消失.所以当鼠标悬停在顶层链接上时,我基本上可以看到整个子菜单.当鼠标离开顶级链接时,子菜单消失,我无法单击子菜单链接.我究竟做错了什么?

这是一个JSFiddle.更改$(this).find('a')$(this).find('> a'),你就会明白我的意思.谢谢你的时间!

$(document).ready(function(){
    $('nav ul li:has(ul)').each(function(){
        var listItem = $(this);
        $(this).find('> a').each(function(){
            var aTag = $(this);
            aTag.append('<img src="{img_url}/caret.png" width="8" height="8">');
            aTag.on('mouseover', function(){
                listItem.find('ul').each(function(){
                    $(this).css('display', 'block');
                });
            })
            .on('mouseout', function(){
                listItem.find('ul').each(function(){
                    $(this).css('display', 'none');
                });
            });
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

5
推荐指数
1
解决办法
186
查看次数

根据javafx中listview中的选定项调用类

我有一个ListView,每次更改选择时,我想调用具有该名称的类.例如,如果该项称为"文本字符串",则应调用类TextString.我现在的代码给了我一个错误说The method insert(ArrayList<Element>) is undefined for the type Object... Eclipse给了我一个建议将对象强制转换为Element,但这没有做任何事情.Element类是一个超类,TextString将实现该类.

这是我到目前为止的代码:

   elementList.itemsProperty().bind(listProperty);
        listProperty.set(FXCollections.observableArrayList(elementListItems));
        elementList.setOnMouseClicked(new EventHandler<MouseEvent>() {

            public String selectedElement = "Text String";
            @Override
            public void handle(MouseEvent event) {
                selectedElement  = (String)elementList.getSelectionModel().getSelectedItem();
                selectedElement = selectedElement.replace(" ", "");
                Class<?> clazz;
                try {
                    clazz = Class.forName("elements."+selectedElement);
                    Constructor<?> ctor = clazz.getConstructor();
                    Object object = ctor.newInstance();
                    Method meth = clazz.getClass().getMethod("insert", new Class<?>[] { Canvas.class, ArrayList.class, GraphicsContext.class });
                    meth.invoke(object, canvas, objects, gc);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                } catch (NoSuchMethodException e) {
                    e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

java javafx-8

5
推荐指数
1
解决办法
453
查看次数

如何使用MySQL联接选择允许用户阅读的论坛板?

在这种情况下,我有三个主表:类别,板和权限.类别和董事会表格非常明显.权限表包含的行将确定是否允许用户读取板内的线程,在板内创建线程,回复板内的线程,或者调整板内的线程和帖子.在表中,用户对每个操作的能力由0(关闭或假)或1(开启或真实)指示.这些基于用户所属的成员组.

我想要做的是创建一个选择类别的查询.它应该只选择具有用户可以读取的板的类别.基本上,如果某个类别没有用户可以阅读的任何板,则不会选择它.如果该类别甚至只有一个用户可以阅读的板,它将被选中.

下一个查询是选择用户可以读取的特定类别中的板.基于与上述相同的原则.显示一个用户无法阅读的电路板有什么意义,让他们在点击链接后找到它?

我自己从未真正创建过这样复杂的查询,所以我甚至不知道从哪里开始.如果你能帮帮我,我真的很感激.

更新

所以,我决定试一试,这就是我想出来的:

$query = "
            SELECT
                b.category_id, b.board_id, b.position,
                p.group_id, p.board_id, p.read
            FROM forum_boards AS b
                INNER JOIN forum_permissions AS p ON (
                        p.board_id = b.board_id,
                        p.group_id = 1,
                        p.read = 1
                )
            WHERE b.category_id = ".$category_id."
            ORDER BY b.position";

请注意,这是用于获取用户可以阅读的特定类别内的板的查询.它目前正在返回以下错误,我无法弄清楚原因.

Operand should contain 1 column(s)

分类表 板表 权限表

php mysql join greatest-n-per-group

4
推荐指数
1
解决办法
332
查看次数

当我在jQuery中复制它时,如何更改HTML的属性?

我正在使用jQuery编写一个脚本,它将完全动态地复制HTML div的内容,然后添加一个按钮来删除相应的"new div".我基本上使用它作为向表单添加更多字段的方法.我会使用现有的脚本,但那里的所有脚本似乎只添加输入字段而且不是很动态.通过这种方式,我可以通过将按钮添加到HTML而不是JavaScript来使用该按钮来复制我想要的内容.

就重复原始容器内容而言,一切似乎都能正常工作.我遇到的唯一问题是为删除按钮分配一个id.在我的例子中,"原始内容"的父div是"引用"...所以第一个"新内容"的id应该是'references-1'......它就是这样.当我创建删除按钮(基于下面显示的div的内容)时,我想将它的id更改为'references-1',这样当它被点击时,它将删除id为'的'新内容'div引用-1' .使用我当前的脚本,删除按钮的所有属性都没有更改...

有人有主意吗?

HTML

<div id="references">
    <!-- The content to duplicate.... excludes the parent div tag i.e. only the input tag. -->
    <input type="text" name="references[]" size="30" class="text-input" placeholder="Must contain a valid, working URL." style="position: relative;z-index: 0;">
</div>
<div id="more-references">
    <-- Where to put the new content -->
</div>
<div id="remove-button" style="visibility: hidden;">
    <-- The button that removes content --> <i class="fi-x"></i>

</div>  <i class="fi-plus" rel="addMore" id="references"></i>
<!-- The button that adds content -->
Run Code Online (Sandbox Code Playgroud)

jQuery:

$(function(){

    var i …
Run Code Online (Sandbox Code Playgroud)

css jquery

4
推荐指数
1
解决办法
415
查看次数

为什么身高不影响我的div?

我的网站标题出现问题,我不能为我的生活搞清楚.我想将标题分成两列.标题的高度应由左列内的h1和p标签的内容决定.右列应分为两行,高度相等,包含导航菜单和社交链接.我想在父div的中心垂直对齐每个菜单.出于某种原因,高度属性根本不会改变那些右列行的高度.我究竟做错了什么?有一个更好的方法吗?这是一个jsFiddle,向您展示我目前得到的.谢谢你的时间.

HTML:

<header>
  <div id="banner">
    <div class="container">
      <div id="banner-inner">
        <div id="banner-left">
          <h1>Site Name</h1>
          <p>Some catchy slogan...</p>
        </div>
        <div id="banner-right">
          <div id="banner-top">
            <ul>
              <li>Find Me On:</li>
              <li><a href+ "#" title="Facebook"><i class="fa fa-facebook-square"></i></a></li>
              <li><a href+ "#" title="Twitter"><i class="fa fa-twitter-square"></i></a></li>
              <li><a href+ "#" title="LinkedIn"><i class="fa fa-linkedin-square"></i></a></li>
              <li><a href+ "#" title="Instagram"><i class="fa fa-instagram"></i></a></li>
            </ul>
          </div>
          <div id="banner-bottom">
            <nav>
              <ul id="menu-menu-1" class="nav navbar-nav">
                <li><a title="Home" href+ "#">Home</a></li>
                <li><a title="Blog" href+ "#">Blog</a></li>
                <li><a title="Resources" href+ "#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Resources <span class="caret"></span></a>
                  <ul role="menu" class=" …
Run Code Online (Sandbox Code Playgroud)

html css

4
推荐指数
1
解决办法
506
查看次数

为什么我的JS没有启用我的按钮?

我有一个需要JavaScript的表单,以便用户提交.输出我的HTML时,disabled属性设置为true.我希望我的JavaScript启用按钮.我的JS由于某种原因没有启用我的按钮.我在控制台中没有错误.

JS:

(function(){
    var buttons = document.getElementsByTagName("button");
    buttons[0].disabled = false;
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<button type="submit" class="btn btn-primary" disabled="true">Next</button>
Run Code Online (Sandbox Code Playgroud)

我也在HTML中尝试了DISABLED而不是disabled ="true".

javascript

4
推荐指数
1
解决办法
50
查看次数

为什么要将JavaScript放在页面的页脚中?

所以我最近从ThemeForest购买并下载了一个模板.我在本地服务器上设置了模板.我使用codeigniter生成了导航,其中包含下拉菜单.我在菜单中的所有内容都正确编码.我只生成了标题,然后去测试它并意识到下拉菜单不起作用.我花了大约两个小时试图弄清楚我的代码出了什么问题.然后我终于意识到JavaScript文件包含在模板的页脚中...我还没有生成.

所以我的问题是......为什么有人会将JavaScript文件放在HTML页面的页脚中?我认为JS应该只位于文件的标题中.对?

javascript header footer

3
推荐指数
1
解决办法
2万
查看次数