Автор Тема: Помогите глюк найти  (Прочитано 6704 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Admin q3

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
Помогите глюк найти
« : 23 Октября 2001, 15:42:56 »
Помогите баг найти



<?

require 
"config.php";
/* open the connection to the database */
mysql_pconnect($dbhost$dbuname$dbpass);
@
mysql_select_db("$dbname") or die ("Unable to select database");
?>
	
<html>
	
<head>
	
<title>Система публикаций</title>
	
<meta http-equiv="Content-Type" content="text/html; ">
	
<style type="text/css">     
     <!--
     BODY  {font-family : Verdana, Arial, Helvetica;}
     H1, H2, H3, H4, H5, H6  {font-family : Arial, Helvetica, Verdana, sans-serif;}  
     TD  {font-family : Verdana, Arial, Helvetica;}   
     PRE  {font-family : Courier Fixed;}
     .date  {
     
	
font-size : small;
     
	
font-family : Verdana;
     
	
font-style : italic;
     }
     -->
    </style>
	
</head>
	
<body>
	
<table width="420" border="0" align="CENTER">
	
<tr><td> 
	

	
<hr align="LEFT" size="1" width="420" noshade>
	
<h1>Stitch News</h1>
	
<hr align="LEFT" size="1" width="420" noshade>
	

	
</td></tr>
	
</table>
	
<h2>Write a New Article</h2>
	
<form action="post.php?op=addpost" method="post">
	
<p>Author: 
 <input type="text" name="author">
	
<p>Password: 
<input type="pass" name="pass">
	
<p>Category: 
<select name="category">
	
<?

	
	
$sql "select * from sta_categories ";
	
	
$result mysql_query($sql);
	
	
while(
$row mysql_fetch_array($result)) {
	
	
printf("<option value=\\"%s\\">%s</option>"$row["category_id"], $row["category"]);
	
	
}

echo  
"</select>
	


	
<p>Title:
<input type=\\"
text\\" name=\\"title\\" size=\\"36\\" maxlength=\\"36\\">
	
<p>Intro:
<textarea cols=75 rows=5 name=\\"
intro\\"></textarea>
	
<p>More:
<textarea cols=75 rows=15 name=\\"
more\\"></textarea>
	

	
<p><input type=\\"
submit\\" name=\\"submit\\">
	
</form>


</body>
</html>"
;




function 
addpost($author$pass,  $title ,$intro$more,  $category) {
    global 
$BASE_URL;
    
$result mysql_query("select author, password,  from sta_authors where  author_name = \'$author\' ");
    list(
$author$password ) = mysql_fetch_row($result);
    
    if(
$author=="" AND $pass=="" OR $pass=="") {
	
echo 
"<center>
Login Incorrect!!!

<a href=\\"
javascript:history.go(-1)\\">Back to Login Screen</a></center>";
    } else {
        if (
$pass==$password) {

	
	
$author $row["author_id"];
	
	
$time date("H:i:s");
	
	
$date date("y-m-d");
	
	
$sql "insert into sta_news VALUES(NULL,\'$title\',\'$intro\',\'$more\',\'$author\',\'$category\',\'$date\',\'$time\')";
	
	
mysql_query($sql);

 }
}
}
switch (
$op){
  

      case 
"addpost":
           
addpost($author$pass$password$title ,$intro$more$category$date$time);
           break;
}
	

?>

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
Помогите глюк найти
« Ответ #1 : 23 Октября 2001, 16:01:06 »
А какую ошибку выдает, ты нам конечно не скажешь ?

Оффлайн VaV

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 364
  • +0/-0
  • 0
    • Просмотр профиля
Помогите глюк найти
« Ответ #2 : 23 Октября 2001, 17:33:07 »
мы типа сами анализаторы кода...
иногда просто нет времени переварить что-то

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Помогите глюк найти
« Ответ #3 : 23 Октября 2001, 18:06:49 »
Я только вот непонял, функция описанна с одним числом параметров, а вызываешь с другим....

function addpost($author, $pass,  $title ,$intro, $more,  $category)
....
addpost($author, $pass, $password, $title ,$intro, $more, $category, $date, $time);
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн Admin q3

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 59
  • +0/-0
  • 0
    • Просмотр профиля
Помогите глюк найти
« Ответ #4 : 24 Октября 2001, 06:33:33 »
list($author, $password ) = mysql_fetch_row($result);
   
пишет что ошибка в этой строчке

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Помогите глюк найти
« Ответ #5 : 25 Октября 2001, 18:24:50 »
Цитировать

    $result = mysql_query("select author, password,  from sta_authors where  author_name = \'$author\' ");

После password запятую убери :)

А вообще советую писать :
mysql_query("....") or die(mysql_error());
Ошибки легче находятся
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Templar

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите глюк найти
« Ответ #6 : 26 Октября 2001, 04:29:09 »
О двух явных ошибках уже сказали:

- addpost($author, $pass,  $title ,$intro, $more,  $category)
- addpost($author, $pass, $password, $title ,$intro, $more, $category, $date, $time)
Должны содержать одинаковые переменные.

- select author, password,  from sta_authors where  author_name = \'$author\'
Запятой после password не надо.

- if($author=="" AND $pass=="" OR $pass=="")
Проще надо быть, на хрена тебе при повеки пароля токая херня? Пример: if($author=="" OR $pass==""). Явно что $autor должен иметь символы

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28