Werte aus PHP Funktionen außerhalb der Funktion auslesen?
Verona
- php
Hallo liebes Forum,
ich nutze den Vorteil, dass man PHP-Code mit HTML-Code vermischen kann. Leider habe ich mir dabei eine Stolperfalle gestellt, aus der ich gerne wieder herausstolpen möchte. :-)
Am Kopf der Datei (PHP/HTML) rufe ich eine PHP-Funktion auf, die mir Daten in eine MySQL-Datenbank schreibt bzw. bei einem Anwenderfehler (z.B. Nachname nicht eingetragen) eine Mitteilung an den Anwender, hier $errormsg, ausgibt.
Nach der Funktion kommt dann der eigentliche HTML-Inhalt mit weiteren kleinen PHP-Schnipseln darin.
Da ich die Funktion oberhalb bzw. vor dem HTML-Teil aufrufe, bringt mir die Funktion das $errormsg selbstverständlich auch über den HTML-Teil auf den Schirm.
Wie kann ich jetzt den Inhalt aus $errormsg unterhalb des HTML-Teils ausgeben, ohne a) den Funktionsaufruf nach unten zu verschieben und ohne b) die Funktionsvariable global verfügbar zu machen?
Hi!
Ich bin kein Profi aber evtl kann ich dir ein Denkansatz geben!
ist $errormsg eine spezielle Varuiable ?
ansonnsten könnte dir das evtl weiter helfen!
<?PHP
........
##bei fehker wird $errormsg gefüllt
......
?>
<?
if ($errormsg == ""){
echo "<html>\n";
...... norm seite....
}else{
Echo $errormsg;
}
?>
ich weiß in einer If schleife ist ein bissl umständlich...aber mit replace sollte mann das echo " und das \n"; an jeder zeile einsetzten können......so mache ich es zumindest bisher, oder ich lade den entsprechenden quelltext aus einer anderen datei.....
Ich hoffe ine bissl geholfen zu haben
Gruß Zerbe
Hallo Verona,
da wirst du nicht geholfen werden können. *scnr*
Du willst ja keine globale Variable, obwohl die ja nur Dein Script sehen kann, solange es lebt, und nicht die ganze Welt. Eine andere Möglichkeit, als eine globale Variable zu füllen, weir es nicht geben, wenn Du die Meldung nicht auf Platte zwischenlagern willst solange.
Was spricht außerdem dagegen, das leuchtet mir nicht ein. Gibt es ein Problem mit Rekursion in dem Script? Dann bau ein Array für die Fehlermeldungen und stopf sie rein.
<?php #### das Fehlerscript #### error.php ####
function get_my_personnel_message($person)
{
$msg="kein Fehler aufgetreten";
if ($person == "me")
{
$msg="Du bist der Fehler";
}
return $msg;
}
$errormsg = get_my_personnel_message("me");
?>
<html>
</body>
bla, blubb, sabber
<div class="messages"><?=$errormsg ?></div>
</body>
</html>
WIESO nicht so? Sags mir! :-)
Liebe Grüße aus http://www.braunschweig.de
Tom