Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2012, 22:57   #1
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
Радость PHP классы

Ниже приведенный код выдает ошибку
[katus@Katus Рабочий стол. PHP]$ php php.php
PHP Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /home/katus/Рабочий стол. PHP/php.php on line 14

Почему? =.

Код:
<?php

	class GBook {

	private
		$name, $msg, $mail, $site, $fileconf; // Имя, Сообщение, Мыло, Сайт, Файл конфигурации
	
	public
		function sf_conf($filename) // Устанавливает файл конфигурации 
		{
			$this->fileconf = $filename;
		}

		bool function init(string $var) // Проверяет, сожержит ли файл ошибки
		{
			$noerror = true;
			for ( $i = 0; $i <= strlen($var) + 1; $i++ ) 
				if ( $var[$i] == "\"" )
					$noerror = false;
			return $noerror;
		}

		function in($str, $type) // Ввод в переменные объекта класса
		{
			switch $type {
			case 'n':
				$this->name = $str;
				break;
			case 'e':
				$this->mail = $str;
				break;
			case 'm':
				$this->msg = $str;
				break;
			case 's':
				$this->site = $str;
				break;
			}
		}

		string function num_set($const_) // Установление номера сообщения
		{
			$f = fopen( $const_->fileconf, 'r'); // Читаем файл конфигурации
			$s = fread( $f, 256 ); // Получаем строку с числом
			fclose($f);
			for ( $i = 0; $i <= strlen($s); $i++ ) // Проверяем строку на наличие ненужных символов и удаляем их, если они есть
				if ( ( $s[$i] < '0' ) && ( $s[$i] > '9' ) ) {
					$s[$i] = "\0";
					break;
				}
			$i = strlen($s);
			$end = false; // Икрементируем число
			while ( $end == false ) { 
				if ( $s[$i] != '9' ) {
					$s[$i] = chr(ord($s[$i])+1);
					$end = true;
				} else
					$s[$i--] = '0';
			$f = fopen( $const_->fileconf, 'w' ); // Перезаписываем конфиг файла
			fwrite($f, $s);
			fclose($f);
			}

			return $s;
		}		

		bool function gf_write() // Пишем в файл данные
		{
			$noerror = true;
			$num = num_set($this);
			$f = fopen($num.'gm', 'w');
			fwrite($f, "<name>\n".$this->name."\n</name>\n");
			fwrite($f, "<email>\n".$this->name."\n</email>\n");
			fwrite($f, "<msg>\n".$this->msg."\n</msg>\n");
			if ($this->init($this->site))
				fwrite($f, "<site>\n".$this->site."\n</site>\n");
			fclose($f);	

			return $noerror;
		}

		bool function gf_read($page) // Читаем страницу
		{
		
		}
	}

	class GBook $Guest;

	$Guest->init("Привет");


?>
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 05.05.2012, 23:17   #2
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

извините, разобрался =) символ из строки оказывается считывается в виде $str{$num_of_char}
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 05.05.2012, 23:37   #3
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

PHP Notice: Uninitialized string offset: 11 in /home/katus/Рабочий стол. PHP/php.php on line 63
PHP Notice: Uninitialized string offset: 11 in /home/katus/Рабочий стол. PHP/php.php on line 64

в коде

Код:
               while ( $end == false ) { 
				if ( $s{$i} != '9' ) {
					$s{$i} = chr(ord($s{$i})+1);
					$end = true;
				} else
					$s{$i--} = '0';
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP - объекты, классы ulala PHP 1 11.01.2012 18:29
TopServer(PHP+MySQL+Apache+/etc), и обновление компонентов(в основном PHP) Пепел Феникса Софт 2 05.11.2011 14:38
PHP классы помогите разобратса Mixail PHP 7 22.06.2009 12:31
Классы в php Romanbl4 PHP 3 08.08.2008 07:09