2015-09-03 4 views
1

Что я хочу сделать, когда пользователь нажимает кнопку html, я хочу динамически создать новую веб-страницу на сервере. Мне нужен URL-адрес новой веб-страницы, чтобы иметь собственный URL-адрес, то есть он должен отличаться друг от друга.Как создать новую .html-страницу onclick?

Подробнее: Когда пользователь нажимает кнопку, я хочу загрузить на сервер новый .html-файл. Так, например, если у меня есть сайт под названием www.check.com/index.html, когда пользователь нажимает кнопку в index.html, мне нужно создать новый .html, содержащий некоторые html-строки (но не CSS, ничего не будет показан на странице). Поэтому, когда пользователь нажимает кнопку, я хочу, чтобы файл загружался на сервер с уникальным URL-адресом, например, www.check/1.html, во второй раз это будет check.com/2.html и т. Д. I «отлично, когда это 1.html, 2.html и так далее.

код Javascript:

function makePage(){ 
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.onreadystatechange = function(){ 
if(xmlhttp.readyState==4 && xmlhttp.status==200) 
    alert("webpage " + xmlhttp.responseText + " was successfully created!"); 
} 
var content = "<html><head></head><body><meta name=\"twitter:card\" content=\"summary_large_image\"><meta name=\"twitter:site\" content=\"@nytimes\"><meta name=\"twitter:creator\" content=\"@SarahMaslinNir\"><meta name=\"twitter:title\" content=\"Parade of Fans for Houston’s Funeral\"><meta name=\"twitter:description\" content=\"Blah Blah Blah content.\"><meta name=\"twitter:image\" content=\"\"><script>document.getElementById(\"imgTweet\").innerHTML.write(img);</script></body></html>"; 
xmlhttp.open("GET","makePage.php?content=" + content,true); 
xmlhttp.send();} 

'IMG' является переменной в другую страницу шахты. Веб-страница, созданная кодом, не выполняется.

+3

Итак, вам нужно 3 вещи. (1) Кнопка HTML и JS-код для доступа к скрипту PHP через AJAX. (2) PHP-скрипт, который получает автоинкрементный номер из БД, создает и HTML-файл и сохраняет его с использованием автоинкрементного номера. (3) База данных с одной таблицей и одним полем с автоинкрементным идентификатором. – MonkeyZeus

+0

Вы используете рамки? .. Это позволяет создавать страницы на основе переменных URL. похоже, вам нужно будет начать там. Laraval, кажется, популярен, но еще лучше найти видеоурок в области MVC для создания собственной упрощенной версии, чтобы вы узнали некоторые основы. – Daniel

ответ

3

Вы должны использовать AJAX для выполнения php. Создание нового файла в php действительно просто с file_put_contents().

вот пример:
makePage.html:

<html> 
    <body> 
    <button onclick="makePage()">click</button> 
    <script src="makePage.js"> 
    </script> 
    </body> 
    </html> 

makePage.php:

<?php 
$content = $_GET["content"]; 
$file = uniqid() . ".html"; 
file_put_contents($file, $content); 
echo $file; 
?> 

makePage.js

function makePage(){ 
    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function(){ 
    if(xmlhttp.readyState==4 && xmlhttp.status==200) 
     alert("webpage " + xmlhttp.responseText + " was successfully created!"); 
    } 
    var content = "<html><head><meta charset=\"utf-8\" /> </head><body>new website<script>alert(\"test\")</script></body></html>"; 
    xmlhttp.open("GET","makePage.php?content=" + content,true); 
    xmlhttp.send(); 
} 

надеюсь, что это поможет

+0

Спасибо! Не могли бы вы добавить скрипт AJAX? – Ahan

+0

Сценарий AJAX включен в «makePage.html» – Tigert

+0

Хорошо, я попробую ваш метод. Я добавил немного к вопросу. – Ahan

Смежные вопросы