Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将文本框内的多个链接发布到另一个页面,并分别插入mysql_Php_Html_Mysql - Fatal编程技术网

Php 将文本框内的多个链接发布到另一个页面,并分别插入mysql

Php 将文本框内的多个链接发布到另一个页面,并分别插入mysql,php,html,mysql,Php,Html,Mysql,我有一个php文件中的html表单,其中有一个文本框,用户可以在其中发布多个链接。假设 www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm www.4shared.com/video/UryixZ7l/Pupp

我有一个php文件中的html表单,其中有一个文本框,用户可以在其中发布多个链接。假设

www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm
www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm
www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm
www.4shared.com/video/UryixZ7l/Puppy_loves_ringtones.htm
<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
这里有四个链接。如果我提交表单并将数据发送到目标页面,那么它会将整个文本框(假设名为“links”)计算为一个字符串,并将其所有数据发送到它应该发送的数据库中。但是我想把这些链接和数据一起发送到数据库中,比如uid,要提交4次的名称,也就是说,在一个条目上有四个链接,名称和id在一行,链接的数量是原来的四倍。我怎样才能做到这一点

在我得到作者的更多信息后,我编辑了这篇文章

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
假设您使用的是用户可以在其中输入信息的文本区域,您可以使用PHP处理该信息:

<form action="mytarget.php" method="post">
    <textarea name="urls"></textarea>
</form>
<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>

假设用户在PHP上每行输入一个URL:

$data = explode("\n", $_POST['urls']);
if(count($data) > 0) {
    foreach($data as $url) {
        echo $url . "<br />";
    }
}
<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
$data=explode(“\n”,$\u POST['url']);
如果(计数($data)>0){
foreach($url形式的数据){
回显$url。“
”; } }

也许这就是你要找的机器人P

对不起,我一直在试图找出一种仅使用文本区域的技术:

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
这确实使用了jQuery,我不确定您是否希望这样做。如果愿意,您可以轻松地将其转换为javascript

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>

$(文档).ready(函数(){
$('textarea')。在('focusout',function()上{
var text=$('textarea').val();
var分隔符=“,”;
$('textarea').val(文本+分隔符);
});
});
这样做的目的是,当用户将焦点放在textarea之外时,在每个url的末尾添加一个逗号(选择您想要的事件,我不希望您使用focusout),以便在提交表单时,您可以分解textareas文本并获取url并将其存储在单独的变量中

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
正则表达式希望url始终以.htm结尾,因此如果您需要其他url结尾,请添加到正则表达式中

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
这将在每个focusout事件后添加分隔符,即使它只是纯文本(即不是有效的url)。但是,一旦你已经分解了(文本我的意思是:D),你就可以检查它,这是一个很好的方法来清理你的数据,以确保你得到的是有效的URL

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>
希望这能有所帮助

<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>

另外,分隔符可以是任何东西,即新行最好
\n
,只需记住在
explode()
中使用相同的分隔符,即
explode(“\n”,$\u POST[url])

我正在使用表单:(非常传统的一个没有jquery,我以值为4链接为例,它可以是用户输入的任意数量。我看到它是一个用户输入,好吧,你得到了什么类型的输入,这是一个文本区域吗?但他必须以某种方式强制用户将每个链接放在一个新行上。想知道如何做…你可以使用preg_mat要匹配您允许的所有扩展名,然后在该扩展名后分解结果并将其存储在数组中?或者,实际上,为什么不在文本框中用逗号或行分隔每个链接,那么您只需要在该逗号上分解并存储在单独的变量中。所有链接始终以“.htm”结尾?是否由您生成链接r从其他地方获取?@A7O谢谢你的回复。现在不是关于匹配扩展名的问题。问题是如何将这些扩展名分成四个部分,或者如何告诉php这样做,并提交四个或尽可能多的链接。有时,值会进入数据库。请查看:
<script>
    $(document).ready(function() {

        $('textarea').on('focusout', function() {
            var text = $('textarea').val();

            var delimiter = ",";

            $('textarea').val(text + delimiter);

        });

    });
</script>