だから私は興味深い問題を抱えています
jquery .load() 関数に問題があります。私は次のようなファイル構造を持っています
index.php
|
|---header.html
|---body.html
|---footer.html
index.php は 3 つの変数を次のように設定します。$variable_one = new Database('passedQuery');
次に、header.html、body.html、および footer.html が index.php に含まれます。
body.html には、次のようなものがあります
<div class="span4 well">
<h3>Current Statistics</h3>
<hr>
<table class="table table-striped">
<thead>
<tr>
<th>Users</th>
<th>Event One</th>
<th>Event Two</th>
<th>Event Three</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $var1->result[0][0]; ?></td>
<td><?php echo $var2->result[0][0]; ?></td>
<td><?php echo $var3->result[0][0]; ?></td>
</tr>
</tbody>
</table>
</div>
また、汎用の jquery 関数を介して送信される body.html にフォームもあります。
$(document).ready(function(){
$('.btn').bind('click', function(e){
e.preventDefault();
var form = $(this).parents('form');
var vals = $(form).serialize();
var form_id = $(form).attr('id');
$.ajax({
url: $(form).attr('action'),
type: $(form).attr('method'),
data: vals,
dataType: 'json',
success: function(data){
console.log("Success");
$('#information').html('<div class="alert alert-success">Great Success! :)</div>');
setTimeout(function() {
$('#content').load('views/partials/body.html');
}, 5000);
},
error: function(a, b, c){
console.log("Error");
$('#information').html('<div class="alert alert-error">Epic Failure</div>');
setTimeout(function() {
$('#content').load('views/partials/body.html');
}, 5000);
}
});
});
});
フォームを送信して本文をリロードすると、html でエコーされた PHP 変数がなくなり、次のような apache エラーが発生します。
[dateTime] [error] [client IP] PHP Notice: Undefined variable: variable in /path/to/body.html on line 133, referer: myReferrer
私はこれについて何人かの友人に尋ねましたが、Freenode の #jquery と同様に、全員が困惑していました。誰にもアイデアはありますか?
更新 - フォーム コードと index.php コード フォーム
<div class="span4 well">
<form class="form-horizontal" id="admin_add" name="admin_add" method="post" action="routes/to/add_admin.php">
<fieldset>
<legend>Add Administrator</legend>
<div class="control-group">
<label class="control-label" for="select03">Select a user</label>
<div class="controls">
<select id="select03" name="user">
<?php
foreach($var1->result as $key => $value)
echo "<option>".$value[0]."</option>";
?>
</select>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary form-submit-button">Submit</button>
</div>
</fieldset>
</form>
</div>
索引
$var2 = new Database('query', 'SELECT COUNT(uid) FROM attendees WHERE eid = 1');
$var3 = new Database('query', 'SELECT COUNT(uid) FROM attendees WHERE eid = 2');
/**
* List users to add to database
*/
$var1 = new Database('query', 'SELECT name FROM users WHERE admin=0');
/**
* Include all the visuals
*/
include('views/partials/header.html');
require_once('views/partials/body.html');
include('views/partials/footer.html');