小编Lar*_*eep的帖子

如何在Javascript和PHP中验证非英语(UTF-8)编码的电子邮件地址?

我目前正在处理的网站的一部分包含用户必须提供其电子邮件地址的注册过程.就在最近,我意识到基于非ascii的域是可能的(电子邮件也是如此).我的后端是utf-8编码的MySQL,我期待任何用户(具有不同的语言环境)应该能够输入他们的电子邮件,但不知道如何验证这种电子邮件地址.

目前我正在测试jquery工具,它正确验证了英文电子邮件地址,但未能验证非ascii电子邮件.另外我需要在服务器端用php做同样的事情.是否有正则表达式可以验证此类电子邮件地址?

我试过这个,但它在jquery工具中失败了(这只是演示的例子,我也不明白)

闪闪发光@闪闪发光.COM

当他们用他们自己的IME键入他们的英文电子邮件地址(jonesmith@somemail.com)时会发生什么.这可以通过我们用于英文邮件验证的当前正则表达式进行验证.目前我不必担心该电子邮件是否存在.

谢谢

javascript php email utf-8 internationalization

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

需要有关OAuthException Code 2500的帮助

我正在尝试使用PHP开发一个Facebook应用程序(apps.facebook.com/some_app),我需要根据用户的音乐兴趣提供一些信息.我发现它在"user_likes>游戏"下.

我的问题如下:

  • 为了获得访问权限,我在我的索引页面中按照API中的建议实现了oauth对话框方法.

$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
            . $app_id . "&redirect_uri=" 
            . urlencode($canvas_page)
            ."&scope=user_likes";
Run Code Online (Sandbox Code Playgroud)
  • 成功授权后,我回到索引页面,以"代码"作为参数.

http://MY_CANVAS_PAGE/?code=some base64 encoded letters
Run Code Online (Sandbox Code Playgroud)
  • 首先,我不知道我是否需要access_token只是为了阅读用户的音乐兴趣,但我已经尝试了所有建议的方法.我无法从这一点前进
  • 我有一个像这样的代码(在我的索引页面中),如果没有设置代码参数,它会重定向授权.

if(empty($code) && !isset($_REQUEST['error'])) {
  $_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
  echo("<script> top.location.href='" . $auth_url . "'</script>");
}
Run Code Online (Sandbox Code Playgroud)
  • 目前我只是想在这里获取用户的公开信息,但没有成功.我按照建议尝试了signed_request方法,但没有成功

$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
echo ("Welcome User: " . $data["user_id"]);
Run Code Online (Sandbox Code Playgroud)
print_r($decoded_response);
Run Code Online (Sandbox Code Playgroud)
stdClass Object ( [error] => stdClass Object ( [message] => An active 
access token must be …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api facebook-apps facebook-access-token

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

htaccess强制执行"www"但允许子域访问

我到处寻找解决方案,但找不到我想要的确切解决方案.我不擅长htaccess的东西.需要一些帮助.

我已经在我的htaccess文件中强制执行了"www",当我尝试创建子域时它已经开始了.

我正在使用这个设置,我发现它到目前为止它没有子域工作正常.

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_Host} ^(www\.)?example\.net$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

创建子域后,它在前面添加"www"并重定向到主站点而不是子域.

For example: folder.domain.com -> becomes -> www.folder.domain.com (displayes the main site)
Run Code Online (Sandbox Code Playgroud)

我在这个htaccess中需要做什么修改?

  1. 强制执行"www".
  2. 如果它不是"www",也允许子域.
  3. 加上".net"中的subdomin网址也会重定向到".com"

顺便说一句,我的主要网站是在codeigniter,我也有这个:

RewriteCond $1 !^(index\.php|js|media|style)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

想在子文件夹上安装博客并将其用作子域名.

简单的方法是修改(添加"博客")

RewriteCond $1 !^(index\.php|js|media|style|blog)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

然后我访问它作为www.domain.com/blog

但我希望它整洁干净,以便控制器创建的URL不会与子文件夹冲突.可能不允许直接访问子文件夹.

谢谢

apache .htaccess mod-rewrite codeigniter

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

为什么 MySQL 容器在使用 WSL 2 的 Windows 10 家庭版上不断重新启动?

我正在尝试在本地计算机上设置 Laravel 开发环境,但我的 MySQL 容器不断重新启动。

使用:带有 WSL2 和 Docker 桌面的 Windows 10 家庭版

docker-compose.yml

version: '3'

networks:
    laravel:

services:

    web:
        image: nginx:stable-alpine
        container_name: nginx
        ports:
            - "80:80"
        volumes:
            - ./src:/var/www/html
            - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
        depends_on:
            - phpfpm
            - db
        networks:
            - laravel


    db:
        image: mysql:8.0.22
        container_name: mysql
        restart: always
        volumes:
            - ./mysql:/var/lib/mysql
        environment:
            MYSQL_DATABASE: mydb
            MYSQL_USER: root
            MYSQL_PASSWORD: root
            MYSQL_ROOT_PASSWORD: root
        networks:
            - laravel


    phpfpm:
        build:
            context: .
            dockerfile: Dockerfile
        container_name: phpfpm
        volumes:
            - ./src:/var/www/html
        ports:
            - "9000:9000"
        networks:
            - laravel


    phpmyadmin: …
Run Code Online (Sandbox Code Playgroud)

mysql docker docker-compose

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

Jquery $(this)子选择器因某些未知原因而无法正常工作

当父母徘徊时,我试图显示/隐藏子类.我在Jquery $(this)Child Selector中有多个类集.

由于某种未知的原因,它无法正常工作.

我拥有的是什么

<div class="parentitem">
    <div class="childitem">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

$("div.childitem").css({visibility: "hidden"});

$("div.parentitem").mouseenter(function(){
    $("div.childitem").css({visibility: "visible"});
});

$("div.parentitem").mouseleave(function(){
    $("div.childitem").css({visibility: "hidden"});
});
Run Code Online (Sandbox Code Playgroud)

这有效但所有孩子都受到影响.我想要的只是影响特定的div及其孩子

我试着用

$(this).children("div.childitem").css({visibility: "visible"});

$(this).parent().children("div.childitem").css({visibility: "visible"});

$(this).next("div.childitem").css({visibility: "visible"});
Run Code Online (Sandbox Code Playgroud)

这些都不是出于某种原因.

有人能指出我哪里出错了.

谢谢

迪帕克

css jquery children css-selectors

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