我有一个表单,允许用户输入"标题","描述"等信息。
的index.php
<form action="action.php" method="POST">
<p>Video Title</p> <input type="text" name="title"> <br>
<p>Video Link</p> <input type="text" name="Link"> <br>
<p>Description</p> <input type="text" name="desc"> <br>
<p>Page Name</p> <input type="text" name="pagename"> <br>
<input type="submit" value="Submit">
</form>
但我将表单信息发送到action.php,它复制了video.php(VideoPlayer页面)
ACTION.PHP
<?php
$title = htmlspecialchars($_POST['title']);
$link = htmlspecialchars($_POST['link']);
$desc = htmlspecialchars($_POST['desc']);
$pgname = htmlspecialchars($_POST['pagename']);
copy('video.php', $pgname . '.html');
$myFile = $pgname . '.html';
$ch = curl_init($myFile);
$output = curl_exec($ch);
?>
VIDEO.PHP
` <title><?php echo $_POST["$title"]; ?></title>`
<?php
echo '<source src="'.$link.'" type="video/mp4">' ?>
如何从action.php获取变量,例如$ title和$ pgname到video.php。
页面必须重复,以便我可以使用原件。
答案 0 :(得分:1)
如何从action.php获取变量,如$ title和$ pgname 进入video.php。
将变量从一个php
脚本传递到另一个$_SESSION,即:
<强> action.php的强>
<?php
session_start();
$_SESSION['title'] = htmlspecialchars($_POST['title']); //some title
<强> video.php 强>
<?php
session_start();
echo $_SESSION['title'];
//some title
答案 1 :(得分:1)
您需要在curl函数中发布变量。
将您的vars转换为查询字符串:
foreach($_POST as $key=>$value) {
$post_string .= $key.'='.$value.'&';
}
rtrim($post_string, '&');
然后添加到你的卷曲设置:
curl_setopt($ch,CURLOPT_POST, count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS, $post_string);
你的video.php副本必须是一个php文件!
copy('video.php', $pgname . '.php');
$myFile = $pgname . '.php';
有关完整示例,请参阅 https://davidwalsh.name/curl-post
答案 2 :(得分:1)
如果要将代码用于action.php范围内的变量,请按照markt answer 如果您想从action.php重定向到video.php页面,请关注Pedro Lobito答案。
请注意,您可以在action.php中使用此代码获得相同的实际代码结果:
(...)
$desc = htmlspecialchars( $_POST['desc'] );
include( 'video.php' );
但可能你不想那样。根据你的评论:
我想把它永久化,所以它可以存档......
您的代码或答案都不会使您的特定视频页面成为永久性的:它们只是将现有的PHP代码复制到新文件中,而不会存储有关特定视频的任何信息。
要做到这一点,你必须使用不同的方法。像这样的东西(action.php):
$title = htmlspecialchars( $_POST['title'] );
$link = htmlspecialchars( $_POST['link'] );
$desc = htmlspecialchars( $_POST['desc'] );
$pgname = htmlspecialchars( $_POST['pagename'] );
$html = <<<EOT
<!DOCTYPE html>
<html>
<head>
<title>$title</title>
</head>
<body>
<p>$desc</p>
<source src="$link" type="video/mp4">
</body>
</html>
EOT;
$myFile = $pgname . '.html';
if( ! file_put_contents( $myFile, $html ) )
{
die( "Error saving $myFile" );
}
else
{
header( 'Location: $myFile' );
exit;
}
简而言之,您使用适当的视频数据(标题,链接,说明)设置变量(我使用Heredoc语法之上),然后将其保存在新文件中并将用户重定向到新文件位置。< / p>