Sidebar

помогите с PHP скриптом =)

LLIyruk[Khb]

Пользователь
Jan 30, 2009
681
29
помогите с PHP скриптом =)

судя по всему, здесь можно задавать вопросы о PHP

И так, во общем создал я скриптик(Ну простой такой ]]]) и во общем с ним проблемы, вот код :
Code:
<?
if (isset($_GET[menu]))
	{
	$link = $_GET[menu];
	$fname = "menu/".$link.".html";

	if (file_exists($fname)) 
		include ($fname);
	else
	echo "Простите, ссылка битая";
}
	else
include("menu/index.html");
?>
Но вот проблема в том что если я просматриваю в IE, Opera и Mazila то у меня хз какие то символы, приходится html файлы перекодить в ASPII(вроде я не помню)) это не удобно.Но после перекодировки опера и мозила еще хуже бред пишет.... помогите избавится =)
 

qpAHToMAS

New member
Oct 22, 2006
9,289
33
2 LLIyruk[Khb]:
В соседней теме затронули это. Вообщем как понял, в странице не устанавливается элементарная кодировка.

Пысы: смотри настройки сервера, там ведь есть возможность ставить любую страницу при отсутствии файла на сервере (ошибка 403), если твой скрипт конечно делает такое же.

Простите, ссылка битая
Простите, не верная ссылка.
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
2 LLIyruk[Khb]:
Я так понимаю, ты серв у себя на компе развернул, причём под винду(Жесть :D )
Открываешь apache.conf и идёшь к строке
AddDefaultCharset UTF-8
Меняй на
AddDefaultCharset WINDOWS-1251

[ADDED=Nucleo]1253148963[/ADDED]
2 LLIyruk[Khb]:
А что за версия ПХП? %)
 
Last edited:

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
Nucleo said:
AddDefaultCharset UTF-8
Меняй на
AddDefaultCharset WINDOWS-1251
А вот так вот лучше не делать. Юникод должен править миром.

Лучше просто явно указать кодировку в документе:
Code:
<html>
<head>
<title>Документ</title>
<meta http-equiv="Content-Type" content="text/html; [B][COLOR=Yellow]charset=utf-8[/COLOR][/B]">
...
 

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
2 Nucleo:
Просто здраво мыслю. Никому не нужен зоопарк кодировок (который, кстати, присущ не только винде), если их можно заменить одной (которая никакого отношения к юниксу не имеет). Так что хз, откуда у тебя такие ассоциации...
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
Проблема со скриптом авторизации

Вот, столкнулся с проблемой. По идее из формы посылаются данные в скрипт, а он в свою очередь сравнивает принятые данные с базой. При введении правильных данных совпадений почему-то нет. Вот кусок кода:
Code:
if(isset($_POST['username']) && isset($_POST['passwrd'])) {
	$file=file('base.php');		
	for($i=1;$i>count($file);$i++) { // первую строку не нужно обрабатывать
		$value = explode(':::',$file[$i]);
		if($value[0]==$_POST['username'] && $value[1]==$_POST['passwrd']) {
			setcookie('logging',$file[$i]);
			print("logged in");
			define('_LOGGED_IN',true);
			}
	}
}
Помогите пожалуйста =)
 

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
2 Nucleo:
Попробуй перед сравнением удалять пробельные символы из данных, которые читаешь с файла ($value[0] и $value[1]). К примеру, ф-цией trim().

Если не поможет, выложи содержимое файла base.php, будем смотреть...
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
2 TwisteR:
trim() уже пробовал, не помогает. Да и пробелов не было.
Содержимое base.php примерно такое:
Code:
<?php die();?>
Username:::password:::email@mail:::userdir
...
Ума не приложу. Вроде всё правильно.
 

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
2 Nucleo:
Это, конечно, чисто предположение, но, имхо, лучше писать так:
Code:
for($i=1;$i[B][SIZE=7]<[/SIZE][/B]count($file);$i++)

:D
 

AndrewDragon

Уставший Дракон
Jan 10, 2005
5,120
24
а сделай так, чтобы в одну строчку скрипт выводил введенные данные, а во второй — из базы и на глаз сравни :)
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
2 TwisteR:
Ну точно! :lol:
А я то голову ломаю! Спс =)
 

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
2 AndrewDragon:
\n, \t и прочую лабуду он там не увидит, т.к. хтмл-ом это на экран не выводится. Его проблема в прогуливании уроков арифметики, где обьясняли разницу между < и > =)
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
2 TwisteR:
Его проблема в прогуливании уроков арифметики
Очепятка просто =) И почему нельзя увидеть \n? Можно. В этом сообщении он стоит 3 раза =)
 
Last edited:

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
2 Nucleo:
Ну я условно :) Отслеживая ошибки, я бы не полагался на подсчёт пробельных символов. Если это выводится в браузере, гораздо удобнее вместо \n использовать <br>, \t заменять на _ ну и т.п. Вообщем, как то их визуализировать. Это удобнее, чем каждый раз заглядывать в исходник страницы или получать её по telnet =)
 

Gaia

Чёрный вертолёт
Aug 4, 2008
4,584
37
85
0
2 TwisteR:
Ну да, тем более что не каждый браузер корректно обрабатывает \n и \t :) Опера например результат выполнения print_r() выводит как одну строку с ключами и значениями. Очень не удобно при отладке, особенно если нужно вывести несколько массивов сразу. =)
 

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
2 Nucleo:
Дык это понятно, любой браузер будет так выводить текст с переносами строк, но без тегов <br>. Либо жми ctrl+u (посмотреть исходный код страницы), либо окружай вывод массива print_r() тегами <pre></pre>, чтоб браузер выводил текст между этими тегами "как есть".
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord