day & night

Некорректная работа скрипта, Очень прошу помочь
Дата обновления: , перейти к новому сообщению
icon11
#1
Fabys



Unregistered














Всем привет,

Народ, возникла трабла с исполнением скрипта. Очень прошу помочь в её решении. Сам в РНР не шарю, могу только модули там местами поменять например ну и html.
Теперь о проблеме с которой я столкнулся. Есть скрипт наподобие www.job.ru, пока настраивал дизайн на локалке всё работало "на раз" как говорится. Как залил на хост, 2 скрипта не хотят правильно выполняться. Цепляю файлы, кто возьмётся помочь - посмотрите пожалуйста.
Файлы job_add_res_step2.php/job_add_vac_step2.php являются завершающим этапом при добавлении резюме/вакансии и по идее должны выводить сообщение о том, что резюме добавлено, на локалке так и происходит, на сервере же отображается только header и footer, почему так происходит понять вообще не могу, пытался изменить CHMOD - не помогло.
Функцией файлов job_edit_res_sp.php/job_edit_vac_sp.php является напоминание пароля (высылка на мыло). Тут ситуация такая - при нажатии кнопки "выслать пароль" открывается 404 Not Found, с таким вот сообщением: The requested URL /onsubmit=return was not found on this server. sad.gif

Добавлено:

Не могу понять, как файлы цеплять. Отпустю так тада.
Это job_add_res_step2.php (job_add_vac_step2.php непишу, потому как в принципе эти 2 файла одинаковые, за исключением некоторых параметров)
CODE
<?
/*
Copyright by Sergey L.
Translated by Ivan P.
*/
?>
<?
$page_title="Προσθήκη νέου βιογραφικού [Βήμα 2]";
require("header.php");?>
<link href="inc/css.css" rel="stylesheet" type="text/css">
 <!-- ========= Content start line ========= -->
<? if($step=="100237"){
$vr_zad=1; // ANTI_spammer       | время задержки, определяет интервал(в минутах), через который можно разместить следующее резюме
session_unregister(user_active);
session_unregister(reg_login);
session_unregister(reg_pwd);
$amonth = array("01"=>"Ιανουαρίου", "02"=>"Φεβρουαρίου", "03"=>"Μαρτίου", "04"=>"Απριλίου", "05"=>"Μαίου", "06"=>"Ιουνίου", "07"=>"Ιουλίου", "08"=>"Αυγούστου", "09"=>"Σεπτεμβρίου", "10"=>"Οκτωβρίου", "11"=>"Νοεμβρίου", "12"=>"Δεκεμβρίου");
$aweek = array("Monday"=>"Δευτέρα", "Tuesday"=>"Τρίτη", "Wednesday"=>"Τετάρτη", "Thursday"=>"Πέμπτη", "Friday"=>"Παρασκευή", "Saturday"=>"Σάββατο", "Sunday"=>"Κυριακή");
//переводим переменные в нормальный вид:
$personal = addslashes($personal);
$age  = addslashes($age);
$educ  = addslashes($educ);
$experience = addslashes($experience);
$salary  = addslashes($salary);
$sex  = addslashes($sex);
$schedule = addslashes($schedule);
$employment = addslashes($employment);
$city  = addslashes($city);
$town  = addslashes($town);
$content = addslashes($content);
$name  = addslashes($name);
$address = addslashes($address);
$phone  = addslashes($phone);
$fax  = addslashes($fax);
$url  = addslashes($url);
$email  = addslashes($email);
$razdel  = addslashes($razdel);
$exp  = addslashes($exp);
$login  = addslashes($login);
// проверяем на корректность заполнения полей
session_unregister(pwd);
session_unregister(login);
$result=1;
$alltext="".$personal."".$town."".$content."".$name."".$address."".$phone."".$fax."".$url."".$email."";
$alltext = strtr($alltext, "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩABCDEFGHIJKLMNOPQRSTUVWXYZ", "αβγδεζηθικλμνοπρστυφχψωabcdefjhijklmnopqrstuvwxyz");
$alltext=strtolower($alltext);
if(eregi("& #40;бля|хуй|fuck|сука|мудак|мудила|тварь|козел|бегемот|урод|даун|идиот|ебать|убл
юдок|
qwe|wert|rtyu|tyui|uiop|asd|dsa|sdf|dfg|ghj|jkl|zxc|cxz|ewq|xcv|vbnm|пошел ты
)",$alltext))
    {
 $result=0;
 $error1="<center><br><br><span class='red'><b> Απαγορεύεται αυστηρά το SPAM. </b>";
 }
if (preg_match("/[^(\w)|(\@)|(\-)|(\_)|(\.)]/",$email)) {
 $result=0;
 $error2="Ηλεκτρονική διεύθυνση δεν είναι σωστή";
 }
//2003-03-27 11:25:31
// int hour, int minute, int second, int month, int day, int year [, int is_dst])
$date_spam = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$sel_prov_spam=mysql_fetch_row(mysql_query("select `login`,`pwd`,`add_date`, DATE_FORMAT(add_date,\"%H\") as last_date_h,DATE_FORMAT(add_date,\"%i\") as last_date_m, DATE_FORMAT(add_date,\"%s\") as last_date_s from chelbiz_job_res where login='".$login."' and pwd='".$pwd."' order by add_date desc"));
if($sel_prov_spam[0]!=""){
$spam_now_hou1="".$date_spam[11]."".$date_spam[12]."";
$spam_now_min1="".$date_spam[14]."".$date_spam[15]."";
$spam_now_sec1="".$date_spam[17]."".$date_spam[18]."";
$ostalos_min=(($spam_now_hou1*60)+$spam_now_min1+($spam_now_sec1/60))-(($sel_prov_spam[3]*60)+$sel_prov_spam[4]+($sel_prov_spam[5]/60));
$ostalos_min=intval($ostalos_min);
$ostalos_min=$vr_zad-$ostalos_min;
if($ostalos_min>0){
 echo"
 <center>
 <table width=469 border=0 cellpadding=3 cellspacing=0 style='border-left:1px solid #608abe; border-top:1px solid #608abe; border-right:1px solid #608abe; border-bottom:1px solid #608abe; '>
 <tr>
 <td height=19 bgcolor=#608abe></td></tr>
 <tr>
 <td align=center>
 <span class='red'><b>Στο JobList.gr λειτουργεί το σύστημα anti-spammer.</b></span><br><span class='main'>Επόμενο βιογραφικό μπορίτε να καταχωρίζετε σε <b>$ostalos_min λεπτά.</b></span><br><br><br>
 </td>
 </tr>
 </table>
 </center>
 ";
 $result=0;
 }
}
 if(!empty($registred) and !empty($login) and !empty($pwd)){
 // проверка на существование зарегистрированного пользователя
$sr=mysql_fetch_row(mysql_query("select login,pwd,email from chelbiz_job_res where login='".$login."' and pwd='".$pwd."'"));
$login=$sr[0];
if(empty($sr[0])){
echo"
<center>
<table width=469 border=0 cellpadding=3 cellspacing=0 style='border-left:1px solid #608abe; border-top:1px solid #608abe; border-right:1px solid #608abe; border-bottom:1px solid #608abe; '>
 <tr>
 <td height=19 bgcolor=#608abe></td></tr>
<tr><td>
 <b><span class='red'>Ο χρήστης με τέτοια στοιχεία δεν βρέθηκε!</span></b><br><span class='main>Αν δεν έχετε κανένα ενεργό βιογραφικό στο JobList.gr, μην σημειώνετε \"Δεν είναι πρώτο μου βιογραφικό στο JobList.gr\".<br><br>Αν ξεχάσατε τον κωδικό χρήστη, εισάγετε το e-mail σας στην σελίδα αποκατάστασης κωδικού χρήστη:<br><a href=job_edit_res_sp.php> <b>Αποστολή κωδικού χρήστη</b></a></span>
</td></tr></table>
</center>
";
$result=0;
}
 }
?>
<?
 if($result==1)
  {
if(!empty($url)){
$url=eregi_replace("http://", "", $url);
}
 if(empty($registred) and !empty($login)){
// создаем логин для пользователя
$login=$login;
// START2 отправка email пользователю
$from="$SiteName";
$headers="Content-Type: text/html; charset=utf-8\n";
$headers.="From: $from\nX-Mailer: $SiteName";
mail("$email","Το βιογραφικό σας σημείωμα καταχωρίθηκε!",
"Το βιογραφικό σημείωμα καταχωρίθηκε στον κατάλογος JobList.gr! <br><br>
Για την πρόσβαση στη σελίδα αλλαγής στοιχείων εισάγετε: <br>
Ονομα χρήστη:  <b>$login</b> <br>
Κωδικό χρήστη: <b>$pwd</b> <br>",$headers);
 }

$login = strtr($login, "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩABCDEFGHIJKLMNOPQRSTUVWXYZ", "αβγδεζηθικλμνξοπρστυφχψωabcdefghijklmnopqrstuvwxyz");
$login=strtolower($login);
$active  = "1";
$exp_date = date("Y-m-d", mktime(0,0,0,date("m"),date("d")+$exp,date("Y")));
$thyear="".$exp_date[0]."".$exp_date[1]."".$exp_date[2]."".$exp_date[3]."";
$thday="".$exp_date[8]."".$exp_date[9]."";
$thmonth="".$exp_date[5]."".$exp_date[6]."";
$thmonth=$amonth[$thmonth];
// END START2
// деактивируем все записи с прошедшим сроком размещения
$up_exp_date=mysql_query("update `chelbiz_job_res` set active='0' where `exp_date`<now() and active='1'");
$qins=mysql_query("INSERT INTO `chelbiz_job_res` (`id` , `ip` , `personal` , `age` , `educ` , `experience` , `salary` , `sex` , `schedule` , `employment` , `city` , `town` , `content` , `name` , `address` , `phone` , `fax` , `url` , `email` , `razdel` , `exp` , `pwd`, `login`, `add_date`,`exp_date`,`active`) VALUES ('','$ip','$personal','$age','$educ','$experience','$salary','$sex','$schedule','$employment','$city','$town','$content','$name','$address','$phone','$fax','$url','$email','$razdel','$exp','$pwd','$login',now(),'$exp_date','$active')");
echo "
<center>
<table width=469 border=0 cellpadding=3 cellspacing=0 style='border-left:1px solid #608abe; border-top:1px solid #608abe; border-right:1px solid #608abe; border-bottom:1px solid #608abe; '>
 <tr>
 <td height=19 bgcolor=#608abe></td></tr>
<tr><td><span class='main'>
Το βιογραφικό σημείωμα καταχωρίθηκε!
<br><br>
Για την πρόσβαση στη <b><a href=job_edit_res.php?l=$login&p=$pwd class='link'>σελίδα</a></b> αλλαγής στοιχείων εισάγετε:<br>
Ονομα χρήστη:  <b>$login</b><br>
Κωδικό χρήστη: <b>$pwd</b><br>
<br><br>
<br>
Ημερομηνία λήξης: <b>$thday $thmonth $thyear.</b>
<br><br>
</span></td></tr></table>
</center>
";
  }// if result==1
if(!empty($error1)){
 echo "$error1";
}
if(empty($error1)){
// выводим ошибки
echo "$error2";
}
echo "<!-- ========= Content end line ========= -->";
}
require("foother.php");
?>

А это job_edit_res_sp.php
CODE
<?
/*
Copyright by Sergey L.
Translated by Ivan P.
*/
?>
<?
$page_title="Επαναφορά κωδικού χρήστη";
require("header.php");?>
<link href="inc/css.css" rel="stylesheet" type="text/css">
 <!-- ========= Content start line ========= -->
<?
if($post==1 and !empty($email))
{
$sel=mysql_fetch_row(mysql_query("select `login`,`pwd`,`email` from chelbiz_job_vac where login='".$email."' or email='".$email."'"));
if(!empty($sel[2])){
 if(!empty($email)){
// создаем логин для пользователя
$login=$sel[0];
$pwd=$sel[1];
// START2 отправка email пользователю
$SiteName = "JobList.gr";
$SiteHttp = "http://www.joblist.gr";
$from="$SiteName";
$headers="Content-Type: text/html; charset=utf-8\n";
$headers.="From: $from\nX-Mailer: $SiteName";
mail("$email","Στοιχεία πρόσβασης στο $SiteName!",
"Για την πρόσβαση στην σελίδα αλλαγής στοιχείων βιογραφικού εισάγετε: <br><br>
Ονομα χρήστη:  <b>$login</b> <br>
Κωδικό χρήστη: <b>$pwd</b>",$headers);
echo "<TABLE style=\"border-bottom:1px solid #608ABE; border-left:1px solid #608ABE; border-right:1px solid #608ABE; border-top:1px solid #608ABE; \" cellSpacing=0 cellPadding=3 width=469 border=0 class=\"red\">
  <tr>
  <td vAlign=top align=\"left\" bgcolor=\"#608ABE\" HEIGHT=\"18\" colspan=\"2\"><span class=\"white\">ΕΠΑΝΑΦΟΡΑ ΚΩΔΙΚΟΥ ΧΡΗΣΤΗ</span>
  </td>
  </tr><tr><td><center><br><br><br><span class='red'><b>Στοιχεία πρόσβασης στάλθηκαν.</b></span><br><br><br>
<a href=job_edit_res.php>Επιστροφή</a><br></center></td></tr></table>";
 }
}
if(empty($sel[2])){
echo "<TABLE style=\"border-bottom:1px solid #608ABE; border-left:1px solid #608ABE; border-right:1px solid #608ABE; border-top:1px solid #608ABE; \" cellSpacing=0 cellPadding=3 width=469 border=0 class=\"red\">
  <tr>
  <td vAlign=top align=\"left\" bgcolor=\"#608ABE\" HEIGHT=\"18\" colspan=\"2\"><span class=\"white\">ΕΠΑΝΑΦΟΡΑ ΚΩΔΙΚΟΥ ΧΡΗΣΤΗ</span>
  </td>
  </tr><tr><td><center><br><br><br><span class='red'><b>Δεν βρέθηκε κανένας χρήστης με αυτό το e-mail!</b></span><br><br><br>
<a href=job_edit_res.php>Επιστροφή</a><br></center></td></tr></table>
";
}
}
?>
<?if($post!=1){?>
<script type="text/javascript">
function Validator(theForm)
{
if (theForm.email.value == "")
 {
   alert("Εισάγετε το e-mail");
   theForm.email.focus();
   return (false);
 }
 return (true);
}
</script>
<form method=post action=<?=$PHP_SELF?> onsubmit=return Validator(this)>
<input type=hidden name=post value=1>
<TABLE style="border-bottom:1px solid #608ABE; border-left:1px solid #608ABE; border-right:1px solid #608ABE; border-top:1px solid #608ABE; " cellSpacing=0 cellPadding=3 width=469 border=0 class="main">
  <tr>
  <td vAlign=top align="left" bgcolor="#608ABE" HEIGHT="18" colspan="2"><span class="white">ΕΠΑΝΑΦΟΡΑ ΚΩΔΙΚΟΥ ΧΡΗΣΤΗ</span>
  </td>
  </tr>
 <tr>
   <td colspan=2 height=35> Εισάγετε το e-mail σας.
   </td>
 </tr>
 <tr>
   <td height=35>e-mail:
   </td>
   <td><input size=40 type=text name="email">
   </td>
 </tr>
 <tr>
   <td height=35 colspan=2 align=left><input type=submit value='  Αποστολή κωδικού  '></td>
 </tr>
</table>
</form>
<? }?>
 <!-- ========= Content end line ========= -->
<? require("foother.php");?>
Go topGo end
 

Ответов(1 - 6)
icon10 19.11.2006 - 17:11
#2
дымчик



Специалист
[SoftoRooMTeaM] Group Icon

Группа: Модераторы
Сообщений: 475
Регистрация: 8.11.2005
Из: Санкт-Петербург
Пользователь №: 64.615


Респектов: 154
-----X----




Для начала замени код
CODE
<form method=post action=<?=$PHP_SELF?> onsubmit=return Validator(this)>

на нижеследующий
CODE
<form method="post" action="<?=$PHP_SELF?>" onsubmit="javascript: return Validator(this);">

Остальное пока лень смотреть... попробуй для начала это wink.gif

P.S.
И в следующий раз в километрах текста хоть пустые строки поубивай, а то читается просто ужасно sad.gif
User is offline
Go topGo end
19.11.2006 - 17:19
#3
Fabys



Unregistered














Спасибо за совет большое. Теперь правда на 404 не бросает, но всётаки не до конца правильно. Вот тут вот посмотреть можно. Там по идее после нажатия кнопки должно сообщение получаться, что мол пароль выслан, а щас там такая же ситуёвина как и с файлом добавления резюме/вакансии (в этих файлах в БД так же ничего не прописывается), то есть после нажатия кнопки никаких изменений.

PS: Спасибо за замечание, щас исправим. И правда, чёт не подумал просто.

PPS: Лови плюс wink.gif
Go topGo end
icon10 19.11.2006 - 17:34
#4
дымчик



Специалист
[SoftoRooMTeaM] Group Icon

Группа: Модераторы
Сообщений: 475
Регистрация: 8.11.2005
Из: Санкт-Петербург
Пользователь №: 64.615


Респектов: 154
-----X----




QUOTE(Fabys @ 19.11.2006 - 18:04)
А это job_edit_res_sp.php
...
if($post==1 and !empty($email))
...

[/code]
*


Меняешь соответственно на следующее
CODE

...
if ((IsSet($_POST["post"]) && $_POST["post"] === 1) && (IsSet($_POST["email"]) && $_POST["email"] !== ''))
...
<?if (!IsSet($_POST["post"]) || $_POST["post"] !== 1){?>


В первом файле надо аналогичные проверки на переменные сделать wink.gif
User is offline
Go topGo end
19.11.2006 - 17:56
#5
Fabys



Unregistered














Блин, мож всётки чёто с настройками сервера?sad.gif ну или там с БД трабла какая... ничего не изменилось всёравно.. вот блин засадаsad.gif
Go topGo end
icon3 19.11.2006 - 18:18
#6
дымчик



Специалист
[SoftoRooMTeaM] Group Icon

Группа: Модераторы
Сообщений: 475
Регистрация: 8.11.2005
Из: Санкт-Петербург
Пользователь №: 64.615


Респектов: 154
-----X----




Тогда так попробуй
CODE

...
if ((IsSet($_POST["post"]) && (int)$_POST["post"] == 1) && (IsSet($_POST["email"]) && (int)$_POST["email"] != ''))
...
<?if (!IsSet($_POST["post"]) || (int)$_POST["post"] != 1){?>


P.S.
Если есть возможность, то создай доп. FTP-пользователя и скинь мне в P/M параметры для доступа, тогда в real-time режиме помогу всё исправить wink.gif
User is offline
Go topGo end
19.11.2006 - 18:59
#7
Fabys



Unregistered














Ну так даже если, то вообще замечательно было бы smile.gif Я даже заплатить готов.. правда не много

Юзера создам, просто времени сейчас нету позднее немного. В любом случае, как будет готово, скину логин в личку.

Спасибо заранее.
Go topGo end

Topic Options
Сейчас: 1.05.2024 - 18:42
Мобильная версия | Lite версия