내가 설정 한 것은 PHP 배열을 사용하여 require_once()
PHP 파일을 기반으로하는 테이블을 출력하는 기본 페이지와 관리자 페이지 (위에서 언급 한 데이터를 쓰는 것으로 가정 됨)입니다. PHP 배열 파일) 및 배열이있는 PHP 파일. 관리자 페이지가 문제입니다. 난 그냥 fread
및 방금 정말 지저분 해 txt 파일을 다른 솔루션을 시도했다.PHP 배열에 다른 파일로 데이터 추가
저는 PHP가 좋지 않습니다. 내 관리자 페이지에서이 배열을 편집하려면 어떻게해야합니까?
코드 :
메인 페이지
<?php
require_once("sitesdb.php");
?>
<html>
<body style="text-align:center">
<div style="width:500px;background-color:ddd;padding:10px">
<table width="100%">
<tr bgcolor="gray">
<td>Domain Host</td>
<td>Prefix</td>
<td>Suffix</td>
</tr>
<? foreach ($sites as $row) : ?>
<tr bgcolor="white">
<td><? echo $row[0]; ?></td>
<td><? echo $row[1]; ?></td>
<td><? echo $row[2]; ?></td>
</tr>
<? endforeach; ?>
</table>
</div>
</body>
</html>
배열 파일
<?php
$sites = array(
array("POPNIC.COM", "uk", "pn"),
array("POPNIC.COM", "co.uk", "pn"),
...
array("SUBDOMAIN.COM", "aa6", "de"),
array("SUBDOMAIN.COM", "aa8", "de"),
);
?>
관리자 페이지
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Administration"');
header('HTTP/1.0 401 Unauthorized');
echo '404 - Unauthorized! Sorry about that.';
exit;
} else {
if ($_SERVER['PHP_AUTH_USER'] = "*****" && $_SERVER['PHP_AUTH_PW'] = "*****"){
if ($_POST['host'] && $_POST['prefix'] && $_POST['suffix']){
??????????????
}
?>
<html>
<head>
<title>Administration</title>
</head>
<body>
<h1>Administration</h1>
<h2>Add a Value</h2>
<form method="post" action="">
<label for="host">Domain Host: </label><br />
<input name="host" id="host" type="text" /><br />
<label for="prefix">Prefix: </label><br />
<input name="prefix" id="prefix" type="text" /><br />
<label for="suffix">Suffix: </label><br />
<input name="suffix" id="suffix" type="text" /><br />
<input type="submit" value="Add Value" /><br />
</form>
</body>
<?php
}
}
?>
UPDATE
나는 거의 가지고 있다고 생각합니다. 새 코드는 다음과 같습니다.
if ($_POST['host'] && $_POST['prefix'] && $_POST['suffix']){
$ins_host = $_POST['host'];
$ins_prefix = $_POST['prefix'];
$ins_suffix = $_POST['suffix'];
include_once("sitesdb.php");
array_push($sites, array($ins_host, $ins_prefix, $ins_suffix));
$file = fopen("sitesdb.php", "w");
$newdata = "<?php " . var_export($sites) . "?>";
fwrite($file, $newdata);
fclose($file);
}
데이터를 올바르게 쓰지 않습니다. 내가 뭔가를 바꿀 때마다 뭔가 다른 것이 잘못됩니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
실제로 원하는 작업은 무엇입니까? $ 사이트에서 일부 데이터를 누른 다음 나중에 액세스하겠습니까? 또는 sitesdb.php의 내용을 변경 하시겠습니까? –
sitesdb.php의 내용을 변경하고 싶습니다. admin.php가 제출 한 정보를 배열에 추가해야합니다. – ndm13
이 질문에 대해 "건설적이지 않은"것으로 간주되는 것이 확실하지 않습니다. 나는 파일에 PHP 코드를 쓰는 방법을 모르고'var-export'를 체크 아웃하고, 어리석은 실수를 한 후에 결국 그것을 해결했다. 다리 아래 물, 그것은 이미 대답을 가지고 있기 때문에,하지만 여전히. – ndm13