|
|
|
| Есть такая форма :
$query = 'select User,Password,email,icq,FIO,emailAfish,icqAfish,KontrolQuestion,KontrolAnsver from users where InstallUserKey="'.$InstallUserKey.'"';
$result = mysql_query($query) or die (mysql_error());
$row = mysql_fetch_array($result, MYSQL_NUM);
?>
<form action = "myprofile.php" method = "post">
<center><p><h3>Заповніть форму:</h3><p></center>
<align = left>Поля позначені * - обов'язкові для заповнення!</a><br><br>
<i>*Користувач:</i><br>
<input type="text" name="usr" size="15" maxlength="20" value="<?echo $row[0];?>"><br>
<i>*Пароль:</i><br>
<input type="password" name="pas" size="15" maxlength="20" value="<?echo urldecode($row[1]);?>"><br>
<i>*Підтвердження паролю:</i><br>
<input type="password" name="pass" size="15" maxlength="20" value="<?echo urldecode($row[1]);?>"><br>
<i>*Ваше повне ім'я:</i><br>
<input type="text" name="fio" size="15" maxlength="100" value="<?echo $row[4];?>"><br>
<i>*e-mail:</i><br>
<input type="text" name="email" size="15" maxlength="30" value="<?echo $row[2];?>"><br>
<i>*Контрольне запитання:</i><br>
<input type="text" name="kontrolq" size="15" maxlength="50" value="<?echo $row[7];?>"><br>
<i>*Контрольна відповідь:</i><br>
<input type="text" name="kontrola" size="15" maxlength="50" value="<?echo $row[8];?>"><br>
<i>ICQ:</i><br>
<input type="text" name="icq" size="15" maxlength="20" value="<?echo $row[3];?>"><br>
<input type="checkbox" name="emailAfish" <?if(trim($row[5])=="y") echo 'checked'; else;?>>Показувати ваш E-mail адрес на сайті<br>
<input type="checkbox" name="icqAfish" <?if(trim($row[6])=="y") echo 'checked'; else;?>>Показувати ваш ICQ-номер на сайті<br>
<input type="submit" value="Зберегти">
</form>
|
У себя дома выполняется на ура, и если написать там знизу echo $usr; - то все отображается
Но после аплоада на хостинг, форма ни в какую не хочет создавать применные и их отображать. Что может быть по етому поводу ? | |
|
|
|
|
|
|
|
для: IgorT
(29.06.2007 в 23:13)
| | Напишите echo $_POST['usr'];
Хостинг прав. echo $usr; ничего не должно выводить. | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2007 в 00:34)
| | Я вот здесь проверил, что ниодна форма целиком не работает если вводить в нее мейл адрес, работает только до того как я например введу scubiduuuuuu@rambler. - если что то набирать после точки - ничего работать не будет. В чем же проблема ? | |
|
|
|
|
|
|
|
для: IgorT
(30.06.2007 в 00:45)
| | Я еще сделал несколько проб и понял что ета форма работает со всемы вариантами мейлов кроме тех что заканчиваются на ru - например scubidu@rambler.ru - работать не будет, scubidu@rambler.com - работает ! Что же не так ? | |
|
|
|
|
|
|
|
для: IgorT
(30.06.2007 в 00:45)
| | Вы показали маленький кусочек скрипта и спрашиваете, почему не работает?
Отвечаю: .... наверное, потому что в скрипте ошибки. | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2007 в 02:14)
| | Ну если есть ошибки тогда как обяснить то что у меня дома все работает, а на хостинге нет ?
Не работает ето всмысле я заполняю форму и если нажать на кнопку - Принять, тогда ничего не происходит, кроме того что форма очистится. А если указать мейл адрес например на com, то все выполняется.
Если етого маловато, тогда вот остальное :
Вот етот код можно поставить сверху вишеподаного:
<?header("Content-Type: text/html; charset=windows-1251");?>
<!-- <META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251"> -->
<BODY BACKGROUND="backg.jpg" BGCOLOR="00C0FF", TEXT="BLACK", LINK="#5a15e1", ALINK="#5a15e1", VLINK="#5a15e1">
<?
//error_reporting(E_ALL);
mysql_connect("localhost", "root", "")
or die("Could not connect to MySQL server!");
mysql_select_db("igort")
or die("Could not select forum database!");
mysql_query( 'set names cp1251' );
|
А етот уже ниже :
$usr=htmlspecialchars($usr);
$pas=htmlspecialchars($pas);
$pass=htmlspecialchars($pass);
$fio=htmlspecialchars($fio);
$email=htmlspecialchars($email);
$kontrolq=htmlspecialchars($kontrolq);
$kontrola=htmlspecialchars($kontrola);
$icq=htmlspecialchars($icq);
$pas=urlencode($pas);
$pass=urlencode($pass);
if(trim($usr)!=="")
if(trim($pas)!=="")
if(trim($pass)==trim($pas))
if(trim($fio)!=="")
if(trim($email)!=="")
if(trim($kontrolq)!=="")
if(trim($kontrola)!=="")
if(substr_count($email,"@")==1)
{
$query = 'UPDATE users SET User ="'.$usr.
'",Password ="'.$pas.'",email ="'.$email.
'",FIO ="'.$fio.'",icq ="'.$icq.
'",KontrolQuestion ="'.$kontrolq.
'",KontrolAnsver ="'.$kontrola.
'" where InstallUserKey="'.
$InstallUserKey.'"';
$result = mysql_query($query) or die (mysql_error());
if($emailAfish==true)
{
$query = 'update users set emailAfish="y" where User="'.$usr.'"';
$result = mysql_query($query) or die (mysql_error());
}
else
{
$query = 'update users set emailAfish="" where User="'.$usr.'"';
$result = mysql_query($query) or die (mysql_error());
}
if($icqAfish==true)
{
$query = 'update users set icqAfish="y" where user="'.$usr.'"';
$result = mysql_query($query) or die (mysql_error());
}
else
{
$query = 'update users set icqAfish=""
where user="'.$usr.'"';
$result = mysql_query($query) or die (mysql_error());
}
if($result==true)
{
echo '<i>';
echo '<h1>';
echo '<center>';
echo 'Зміни успішно виконані!';
echo '<br>';
echo '<br>';
echo '<br>';
echo '<br>';
echo '<META HTTP-EQUIV="Refresh" CONTENT="1; URL=main_forum.php" />';
echo '</h1>';
echo '</i>';
echo '</center>';
mysql_close();
}
else
{
echo '<i>';
echo '<h1>';
echo '<center>';
echo 'Помилка при виконанні, спробуйте ще
раз пізніше, або зверніться до
адміністратора!';
echo '<br>';
echo '<br>';
?>
<a href="<?echo 'New_Privat.php?reciv='.
urlencode('Ігор').
'&retem='.
urlencode('Не виконується запис в БД');?>">
Написати приватне повідомлення адміністратору</a>
<?
echo '<br>';
echo '<br>';
echo "<a href = 'myprofile.php' target=left>Мій профіль</a>";
echo '<br>';
echo '<br>';
echo "<a href = 'main_forum.php' target=left>Перейти до списку форумів</a>";
echo '</h1>';
echo '</i>';
echo '</center>';
}
}
else
{
printf("Ви маєте правильно ввести 'E-mail' адрес!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'Контрольна відповідь'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'Контрольне запитання'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'e-mail'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'Ваше повне ім'я'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'Підтвердження паролю'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'Пароль'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
else
{
printf("Ви маєте заповнити поле 'Користувач'!!!");
echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=myprofile.php" />';
}
}
else echo 'У вас не має відповідних прав для виконання потрібних дій!!!';
?>
|
Надеюсь не очень маленький :) Но я все же думаю что проблема есть с самим первым кодом. | |
|
|
|
|
|
|
|
для: IgorT
(30.06.2007 в 02:35)
| | >Ну если есть ошибки тогда как обяснить то что у меня дома все работает, а на хостинге нет ?
>
Никак не требуется этого объяснять. Вообще ставить так вопрос - крайне вредно.
Скрипт вовсе не обязан работать на хостинге, даже если он работает дома. Скрипт - это не молоток.
Скрипт должен выполняться если написан без ошибок, а не если он выполнялся где-то еще.
>Не работает ето всмысле я заполняю форму и если нажать на кнопку - Принять, тогда ничего не происходит,
Когда Вы нажимаете кнопку - начинает выполняться совсем другой скрипт (или другой фрагмент этого скрипта) - тот, что указан в атрибуте action тега form.
Его-то Вы и не привели. | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2007 в 02:47)
| | Извините за глупый вопрос но я не понял что еще нужно вывести ? В том то дело что после нажатыя на кнопке - Принять, форма переходит на тот же файл но емеет уже готовые пременные, но они то и не получаются (получаются пустымы и конечно ничего непроисходит так как не срабатывает оператор if). Пременные почемуто формируются только если в каком то поле после точки нету букв - "ru". (в любом поле). | |
|
|
|
|
|
|
|
для: IgorT
(30.06.2007 в 12:09)
| | Прошу прощения. Того, что Вы привели - вполне достаточно. | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2007 в 02:47)
| | Переделывайте.
Начиная с первой строки и далее
$usr=htmlspecialchars($usr); на $usr=htmlspecialchars($_POST['usr']);
и так со всеми переменными, которые должны получить свое значение из полей формы. | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2007 в 12:16)
| | еще не успел попробовать, но все равно спасибо | |
|
|
|