PHP Problem

11/16/2014 17:36 SHA256#1
Naben heute, arbeite momentan an einer AJAX Application.
JSON Wird korrekt übergeben habs mit echo $_POST["name"]; bereits probiert und wurde korrekt übergeben.
Mein Problem ist, dass ich das Objekt nicht erstellt bekomme.
Hier die Klasse:
Code:
class newBlogEntry extends MCB{
	public function prepare($posting,$title,$keywords,$desc){
		if($posting != "" || $title != "" || $keywords != "" || $desc != ""	){
			echo "NO";
			return false;
		}
		else{
			echo "OK";
		}
	}


}
hier der code für ajax (test.php)
Code:
Dieser HTML wird ausgegeben
<?
       echo "wdw"; // Wird ausgegeben!
	include_once("xyz/include/mcb.Cl.php");
        echo "wdw"; // Wird ausgegeben!
	$CHK = new MCB;
	echo "wdw"; // Wird nicht mehr ausgegeben!
	$CHK->prepare($_POST["content"],$_POST["title"],$_POST["keywords"],$_POST["desc"]);
?>
Kann mir da wer weiterhelfen bitte?
Mit freundlichen Grüßen
11/17/2014 07:25 mhaendler#2
Hey,

ist dein error_reporting an? Wie siehte s mit display_errors aus?

Ich denke du hast einen Fehler in deinem Code und zwar hier:

$CHK = new MCB;

Das müsste so heißen:

$CHK = new MCB();

Falls das auch nicht klappt überprüfe mal die Fehlerausgabe ob du nicht einen PHP Fehler erhältst bzw. was in deinem Error-Log steht
11/17/2014 12:55 Syntaxfehler#3
@dealaking:

Bei einer Klasseninstanziierung ohne Parameter erfordert PHP keine leeren Klammern.

@SHA256:

Zu deinem Code:

PHP Code:
class newBlogEntry extends MCB{
    public function 
prepare($posting,$title,$keywords,$desc){
        if(
$posting != "" || $title != "" || $keywords != "" || $desc != ""    ){
            echo 
"NO";
            return 
false;
        }
        else{
            echo 
"OK";
        }
    }



Du erstellst hier eine Klasse namens "newBlogEntry", also musst du entsprechend auch

PHP Code:
$CHK = new newBlogEntry
benutzen.
Mit "extends MCB" werden die Methoden von "MCB" an "newBlogEntry" vererbt, aber nicht anders herum.

Versuche das mal anzupassen & vergiss nicht ggf. die Datei für die Klasse "newBlogEntry" zu inkludieren (falls sie sich nicht in "mcb.Cl.php" befindet).

Btw.: Was soll deine "prepare"-Funktion bewirken? Die wird jedesmal "NO" liefern, sobald ein Parameter nicht ein leerer String ist.