[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите нубасу)
kreator777
Здравствуйте,
Извините за название темы, я читал мануал, просто ничего не смог придумать по этому поводу. В общем коротко. Недавно начал изучать php и еще совсем нуб. установил вебсервер XAMPP, изучаю php по всяким учебникам. в одном из них есть пример работы со строками. В текстовое поле юзер должен ввести какой то текст и по нажатию кнопки он должен быть обработан след. образом: текст разбивается на слова, проверяется первая буква слова, если гласная то она заменяется на другие, если согласная то вконец слова добавляется окончание.
поидее всё должно работать, но почему то после нажатия кнопки выводится пустой экран. когда включил ошибки то получил
Deprecated: Function split() is deprecated
Notice: Undefined variable: newPhrase in E:\XAMPP\xampp\htdocs\string\Piglatin.php on line 37
Notice: Undefined variable: newPhrase in E:\XAMPP\xampp\htdocs\string\Piglatin.php on line 39
функцию сплит заменил на explode так как видимо она не поддерживается и остались только ноутисы что переменнная не определена. я не думаю что это ошибка, скорее всего неправильные настройки сервера, подскажите в чем еще может быть проблема?


<head>
<title>
Latinstrings</title>
</head>
<body>
<?

error_reporting(E_ALL);
if ($inputString == NULL){
print <<<HERE
<form>
<textarea name = "inputString"
rows = 20
cols = 40></textarea>
<input type = "submit"
value = "pigify">
</form>

HERE;
} else {
// когда значение передано - обработка
//разобъём фразу в массив

$words = explode(" ", $inputString);
foreach ($words as $theWord){
$theWord = rtrim($theWord); //убираем пробелы
$firstLetter = substr($theWord, 0, 1); //получаем первую букву
$restOfWord = substr($theWord, 1, strlen($theWord)-1); //остальные буквы

//print "$firstLetter( $restOfWord <br> \n";


if (strstr("aeiouAEIOU", $firstLetter)){
//это гласная
$newWord = $theWord . "way";
} else {
//это согласная
$newWord = $restOfWord . $firstLetter . "ay";
}
$newWord = $newPhrase . $newWord . " ";
}
print $newPhrase;
}
?>
</body>
</html>





Спустя 3 минуты, 37 секунд (10.06.2011 - 21:22) VolDroN написал(а):
Читайте то что вылазит. Там же всё понятно (или translate.google.ru) используйте.
Notice: Undefined variable: newPhrase in E:\XAMPP\xampp\htdocs\string\Piglatin.php on line 37
Переменная newPhrase не объявлена, ошибка на 37й строке.

Спустя 55 минут, 6 секунд (10.06.2011 - 22:17) kreator777 написал(а):
Спасибо, подскажите пожалуйста как её объявить?
я думал что бы объявить в пхп переменную, достаточно дать ей имя и присвоить какое то значение. еще мне кажется что из формы текст просто непередаётся в скрипт.

Спустя 5 минут, 29 секунд (10.06.2011 - 22:22) kreator777 написал(а):
А всё, спасибо, я нашел ошибку в коде)

Спустя 11 часов, 11 минут, 28 секунд (11.06.2011 - 09:34) VolDroN написал(а):
kreator777 да, достаточно дать ей имя и присвоить значение.
но вы этого не сделали)
В этой строчке: $newWord = $newPhrase . $newWord . " "; вы не $newPhrase значение устанавливаете, а $newWord, и вообще эта строчка сейчас нечего не даёт, потому-что $newPhrase пустая, это тоже самое что $newWord = ''.$newWord а значит и $newWord = $newWord
Эта строчка тоже нечего не выводит, print $newPhrase;.
Кстати на счёт print, используйте лучше echo, потому-что print более медленнее, она возвращает значение (true или false) если удалось или не удалось вывести данные на экран. А здесь вы не проверяется её значение, значит php зря тратит несколько сотых секунд)

Лучше писать не $inputString, а $_GET['inputString']

Спустя 3 дня, 6 часов, 24 минуты, 43 секунды (14.06.2011 - 15:58) kreator777 написал(а):
да я уже нашел эту ошибку.
спасибо за советы, очень благодарен вам.)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.