isset($ _ POST [""])工作但不如我预期的那么多

时间:2014-07-20 20:16:08

标签: php forms str-replace

我做了一个“简单”页面制作工具,它将表格与占位符合并,并使用PHP替换信息并将页面提交到网站,但它适用于名称,类型和描述,但其他不是工作,我以同样的方式制作它们。 (见:http://www.swordsdb.url.ph/) 我使用的代码是:

addpage.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Página Administrativa</title>
    </head>
    <body>

        <form action="process.php" method="post" id="dados">
            Título:<input type="text" name="title" /><br />
            Nome:<input type="text" name="name" /><br />
            Imagem: "Em Construção" <br />
            Tipo:
            <select name="type">
                <option value="1">Item normal</option>
                <option value="2">Item usável</option>
                <option value="3">Item de Quest</option>
                <option value="4">Material</option>
                <option value="5">Gift/Presente</option>
            </select><br />
            Buy/Sell:<input type="text" name-"buysell" /><br />
            Descrição:<textarea name="description" form="dados" cols="40" rows="2"></textarea><br />
            Dropmonster(1):<input type="text" name-"drmon1" /><br />
            Dropmonster(2):<input type="text" name-"drmon2" /><br />
            <input type="submit" value="Enviar"/><br />
        </form>

    </body>
</html>

process.php

<?php
$null = "Nenhum(a)";
if (isset($_POST["title"])) {
    $data["title"] = $_POST["title"];
} //*Fim da titulação
if (isset($_POST["name"])) {
    $data["name"] = $_POST["name"];
} //*Fim da nomeação
if (isset($_POST["image"])) {
    $data["image"] = $_POST["image"];
} else {
    $data["image"] = $null;
} //*Fim da Imagem
if (isset($_POST["type"])) {
    $data["type"] = $_POST["type"];
    if ($data["type"] == 1) {
        $data["type"] = "Item normal";
        $members_path = "pages/normal/"; //*Diretório dos Itens Normais
    } elseif ($data["type"] == 2) {
        $data["type"] = "Item usável";
        $members_path = "pages/usable/"; //*Diretório dos Itens Usáveis
    } elseif ($data["type"] == 3) {
        $data["type"] = "Item de Quest";
        $members_path = "pages/quest/"; //*Diretório dos Itens de Quest
    } elseif ($data["type"] == 4) {
        $data["type"] = "Material";
        $members_path = "pages/material/"; //*Diretório dos Materiais
    } elseif ($data["type"] == 5) {
        $data["type"] = "Gift/Presente";
        $members_path = "pages/gift/"; //*Diretório dos Gifts
    }
} //*Fim da Nomeação do Type
if (isset($_POST["buysell"])) {
    $data["buysell"] = $_POST["buysell"];
} else {
    $data["buysell"] = $null;
} //*Fim da inserção de valores

if (isset($_POST["description"])) {
    $data["description"] = $_POST["description"];
} else {
    $data["description"] = $null;
} //*Fim da descrição
if (isset($_POST["drmon1"])) {
    $data["drmon1"] = $_POST["drmon1"];
    echo $data["drmon1"];
} else {
    $data["drmon1"] = $null;
} //*Fim do DropMob1
if (isset($_POST["drmon2"])) {
    $data["drmon2"] = $_POST["drmon2"];
    echo $data["drmon2"];
} else {
    $data["drmon2"] = $null;
} //*Fim do DropMob2

$placeholders = array(
    "{title}",
    "{name}",
    "{image}",
    "{type}",
    "{buysell}",
    "{description}",
    "{drmon1}",
    "{drmon2}"
);
$tpl_file     = "placeholder.php"; //*Página de Template
$tpl_path     = ""; //*Diretório do Template
$tpl          = file_get_contents($tpl_path . $tpl_file);
sleep(1);
$new = str_replace($placeholders, $data, $tpl);
sleep(1);
$html_file_name = $data['name'] . ".html";
$fp             = fopen($members_path . $html_file_name, "w");
fwrite($fp, $new);
fclose($fp);
header('Location: ' . $members_path . $data["name"] . '.html');
?>

你可以看到它有点工作:http://www.http://swordsdb.url.ph/

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

我在你的文件中注意到的第一件事是 - 符号而不是表格中的=符号。这可能就是为什么帖子数据没有通过

Buy/Sell: <input type="text" name-"buysell" /><br />
Dropmonster(1): <input type="text" name-"drmon1" /><br />
Dropmonster(2): <input type="text" name-"drmon2" /><br />

尝试将其更改为

Buy/Sell: <input type="text" name="buysell" /><br />
Dropmonster(1): <input type="text" name="drmon1" /><br />
Dropmonster(2): <input type="text" name="drmon2" /><br />

我没有把它拉到一个工作区域,但是我会在php文件中开始你的大部分帖子信息。