Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: пишет не на русском языке, а абру кодабру какую то. что нужно изменить что бы не писало этого, а на русском?
Форумы портала PHP.SU » » Кодировки и все смежное » пишет не на русском языке, а абру кодабру какую то. что нужно изменить что бы не писало этого, а на русском?

Страниц (1): [1]
 

1. саша мантивода - 08 Июня, 2011 - 22:33:09 - перейти к сообщению
сделал голосование - пишет абру кодабру, когда вводишь вопрос на русском, что нужно изменить? тестирую на денвере. устанавливал разные версии денвера - всё равно абра кодабра. подскажите как это исправить.

admin.php
<?php

require 'functions.php';

// Stored data file
$filename = 'data';
// Get stored data if exist
$data = load_data($filename);

// Check POST
if (isset($_POST) AND ! empty($_POST))
{
if (isset($_POST['question']))
{
foreach ($_POST['question'] as $id => $name)
{
if (empty($name))
{
// Remove entry
unset($data[$id]);
}
else
{
// Edit entry
$data[$id]['name'] = htmlspecialchars(stripslashes($_POST['question'][$id]), ENT_COMPAT, 'UTF-8');
}
}
}

if (isset($_POST['addQuestion']) AND ! empty($_POST['addQuestion']))
{
$data[] = array(
'name' => htmlspecialchars(stripslashes($_POST['addQuestion']), ENT_COMPAT, 'UTF-8'),
'yes' => 0,
'no' => 0,
);
}

// Try to save
if ( ! save_data($filename, $data))
die('Data cannot be saved');

header('Location: http://'.$_SERVER['HTTP_HOST'].'/admin.php');
exit();
}

/////////////////////////////
/// Write page
////////////////////////////
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Admin panel</h1>
<form action="/admin.php" method="post" accept-charset="UTF-8">
<?php
foreach ($data as $id => $entry)
{
?>
<div><label>Question <?php echo $id; ?>, voted "yes" <?php echo $entry['yes'];?>, voted "no" <?php echo $entry['no'];?></label><input type="text" name="question[<?php echo $id; ?>]" value="<?php echo $entry['name'];?>" /></div>
<?php
}
?>
<div><label>Add question</label><input type="text" name="addQuestion" value="" /></div>
<div><input type="submit" name="submit" value="Save" /></div>
</form>
</body>
</head>
</html>



view.php
<?php

require 'functions.php';

// Stored data file
$filename = 'data';
// Get stored data if exist
$data = load_data($filename);
$is_cookie = FALSE;
if (isset($_COOKIE) AND isset($_COOKIE['q']))
{
$is_cookie = TRUE;
}

// Check POST
if (isset($_POST) AND ! empty($_POST))
{
if (isset($_POST['question']))
{
foreach ($_POST['question'] as $id => $value)
{
if ($value == 1)
{
$data[$id]['yes'] += 1;
}
else
{
$data[$id]['no'] += 1;
}

setcookie("q[".$id."]", 1, time() + 3600*24); /* expire in 24 hours */
}

// Try to save
if ( ! save_data($filename, $data))
die('Data cannot be saved');
}

header('Location: http://'.$_SERVER['HTTP_HOST'].'/view.php');
exit();
}

/////////////////////////////
/// Write page
////////////////////////////
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Simple Quiz</h1>
<form action="/view.php" method="post" accept-charset="UTF-8">
<?php
$is_data = FALSE;
foreach ($data as $id => $entry)
{
if($is_cookie AND isset($_COOKIE['q'][$id]))
continue;

$is_data = TRUE;
?>
<div><label>Question <?php echo $id; ?> : <?php echo $entry['name'];?></label><label>Yes</label><input type="radio" name="question[<?php echo $id; ?>]" value="1" /><label>No</label><input type="radio" name="question[<?php echo $id; ?>]" value="0" /></div>
<?php
}

if ( ! $is_data)
{
echo 'You answered all the questions!';
}
else
{
?>
<div><input type="submit" name="submit" value="Send" /></div>
</form>
<?php
}
?>
</body>
</head>
</html>



functions.php

<?php

function load_data($filename)
{
if (file_exists($filename) AND is_readable($filename))
{
$raw_data = file_get_contents($filename);
if ( ! $raw_data)
return array();

return unserialize($raw_data);
}

return array();
}

function save_data($filename, $data)
{
return (bool)file_put_contents($filename, serialize($data));
}
2. Andruxa - 08 Июня, 2011 - 22:44:28 - перейти к сообщению
Цитата:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Предполагается кодировка utf я так понимаю.
Проверь в какой кодировке сохранены сами php файлы( в том числе и подгружаемые), их нужно сохранить (например Notepad++ ) тоже в utf

 

Powered by ExBB FM 1.0 RC1