小编Jac*_*ack的帖子

CSS - 将一个图像叠加在另一个图像之上

我不能用文字来形容这个,所以我会给你看图片.

以下是我的设计师打算在我们网站的侧边栏中查看Gravatar图像的方式:

设计师如何想要它http://i41.tinypic.com/rjnn6v.png

这是我制作的叠加图像(从Photoshop截取):

我的叠加图片http://i43.tinypic.com/s1sz2e.png

这是它现在的样子......

不太理想http://i42.tinypic.com/21j13s3.png

不太理想,我想你会同意的.这是我正在使用的CSS代码:

.gravatarsidebar {
    float:left; 
    padding:0px;
    width:70px;
}

.gravataroverlay {
 width:68px;
 height:68px;
 background-image: url('http://localhost:8888/images/gravataroverlay.png');
}
Run Code Online (Sandbox Code Playgroud)

这里是XHTML(和一些PHP来根据用户的电子邮件地址获取Gravatar,这是从我们的数据库中获取的):

<div class="gravataroverlay"></div>

        <div class="gravatarsidebar">
            <?php $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($email) . '?s=68';
            echo '<img src="' . $gravatar_link . '" alt="Gravatar" />'; ?>  
        </div>
Run Code Online (Sandbox Code Playgroud)

那我该怎么办?我无法使用相对定位,因为它使下面div中的"搜索"一词保持向右移动.

谢谢你的帮助!

插口

css xhtml

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

PHP/CodeIgniter - $ _POST数据在奇怪的情况下完全消失在表单提交上

编辑:我想我已经解决了一些问题.- 这个角色 - 似乎打破了它.如果我使用'常规'撇号(')它似乎工作正常,如果我用常规撇号替换其中的每个时髦撇号,它提交就好了.那么,下一个问题:为什么那个花哨的撇号打破了CodeIgniter或PHP?我会认为这是一个CI错误,但如果我错了,请纠正我.无论如何,这是我最初发布的问题,我仍然会理解为什么会发生这种情况以及我能做些什么呢?


我把头发撕成了这个.这完全是奇怪的,我根本无法解决这个问题.

首先,我有一个基本形式:

<?php $attributes = array('class' => 'form1'); $selected="";
echo form_open('admin/edit_page/'.$page->row('id'), $attributes); ?>

    <div>               
        <?php echo form_error('title'); ?>
        <label>Page Title:</label><input type="text" maxlength="100" name="title" value="<?php echo $page->row('title');?>" />
    </div>

    <div class="textarea">
        <?php echo form_error('content'); ?>
        <label>Page Content:</label><textarea name="content"><?php echo $page->row('content');?></textarea>
    </div>

    <div class="no">
        <input type="submit" value="Submit"/>
    </div>

</form>
Run Code Online (Sandbox Code Playgroud)

接下来,我有相应的CI功能:

function edit_page($id)
{
    $this->form_validation->set_rules('title', 'Title', 'trim|required|max_length[50]');
    $this->form_validation->set_rules('content', 'Content', 'trim|required');

    // If validation has failed...
    if ($this->form_validation->run() == FALSE)
    {
        $data['page'] = $this->gallery_model->get_page($id); …
Run Code Online (Sandbox Code Playgroud)

php post codeigniter

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

我这样做是错误的,或者在使用数组作为字段名称时CodeIgniter表单验证库中是否存在错误?

这是我的控制器代码来配置规则:

// Previous address(es)         
$this->form_validation->set_rules('prev_house_number[]',    'House Number',     'trim|alpha_numeric');
$this->form_validation->set_rules('prev_abode[]',           'Abode',            'trim');
$this->form_validation->set_rules('prev_house_name[]',      'House Name',       'trim');
$this->form_validation->set_rules('prev_address_line_1[]',  'Address Line 1',   'required|trim');
$this->form_validation->set_rules('prev_address_line_2[]',  'Address Line 2',   'trim');
$this->form_validation->set_rules('prev_city[]',            'Town/City',        'required|trim');
$this->form_validation->set_rules('prev_county[]',          'County',           'trim');
$this->form_validation->set_rules('prev_postcode[]',        'Postcode',         'required|max_length[9]|trim');
$this->form_validation->set_rules('prev_country[]',         'Country',          'trim');
$this->form_validation->set_rules('prev_months[]',          'Previous Months',  'trim|integer');
$this->form_validation->set_rules('prev_years[]',           'Previous Years',   'trim|integer');
Run Code Online (Sandbox Code Playgroud)

用户最多可以输入5个以前的地址,如下所示:

表格验证

地址行1字段后面的代码如下所示:

<div class="input w100 f-left c-none">
    <input type="text" class="address_line_1 postcode_prev_address_1" id="prev_address_line_1[]" name="prev_address_line_1[]" value="<?php echo set_value('prev_address_line_1[]');?>"/>
    <label for="prev_address_line_1[]">Address Line 1 <span class="required">*</span></label>
</div>
Run Code Online (Sandbox Code Playgroud)

问题在于:假设我输入了5个地址,并且表单上的验证失败,所有五个输入区域将按预期正确地重新填充.但是,CodeIgniter的验证不适用于阵列输入.

这是验证后的直接截图:

表单验证失败

正如您所看到的,尽管它使用正确的值重新填充表单,但它不会对它们应用验证规则,并且似乎无法从控制器中识别它们的存在.

我能做什么?

谢谢!

插口

html php forms validation codeigniter

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

CodeIgniter/PHP - 从视图中调用视图

基本上我的webapp我试图组织它好一点.就目前而言,每次我想加载页面时,我都必须从我的控制器中执行此操作:

        $this->load->view('subviews/template/headerview');
    $this->load->view('subviews/template/menuview');
    $this->load->view('The-View-I-Want-To-Load');
    $this->load->view('subviews/template/sidebar');
    $this->load->view('subviews/template/footerview'); 
Run Code Online (Sandbox Code Playgroud)

你可以说它并不是非常有效.

所以我想我会创建一个'主'视图 - 它叫做template.php.这是模板视图的内容:

<?php
    $view = $data['view'];

        $this->load->view('subviews/template/headerview');
        $this->load->view('subviews/template/menuview');
        $this->load->view($view);
        $this->load->view('subviews/template/sidebar');
        $this->load->view('subviews/template/footerview');
?>
Run Code Online (Sandbox Code Playgroud)

然后我想我可以从这样的控制器调用它:

    $data['view'] = 'homecontent';
    $this->load->view('template',$data);
Run Code Online (Sandbox Code Playgroud)

不幸的是,我根本无法做到这一点.有没有人可以解决这个问题或修复我可以实施的方法?我已经尝试在template.php中将"s"和's'放在$ view周围,但这没什么区别.通常的错误是"未定义的变量:数据"或"无法加载视图:$ view.php"等.

谢谢大家!

插口

php codeigniter views

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

在调用插件时使用jQuery的live()函数?

所以我有一个插件 - jScrollPane - http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html - 这很棒,但是,我想将它应用于Ajax生成的div.

我如何将jScrollPane与jQuery结合使用live()?有关live()的更多信息,请访问:http://api.jquery.com/live/

谢谢!

插口

ajax jquery

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

jQuery 粘性侧边栏失败

首先我没有写这段代码。我在别人的网站上找到了它,我想通过自己尝试从中学习。但是我不能让它工作。我已经用谷歌搜索了代码,以防它是一个免费提供的 jQuery 插件或任何东西,但我无法在网络上的任何地方找到它。

我有我的侧边栏(带有 id #sidebar)并给了它“粘性”类,我在页面顶部包含了 jQuery,并且我已经把这段代码放在了头部:

<!-- Floating sidebar jQuery --> 
        <script type="text/javascript"> 
            var Sticky = function( $obj, opts ){

               $(window).scroll( 
                  function(e){
                     Sticky.onScroll(e, $obj, opts );
                  });

            }
            Sticky.onScroll = function( e, $o, opts ){

               var iScrollTop = $(window).scrollTop();
               var sClass = "sticky";

               //set original data
               if( !$o.data(sClass) ){
                  $o.data(sClass, {css:{position:$o.css('position'),top:$o.css('top')}, offset:$o.offset()} );
               }
               var oOrig = $o.data(sClass);
               var bIsSticky = $o.hasClass(sClass);

               if( iScrollTop > oOrig.offset.top && !bIsSticky ){
                  $o.css({position:'fixed',top:0}).addClass(sClass);
               }else if(iScrollTop < oOrig.offset.top && bIsSticky){
                  $o.css(oOrig.css).removeClass(sClass); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery sticky

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

通过CodeIgniter/PHP从我的表单中收集$ _POST输入的"正确"方法是什么?

这更像是一个理论问题,而不是具体问题.

我有一个使用CodeIgniter的Form Validation类设置的表单.我有一些规则在运行,例如:

$this->form_validation->set_rules('address_line_1', 'Address Line 1', 'required|xss_clean|trim');

我最终想把address_line_1数据放到我的数据库中.这是我有点困惑的地方.似乎有几种$_POST从CodeIgniter 中获取数据的方法:

  1. $address = $_POST['address_line_1'];

  2. $address = $this->input->post('address_line_1');

  3. $address = $this->form_validation->set_value('address_line_1');

  4. $address = set_value('address_line_1);

那么"正确"的方式是哪种方式?

虽然我确信其中有几个假设是错误的,但我一直认为......

  • $_POST CodeIgniter的安全性未经过清理(我对此有信心)

  • $this->input->post() 将对数据进行清理(在一定程度上),但不会应用任何表单验证准备规则

  • $this->form_validation->set_value()是一样的set_value(),但......

  • ... set_value()旨在通过value=""元素重新填充表单输入.

我的哪些假设是正确的,哪些是错的?$_POST当我使用表单验证准备数据时,我应该通过什么方式提取数据?就此而言,表单验证文档含糊不清.例如,没有一个例子表明它实际上将输入数据传递到模型上.

谢谢!

插口

php security post codeigniter

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

是否有任何简单的方法(最好是在Chrome中)看到启用SSL的页面上的哪些元素是不安全的?

我有一个安全页面正在运行,Chrome正在向我显示一个红色挂锁而不是绿色挂锁,表示页面上有不安全的元素.

我仔细研究了源代码,浏览了WebKit Inspector中的每个选项卡和每个项目 - 我找不到一个引用http://.

是否有任何WebKit Inspector工具/ Chrome扩展程序/简单的方法来找出哪些元素是insucure?或者您对哪些元素可能导致问题有任何建议?

我找到了这个扩展程序https://chrome.google.com/webstore/detail/hfoeodccbohfpgkldfcdknmlbbgmdcle,它在安全/不安全的元素周围绘制了一个绿色或红色的框 - 但执行起来相当差,并且无法看到什么是不安全的,因为我可以找不到那样的元素.

谢谢!

更新:奇怪的是,当我在隐身窗口中加载同一页面时,我开始获得绿色挂锁.我回到原来的窗口,尝试禁用每个Chrome扩展程序然后重新加载,但这没有任何区别.我认为这可能只是一个Chrome打嗝......

html ssl google-chrome google-chrome-extension

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

从逻辑上思考数据库结构:向用户发布的内容添加"标签" - 单独的表格或......?

我仍然开始关注整个关系数据库 - thingymawhatsit.无论如何,我是一个PHP程序员,所以我可以做所有那些shabang.我只需要考虑这个场景的最佳方法是什么......

我正在开发一个网站(如果有任何帮助,可以使用CodeIgniter) - 一个用户可以发布内容的网站(想想一个博客风格的东西).每个帖子都必须有标签,任意数量的标签,我不能仅限于3或5.这必须是无限的.

那我该怎么办?

  1. 将标签放在同一个数据库表中的帖子旁边,即'条目'包含'post','title'和'tags'(显然是'id')
  2. 将标记放在自己的表中,并将每个标记行链接到条目('s)'id'...?
  3. ......还有别的吗?

只需要知道最好的,最逻辑的结构方式.考虑桌子彼此沟通是令人困惑的......!

哦,以及任何有任何CodeIgniter片段的人的奖励积分可能会让我继续前进;)

谢谢!

插口

php mysql database database-design codeigniter

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

Laravel的Model :: create()函数没有设置自定义字段值

Laravel新手在这里,对不起,如果这很痛苦,但我已经坚持了很久!

目的:为了质量分配一个Quote::create()数据库插入与来自形成全值,加上用户ID设置为在用户当前登录.

问题:user_id列永远不会写入数据库.每隔一列,但user_id保持为0.

我当然尝试添加user_id$fillable数组中,但我不希望它是用户可填充的 - 我希望它由Laravel的Auth::id()函数设置.

任何想法为什么不会存储?是因为该$quote->create()函数不考虑先前设置的数据,只是将其参数作为要保存的所有内容?如果是这样,我该怎么做?

这是我的控制器的store()功能:

/**
     * Stores a created quote in the database
     *
     * @param QuoteRequest $request
     *
     */
    public function store(QuoteRequest $request)
    {
        // This method will only get fired if QuoteRequest passes
        $quote = new Quote;
        $quote->user_id = Auth::id();
        $quote->create($request->all());

        echo 'Job done';
    }
Run Code Online (Sandbox Code Playgroud)

这是我的Quote模特:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;
use …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-5

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