RDLyTN
01-14-2012, 03:37 PM
Hi,
When I try to add a new page by clicking on a button, it won't work. The new page is added in the database but not in my menu. What's the problem?
----> CREATE_PAGE.PHP <----
<?php require_once("includes/connection.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php
$errors = array();
$required_fields = array('menu_name', 'position', 'visible', 'content');
foreach($required_fields as $fieldname) {
if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])) {
$errors[] = $fieldname;
}
}
$fields_with_lengths = array('menu_name' =>30);
foreach($fields_with_lengths as $fieldname => $maxlength) {
if(strlen(trim(mysql_prep($_POST[$fieldname]))) > $maxlength) {
$errors[] = $fieldname;
}
}
if(!empty($errors)) {
redirect_to('new_page.php');
}
?>
<?php
$menu_name = mysql_prep($_POST['menu_name']);
$position = mysql_prep($_POST['position']);
$visible = mysql_prep($_POST['visible']);
$content = mysql_prep($_POST['content']);
?>
<?php
$query = "INSERT INTO pages (
menu_name, position, visible, content
) VALUES (
'{$menu_name}', {$position}, {$visible}, '{$content}'
)";
$result = mysql_query($query, $connection);
if($result) {
redirect_to('content.php');
} else {
echo "<p>Page creation failed.</p>";
echo "<p>" . mysql_error() . "</p>";
}
?>
<?php mysql_close($connection); ?>
----> NEW_PAGE.PHP <----
<?php require_once("includes/functions.php"); ?>
<?php require_once("includes/connection.php"); ?>
<?php find_selected_page(); ?>
<?php include("includes/header.php"); ?>
<?php if(!isset($new_page)) { $new_page = false; } ?>
<table id="structure">
<tr>
<td id="navigation">
<?php echo navigation($sel_subject, $sel_page); ?>
</td>
<td id="page">
<h2>Add new page</h2>
<?php if(!empty($message)) { echo "<p class=\"message\">" . $message .
"</p>"; } ?>
<?php if(!empty($errors)) { display_errros($errors); } ?>
<form action="create_page.php?subj=<?php echo $sel_page['id']; ?>" method="post">
<?php $new_page = true; ?>
<p>Page name:
<input type="text" name="menu_name" value="" id="menu_name" />
</p>
<p>Position:
<select name="position">
<?php
if(!$new_page) {
$page_set = get_pages_for_subject($sel_page['subject_id']);
$page_count = mysql_num_rows($page_set);
} else {
$page_set = get_pages_for_subject($sel_subject['id']);
$page_count = mysql_num_rows($page_set) + 1;
}
for($count=1; $count <= $page_count; $count++) {
echo "<option value=\"{$count}\"";
if($sel_page['position'] == $count) { echo " selected"; }
echo ">{$count}</option>";
}
?>
</select>
</p>
<p>Visible:
<input type="radio" name="visible" value="0"<?php if($sel_page['visible'] == 0) { echo " checked"; }
?> /> No
<input type="radio" name="visible" value="1"<?php
if($sel_page['visible'] == 1) { echo " checked"; }
?> /> Yes
</p>
<p>Content:<br />
<textarea name="content" rows="20" cols="80"><?php echo $sel_page['content'];
?></textarea>
</p>
<input type="submit" name="submit" value"Add Page" />
</form>
<br />
<a href="edit_subject.php?subj=<?php echo $sel_subject['id'];
?>">Cancel</a><br />
</td>
</tr>
</table>
<?php require("includes/footer.php"); ?>
When I try to add a new page by clicking on a button, it won't work. The new page is added in the database but not in my menu. What's the problem?
----> CREATE_PAGE.PHP <----
<?php require_once("includes/connection.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php
$errors = array();
$required_fields = array('menu_name', 'position', 'visible', 'content');
foreach($required_fields as $fieldname) {
if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])) {
$errors[] = $fieldname;
}
}
$fields_with_lengths = array('menu_name' =>30);
foreach($fields_with_lengths as $fieldname => $maxlength) {
if(strlen(trim(mysql_prep($_POST[$fieldname]))) > $maxlength) {
$errors[] = $fieldname;
}
}
if(!empty($errors)) {
redirect_to('new_page.php');
}
?>
<?php
$menu_name = mysql_prep($_POST['menu_name']);
$position = mysql_prep($_POST['position']);
$visible = mysql_prep($_POST['visible']);
$content = mysql_prep($_POST['content']);
?>
<?php
$query = "INSERT INTO pages (
menu_name, position, visible, content
) VALUES (
'{$menu_name}', {$position}, {$visible}, '{$content}'
)";
$result = mysql_query($query, $connection);
if($result) {
redirect_to('content.php');
} else {
echo "<p>Page creation failed.</p>";
echo "<p>" . mysql_error() . "</p>";
}
?>
<?php mysql_close($connection); ?>
----> NEW_PAGE.PHP <----
<?php require_once("includes/functions.php"); ?>
<?php require_once("includes/connection.php"); ?>
<?php find_selected_page(); ?>
<?php include("includes/header.php"); ?>
<?php if(!isset($new_page)) { $new_page = false; } ?>
<table id="structure">
<tr>
<td id="navigation">
<?php echo navigation($sel_subject, $sel_page); ?>
</td>
<td id="page">
<h2>Add new page</h2>
<?php if(!empty($message)) { echo "<p class=\"message\">" . $message .
"</p>"; } ?>
<?php if(!empty($errors)) { display_errros($errors); } ?>
<form action="create_page.php?subj=<?php echo $sel_page['id']; ?>" method="post">
<?php $new_page = true; ?>
<p>Page name:
<input type="text" name="menu_name" value="" id="menu_name" />
</p>
<p>Position:
<select name="position">
<?php
if(!$new_page) {
$page_set = get_pages_for_subject($sel_page['subject_id']);
$page_count = mysql_num_rows($page_set);
} else {
$page_set = get_pages_for_subject($sel_subject['id']);
$page_count = mysql_num_rows($page_set) + 1;
}
for($count=1; $count <= $page_count; $count++) {
echo "<option value=\"{$count}\"";
if($sel_page['position'] == $count) { echo " selected"; }
echo ">{$count}</option>";
}
?>
</select>
</p>
<p>Visible:
<input type="radio" name="visible" value="0"<?php if($sel_page['visible'] == 0) { echo " checked"; }
?> /> No
<input type="radio" name="visible" value="1"<?php
if($sel_page['visible'] == 1) { echo " checked"; }
?> /> Yes
</p>
<p>Content:<br />
<textarea name="content" rows="20" cols="80"><?php echo $sel_page['content'];
?></textarea>
</p>
<input type="submit" name="submit" value"Add Page" />
</form>
<br />
<a href="edit_subject.php?subj=<?php echo $sel_subject['id'];
?>">Cancel</a><br />
</td>
</tr>
</table>
<?php require("includes/footer.php"); ?>