Brak Class-y a po dodaniu Error

Forum przeznaczone na rozmowy między autorami modyfikacji i inne pytania związane z poważniejszą ingerencją w kod phpBB 3.0.x.
marcin19962
Posty: 2
Rejestracja: 01 lipca 2011, 11:48

Brak Class-y a po dodaniu Error

Post autor: marcin19962 » 01 lipca 2011, 12:00

Witam, chciałem zrobić prosty moduł dla phpbb, który by dodawał ludzi na whiteliste w minecrafcie z poziomu panelu moderatora (skrypt dodawania mam, przerobiłem go na moduł). Tutaj występuje problem, moduł działa idealnie dodaje użytkowników tylko chciałbym się pozbyć takiego oto problemu który występuje pod skryptem dodawania :

Kod: Zaznacz cały

Błąd ogólny
Module file ./includes/mcp/mcp_wl.php does not contain correct class [mcp_wl]
Po dodaniu class-y mcp_wl wywala taki błąd

Kod: Zaznacz cały

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/marcin1996/domains/minecampf.co.cc/public_html/includes/mcp/mcp_wl.php on line 4
W lini 4 znajduje się:

Kod: Zaznacz cały

	$finish = false; 
A cały kod wygląda mniej więcej tak:

Kod: Zaznacz cały

<?php
class mcp_wl
{
	$finish = false;
	include("wl_conf/config.php");
	require_once("wl_conf/libs/recaptchalib.php");
	$error= "";
	function Valid(){
		include("wl_conf/config.php");
		$resp = recaptcha_check_answer ($recaptcha_privatekey,
							$_SERVER["REMOTE_ADDR"],
							$_POST["recaptcha_challenge_field"],
							$_POST["recaptcha_response_field"]);
		if ($resp->is_valid or $recaptcha_enabled == false) {
			if(isset($_POST["username"]) and strlen($_POST["username"]) > 0 and $_POST["username"] != ""){
				$con = @mysql_connect($host,$username,$password);
				if($con == null){
					$error = "<span style='color: #990000;'>MySQL error: " . mysql_error() ."</span>";
					return $error;
				}
				$db = @mysql_select_db($db);
				if($db == null){
					$error = "<span style='color: #990000;'>MySQL error: " . mysql_error() ."</span>";
					return $error;
				}
				$IngameUsername = mysql_escape_string($_POST["username"]);

				$result = @mysql_query("INSERT INTO `$table` (`name`) VALUES ('$IngameUsername');");
				if($result == null){
					$error = "<span style='color: #990000;'>MySQL error: " . mysql_error() ."</span>";
					return $error;
				}
				$error = "<span style='color: #009900;'>Gracz dodany do whitelisty. Poczekaj kilka sekund na odswiezenie Bazy Danych</span>";
				return $error;
			}else{
				$error = "<span style='color: #990000;'>Musisz podac nick w minecraft</span>";
				return $error;
			}
		}else{
			if(isset($_POST["formsent"])){
				$error = "<span style='color: #990000;'>Zle przepisales !! :P</span>";
				return $error;
			}
		}
	}
	$error = Valid();
	}
?>

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Brak Class-y a po dodaniu Error

Post autor: daroPL » 01 lipca 2011, 15:09

Kod jest niepoprawny. Szybciej powinno wyglądać to tak

Kod: Zaznacz cały

   <?php
       $finish = false;
       include("wl_conf/config.php");
       require_once("wl_conf/libs/recaptchalib.php");
       $error= "";
    class mcp_wl
    {
       function Valid(){
          include("wl_conf/config.php");
          $resp = recaptcha_check_answer ($recaptcha_privatekey,
                         $_SERVER["REMOTE_ADDR"],
                         $_POST["recaptcha_challenge_field"],
                         $_POST["recaptcha_response_field"]);
          if ($resp->is_valid or $recaptcha_enabled == false) {
             if(isset($_POST["username"]) and strlen($_POST["username"]) > 0 and $_POST["username"] != ""){
                $con = @mysql_connect($host,$username,$password);
                if($con == null){
                   $error = "<span style='color: #990000;'>MySQL error: " . mysql_error() ."</span>";
                   return $error;
                }
                $db = @mysql_select_db($db);
                if($db == null){
                   $error = "<span style='color: #990000;'>MySQL error: " . mysql_error() ."</span>";
                   return $error;
                }
                $IngameUsername = mysql_escape_string($_POST["username"]);

                $result = @mysql_query("INSERT INTO `$table` (`name`) VALUES ('$IngameUsername');");
                if($result == null){
                   $error = "<span style='color: #990000;'>MySQL error: " . mysql_error() ."</span>";
                   return $error;
                }
                $error = "<span style='color: #009900;'>Gracz dodany do whitelisty. Poczekaj kilka sekund na odswiezenie Bazy Danych</span>";
                return $error;
             }else{
                $error = "<span style='color: #990000;'>Musisz podac nick w minecraft</span>";
                return $error;
             }
          }else{
             if(isset($_POST["formsent"])){
                $error = "<span style='color: #990000;'>Zle przepisales !! :P</span>";
                return $error;
             }
          }
       }
       $error = Valid();
       }
    ?>

marcin19962
Posty: 2
Rejestracja: 01 lipca 2011, 11:48

Re: Brak Class-y a po dodaniu Error

Post autor: marcin19962 » 02 lipca 2011, 08:15

Błąd na lini 46

Kod: Zaznacz cały

       $error = Valid();
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/marcin1996/domains/minecampf.co.cc/public_html/includes/mcp/mcp_wl.php on line 46

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Brak Class-y a po dodaniu Error

Post autor: daroPL » 02 lipca 2011, 17:21

To chyba miało być po ostatniej klamrze - nie można tworzyć instancji klasy w niej samej.

asalspammer
Posty: 1
Rejestracja: 12 lutego 2015, 10:52

Re: Brak Class-y a po dodaniu Error

Post autor: asalspammer » 12 lutego 2015, 11:01

W stylu brakowało kilku kluczowych wyrażeń



____________________
aliiii

Zablokowany

Wróć do „Dla deweloperów”