проблеми с един уеб

SayliS

Registered
Добро утро, имам един проблем и понеже е 3часа реших да го оставя за утре ... но се сетих, че тук има добри хора, които могат да ми помогнат(надявам се).

Ето е и ситуацията.
Ползвам
Код:
switch($_GET['page'])
     {
           case 'email_pass': 
                 include('./send_mail.php'); break;

...............
и.т.н Ок работи, но след това след като инклудна скриптовете ми идва проблема.
Точно след инкудването работи, но ако скрипта има действие зависещо от потребителя се изпълнява в празна страница. За да ме разберете ще ви дам пример.

Това трябва да сложи в ДБ новата парола и да изпише, че всичко е ок.
Код:
$query = "UPDATE `user_info` SET `password` = (md5('" . $_POST['password'] . "')) WHERE `username` = '$sesusername' LIMIT 1 ";
$result = mysql_query($query);
$_SESSION['user_password'] = $_POST['password'];
echo "<center>Паролата е сменена";

Но след изпълнението на скрипта това echo го изпълнява в празна страница....

Така е защото формата ми е със action="script-name.php" .

Как да направя така, че след инклудването на скриповете да могат да се изпълняват там където съм ги инклуднал.

п.с надявам се да сте ме разбрали(часовете пред пхп-то са ми в повече днес)

Приятна вечер и се надявам, че някой ще може да ми помогне.
 

mizarck

Registered
Горе доло разбрах какво изкаш но понеже не съм фен на switch ще ти покажа как ще стане с if

Код:
<?php
$newpass = $_POST['newpass']; // Взимаме стойноста на newpass
if (empty($newpass)) // тук проверяваме дали променливата newpass има стойност
{
// ако променливата newpass няма стойност ще се покаже формата
echo '<form name="form1" method="post" action="">
  Нова парола
  <input type="text" name="newpass">
  <br>
  <input type="submit" name="Submit" value="Смени">
</form>';
}else
{
// но ако променливата newpass има стойност ще се изполни сменяването на паролата
$newpass = md5(trim($newpass));
$query = "UPDATE `user_info` SET `password` = $newpass WHERE `username` = '$sesusername' LIMIT 1 "; 
$result = mysql_query($query); 
$_SESSION['user_password'] = $newpass; 
echo "<center>Паролата е сменена</center>";
}
?>

в кода ти имаше няколко грешки и го поправих но имам и няколко съвета за теб
1. по добре присвоявай стоиноста на $_POST['newpass'] в някакава друга променлива (в случея newpass)
2. преди да хешираш паролата използвай trim() тя премахва празните пространства в началото и края
3. никога не предавай паролата с чрез сесий по добре чрез сесии
предавай името на потребителя или по добре id-то на потребителя и после вади парола и там какното ти трябва
 

Горе