Php 为什么不是';t文件\u放置\u内容创建页面?

Php 为什么不是';t文件\u放置\u内容创建页面?,php,Php,我正在编写一些代码,为我的网站上的页面生成一些随机URL。我的目的是让用户在创建页面后重定向到他们刚刚创建的页面,但他们会被转发到“switch”,这是一个php代码,它根据按下哪个单选按钮来确定启动哪个函数。这是我的页面,允许他们“上传”到我的网站: <html> <head> <link rel="stylesheet" type="text/css" href="/style.css"> <title> Learning M

我正在编写一些代码,为我的网站上的页面生成一些随机URL。我的目的是让用户在创建页面后重定向到他们刚刚创建的页面,但他们会被转发到“switch”,这是一个php代码,它根据按下哪个单选按钮来确定启动哪个函数。这是我的页面,允许他们“上传”到我的网站:

<html>
<head>
<link rel="stylesheet" type="text/css" href="/style.css">
    <title> 
    Learning Made Easy
    </title>
</head>
<body>

    <?php include_once 'googleanalytics.php'; ?>

<a href="http://terrythetutor.com">
    <div class="banner"> </div>
</a>

<?php include 'menu.php'; ?>

<div class="content">
</br>
</br>
</br>
    <form action="../scripts/switch.php" method="post">
    Title: 
    </br><input type="text" name="Title">
</br>
</br>
</br>
    Summary of the video (including questions used in the video): 
    </br><textarea name="Summary" COLS=60 ROWS=10></textarea>
</br>
</br>
</br>
    URL of the video (Yes, this means you need to upload it to an external website.): 
    </br><input type="text" name="URL">
    </br>
    </br>
    Which course does your video pertain to?</br>
    <input type="radio" name="course" value="intermediate"> Intermediate and below</br>
    <input type="radio" name="course" value="college"> College Algebra</br>
    <input type="radio" name="course" value="precalculus"> PreCalculus</br>
    <input type="radio" name="course" value="trigonometry"> Trigonometry</br>
    <input type="radio" name="course" value="calculus I"> Calculus I</br>
    <input type="radio" name="course" value="calculus II"> Calculus II</br>
    <input type="radio" name="course" value="calculus III"> Calculus III</br>
    <input type="radio" name="course" value="differential equations"> Differential Equations</br>
    </br>
    </br>
    <input type="submit" value="Submit, foo!">
    </form>
</br>
</br>
</br>
<p>
Please understand that you will not be able to change the title, summary, or URL of your video after submission.
</p>


</div>

<div class="footer">
    <?php include 'footer.php'; ?>
</div>


</body>

</html>

学习变得容易



标题:



视频摘要(包括视频中使用的问题):



视频的URL(是的,这意味着您需要将其上载到外部网站):


你的视频与哪门课程有关
中级及以下
大学代数
前积垢
三角学
微积分I
微积分II
微积分III
微分方程





请理解,提交后您将无法更改视频的标题、摘要或URL。

那一块很好用。之后,它们被重定向到“switch.php”。你已经知道它的作用了

<?php
    if (isset($_POST['course']) && $_POST['course'] == 'intermediate') {
        include('storeintermediate.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'college') {
         include('step2a.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'precalculus') {
        include('replace.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'trigonometry') {
        include('replace.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'calculus I') {
        include('replace.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'calculus II') {
        include('replace.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'calculus III') {
        include('replace.php');
    } elseif (isset($_POST['course']) && $_POST['course'] == 'differential equations') {
        include('replace.php');
      }
 ?>

从那里,我们转到storeintermediate.php,在那里我可以获取所有变量,将它们存储在数据库中,使用模板格式创建一个随机生成的新页面,并提取它们上载的视频的URL

<?php
// Create connection
$con = mysqli_connect("*******","******","************","*");
$IP = $_SERVER['REMOTE_ADDR'];
$IP = mysqli_real_escape_string($con, $IP);
$Title = mysqli_real_escape_string($con, $_POST[Title]);
$Summary = mysqli_real_escape_string($con, $_POST[Summary]);
$URL = mysqli_real_escape_string($con, $_POST[URL]);


$number = mt_rand(100,99999999); // see $new_url

$nospace = str_replace(' ', '_', $Title); // to enable URL friendly titles

$new_url = $number . $nospace ;  // to ensure that each URL is unique

$data = include( '../template.php');

$embed_URL = substr( $URL, -11);

file_put_contents("../videos/" . $new_url, $data, FILE_APPEND) ;


// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

  $sql="INSERT INTO `Intermediate Algebra` (Title, URL, IP, Summary)
VALUES 
('$Title','$URL','$IP','$Summary')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }

header('Location: http://terrythetutor.com/'.$new_url);

?>


include(“../template.php”)
的返回值与您想象的不同
include
不返回包含的文件输出的内容,它返回包含的文件返回的内容,或者如果文件范围中不包含
return
语句,则返回
1

include(../template.php)的返回值与您想象的不同
include
不返回包含的文件输出的内容,它返回包含的文件返回的内容,或者如果文件范围中不包含
return
语句,则返回
1

include(../template.php)的返回值与您想象的不同
include
不返回包含的文件输出的内容,它返回包含的文件返回的内容,或者如果文件范围中不包含
return
语句,则返回
1

include(../template.php)的返回值与您想象的不同
include
不返回包含的文件输出的内容,它返回包含的文件返回的内容,或者如果文件范围中不包含
return
语句,则返回
1

不是每次都创建新文件,而是使用框架(在不创建其他文件的情况下处理路由和不同的页面URL)或使用基本的
page.php
,它将根据URL参数显示内容(因此您的URL类似于
page.php?page=some\page\u id
)。要写的正是@André所说的。你不需要这样创建页面,而是将数据存储在数据库中,然后加载与目标URL匹配的数据(使用模板)。此外,你发布的代码有很多错误(例如,URL友好的代码片段、混合关注点),因此我郑重建议您研究现有的框架之一(例如)@nietonfir代码有什么问题?什么是URL友好型代码段和“混合关注点”?@André使用模板页面,创建另一个具有唯一数据的页面,并将所有内容组合在一起的好方法是什么?据我所知,“include”函数不适用于导入模板……那么……什么?@user2666324您不需要“创建页面”是指您创建一个文件。您可以根据请求使用数据填充模板。用下划线替换空白不足以创建正确的URL。其他字符如?、&、#、…如何,而不是每次使用框架创建一个新文件(在不创建其他文件的情况下处理路由和不同的页面URL)或使用基本的
page.php
,它将根据URL参数显示内容(因此您的URL类似于
page.php?page=some\page\u id
)。要写的正是@André所说的。你不需要这样创建页面,而是将数据存储在数据库中,然后加载与目标URL匹配的数据(使用模板)。此外,你发布的代码有很多错误(例如,URL友好的代码片段、混合关注点),因此我郑重建议您研究现有的框架之一(例如)@nietonfir代码有什么问题?什么是URL友好型代码段和“混合关注点”?@André使用模板页面,创建另一个具有唯一数据的页面,然后将所有内容组合在一起,这是一种好方法?据我所知,“include”函数不适用于导入模板……那么……什么?@user2666324你没有?”创建一个页面“itm”您可以创建一个文件。您可以根据请求使用数据填充模板。用下划线替换空白不足以创建正确的URL。其他字符如?、&、#、…如何,而不是每次使用框架创建一个新文件(在不创建其他文件的情况下处理路由和不同的页面URL)或使用基本的
page.php
,它将根据URL参数显示内容(因此您的URL类似于
page.php?page=some\page\u id
)。要写的正是@André所说的。你不需要这样创建页面,而是将数据存储在数据库中,然后加载与目标URL匹配的数据(使用模板)。此外,你发布的代码有很多错误(例如,URL友好的代码片段、混合关注点),因此我郑重建议您研究现有的框架之一(例如)。@nietonfir有什么问题