къде е грешката в кода ми за настройки

dunix

Registered
Ето това ми е кода за настройки. Къде ми е грешката, че ми дава бяла страница ?
Код:
<?php 
include ("../config.php"); 
if (!$_POST['submit']) { 
$our = mysql_query("SELECT * FROM `setings`");
while($r=mysql_fetch_array($our)){ 
?> 
<form method='POST' action="settings.php"> 
Име на сайта <input type='text' name='sitename' value='<?php echo $r['sitename']; ?>'><br /> 
Описание <input type='text' name='article' value='<?php echo $r['article']; ?>'><br /> 
Страници за показване <input type='text' name='stranici' value='<?php echo $r['stranici']; ?>'><br /> 
Символи за показване на залгавията на темите <input type='text' name='title_char' value='<?php echo $r['title_char']; ?>'><br /> 
Символи за показване на темите <input type='text' name='news_char' value='<?php echo $r['news_char']; ?>'><br />
<input type='submit' name='submit' value='Запиши'><br /> 
</form> 
<?php
} 
} 
else{ 
$sitename=htmlspecialchars($_POST['sitename']); 
$article=htmlspecialchars($_POST['article']); 
$stranici=htmlspecialchars($_POST['stranici']);
$title_char=htmlspecialchars($_POST['title_char']);
$news_char=htmlspecialchars($_POST['news_char']);
echo ("Успешно променихте настройките!"); 
$update = mysql_query("Update `setings` set sitename = '$sitename', article = '$article', stranici = '$stranici', title_char = '$title_char', news_char = '$news_char'"); 
} 
?>
 
Като натиснеш бутона или преди това?

Код:
<?php
include ("../config.php");
if (!$_POST['submit']) {
    $our = mysql_query("SELECT * FROM `setings`") or die(mysql_error());
    while ($r = mysql_fetch_array($our)) {
?> 
        <form method='POST' action="settings.php">         
            Име на сайта <input type='text' name='sitename' value='<?php echo $r['sitename']; ?>'><br /> 
            Описание <input type='text' name='article' value='<?php echo $r['article']; ?>'><br /> 
            Страници за показване <input type='text' name='stranici' value='<?php echo $r['stranici']; ?>'><br /> 
            Символи за показване на залгавията на темите <input type='text' name='title_char' value='<?php echo $r['title_char']; ?>'><br /> 
            Символи за показване на темите <input type='text' name='news_char' value='<?php echo $r['news_char']; ?>'><br /> 
            <input type='submit' name='submit' value='Запиши'><br />         
        </form>         
<?php
    }
} else {
    $sitename = htmlspecialchars($_POST['sitename']);
    $article = htmlspecialchars($_POST['article']);
    $stranici = htmlspecialchars($_POST['stranici']);
    $title_char = htmlspecialchars($_POST['title_char']);
    $news_char = htmlspecialchars($_POST['news_char']);
    echo ("Успешно променихте настройките!");
    $update = mysql_query("Update `setings` set sitename = '$sitename', article = '$article', stranici = '$stranici', title_char = '$title_char', news_char = '$news_char'")  or die(mysql_error());
}
?>
 
Моето предложение:

Код:
<?php 
include ("../config.php"); 
if (!$_POST['submit']) { 
	$our = mysql_query("SELECT * FROM `setings`") or die(mysql_error()); 
	while($r=mysql_fetch_array($our)){
?> 
<form method='post' action=""> 
	Име на сайта <input type='text' name='sitename' value='<?php echo $r['sitename']; ?>'><br /> 
	Описание <input type='text' name='article' value='<?php echo $r['article']; ?>'><br /> 
	Страници за показване <input type='text' name='stranici' value='<?php echo $r['stranici']; ?>'><br /> 
	Символи за показване на залгавията на темите <input type='text' name='title_char' value='<?php echo $r['title_char']; ?>'><br /> 
	Символи за показване на темите <input type='text' name='news_char' value='<?php echo $r['news_char']; ?>'><br /> 
		<input type='submit' name='submit' value='Запиши'><br /> 
</form> 
<?php 
	} 
} else { 
	$sitename=htmlspecialchars($_POST['sitename']); 
	$article=htmlspecialchars($_POST['article']); 
	$stranici=htmlspecialchars($_POST['stranici']); 
	$title_char=htmlspecialchars($_POST['title_char']); 
	$news_char=htmlspecialchars($_POST['news_char']); 
	echo ("Успешно променихте настройките!"); 
	$update = mysql_query("UPDATE `setings` SET sitename = '$sitename', article = '$article', stranici = '$stranici', title_char = '$title_char', news_char = '$news_char'") or die(mysql_error()); 
} 
?>

П.п. Не пропускай "or die(mysql_error());" след заявките... Много ще ти улесни работата. :)
Поздрави!
 
А кои настройки update-ваш ?
Не виждам никъде да си описал кое да update.
Задай примерно WHERE id='1' или нещо от този род.
 
Я пробвай с това:

<?php
include_once "../config.php";
$our = mysql_query("SELECT * FROM `setings` ORDER by id") or die(mysql_error());
while($r=mysql_fetch_array($our))
{
?>
<form method="POST" action="settings.php">
Име на сайта <input type="text" name="sitename" value="<?php echo $r['sitename']; ?>"><br />
Описание <input type="text" name="article" value="<?php echo $r['article']; ?>"><br />
Страници за показване <input type="text" name="stranici" value="<?php echo $r['stranici']; ?>"><br />
Символи за показване на залгавията на темите <input type="text" name="title_char" value="<?php echo $r['title_char']; ?>"><br />
Символи за показване на темите <input type="text" name="news_char" value="<?php echo $r['news_char']; ?>"><br />
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
<input type="submit" name="submit" value="Запиши"><br />
</form>
<?php
if (isset($_POST['submit']))
{
$sitename = htmlspecialchars($_POST['sitename']);
$article = htmlspecialchars($_POST['article']);
$stranici = htmlspecialchars($_POST['stranici']);
$title_char = htmlspecialchars($_POST['title_char']);
$news_char = htmlspecialchars($_POST['news_char']);
$id = htmlspecialchars($_POST['id']);
mysql_query("UPDATE `setings` SET sitename='$sitename', article='$article', stranici='$stranici', title_char='$title_char', news_char='$news_char' WHERE id='$id'") or die(mysql_error());
echo "Успешно променихте настройките!";
}
}
?>
 
сега пробвах с id дали ми излиза и ми излиза така = setings.php?id=1
Защо ми излиза с id ? Аз искам като отворя setings.php да са ми настройките.
 
Тогава ги записвай във файл.
Или най-горе във този файл дефинирай да речем id = "1";
И в таблицата с настройките добави един ред с настройки с ид 1.
Този начин който използваш с while не е никак удачен , нито удобен за работа.
 

Back
Горе