我试图用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) 我正在使用我基于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) 我在为此编写查询时遇到了一些麻烦.我想我有基本的逻辑,虽然我可能没有.我想要做的是根据用户正在查看的主板获取所有线程,然后根据上次回复的时间对这些线程进行排序.查询不返回任何错误,它只获取最近更新的线程.
这是我的查询:
$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 … 我正在编写自己的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) 我有一个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) 在这种情况下,我有三个主表:类别,板和权限.类别和董事会表格非常明显.权限表包含的行将确定是否允许用户读取板内的线程,在板内创建线程,回复板内的线程,或者调整板内的线程和帖子.在表中,用户对每个操作的能力由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)

我正在使用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) 我的网站标题出现问题,我不能为我的生活搞清楚.我想将标题分成两列.标题的高度应由左列内的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) 我有一个需要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".
所以我最近从ThemeForest购买并下载了一个模板.我在本地服务器上设置了模板.我使用codeigniter生成了导航,其中包含下拉菜单.我在菜单中的所有内容都正确编码.我只生成了标题,然后去测试它并意识到下拉菜单不起作用.我花了大约两个小时试图弄清楚我的代码出了什么问题.然后我终于意识到JavaScript文件包含在模板的页脚中...我还没有生成.
所以我的问题是......为什么有人会将JavaScript文件放在HTML页面的页脚中?我认为JS应该只位于文件的标题中.对?