PHP-Fehlermeldungen beim Vergleich von we:userInput

Hier können Sie Fragen bezüglich der Kundenverwaltung stellen.
staeubli

PHP-Fehlermeldungen beim Vergleich von we:userInput

Beitragvon staeubli » Di 4. Jul 2006, 16:59

Hallo zusammen, ich erhalten bei einer PHP-Abfrage immer Fehlermeldungen. Ich mache folgende Abfrage:

Code: Alles auswählen

<?php if ($we_ui_eingabe01[objektart] == "M_Wohnung") { print "checked"; } ?>
Und erhalte dann die folgende Fehlermeldung:

Notice: Use of undefined constant objektart - assumed 'objektart' in /var/www/vhosts/homesearch.ch/httpdocs/webEdition/we/templates/immo/newad01.tmpl on line 184

Notice: Undefined variable: we_ui_eingabe01 in /var/www/vhosts/homesearch.ch/httpdocs/webEdition/we/templates/immo/newad01.tmpl on line 184

Weiss jemand was dies bedeutet? Besten Dank für jeglichen Input... MfG Daniel

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Di 4. Jul 2006, 18:58

Hi,

so sollte es gehen.
Code: Alles auswählen
<?php if ($we_ui_eingabe01['objektart'] == "M_Wohnung") { print "checked"; } ?>

staeubli

Beitragvon staeubli » Di 4. Jul 2006, 20:10

Hallo Herr Einecke, vielen Dank klappt nun. Ich habe jedoch noch eine andere Anfrage. Ich habe ein erstes Formular, in dem ich über das Frontend Daten erfasse und mittels id="self" und verschiedenen Abfragen sofort speichere. Damit ich zum nächsten Eingabeformular komme, habe ich zwischen dem we:ifWritten den folgenden PHP-Code, mit dem ich dann automatisch weitergeleitet werde:

Code: Alles auswählen

<we:ifWritten type="object">
    		<!-- Ermitteln ObjektID fuer Edit-Weiterleitung zur naechsten Seite -->
			<?php
				/* Redirect auf naechste Seite im aktuell angeforderten Verzeichnis */
				$host  = $_SERVER['HTTP_HOST'];
				$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\');
				$extra = 'newad03.php';
				$objektidx = $GLOBALS["we_object"]["eingabe01"]->ID;
				header("Location: http://$host$uri/$extra?we_editObject_ID=$objektidx");
				exit;
    	</we:ifWritten>
Dies funktioniert soweit alles und man wird korrekt aufs nächste Forumlar geleitet. Auf dem nächsten Formular, indem ich ebenfalls verschiedene Eingabefelder habe, möchte ich genau so vor gehen. Die Problematik ist jedoch, dass diese PHP-Eingaben zwischen we:ifWritten nicht mehr korrekt ausgeführt werden, resp. die Weiterleitung funktioniert so nicht? Können Sie mir allenfalls sagen, wie ich die nächste Seite, in dem es wieder Eingabefelder hat ansprechen kann?:

Code: Alles auswählen

<we:ifWritten type="object">
    		<!-- Ermitteln ObjektID fuer Edit-Weiterleitung zur naechsten Seite -->
			<?php
				/* Redirect auf naechste Seite im aktuell angeforderten Verzeichnis */
				$host  = $_SERVER['HTTP_HOST'];
				$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\');
				$extra = 'newad03.php';
				$objektidx = $GLOBALS["we_object"]["eingabe01"]->ID;
				header("Location: http://$host$uri/$extra?we_editObject_ID=$objektidx");
				exit;
    	</we:ifWritten>
Zur Info, der Datensatz wird korrekt gespeichert und wenn ein Text, z.B. OK zwischen die we:ifWritten Tags geschrieben wird, wird dieser Text angezeigt. Also muss es an der PHP-Anweisung zum Weiterleiten an die nächste Seite liegen. Ich habe auch versucht eine PHP-Header Anweisung manuell, also mit dem richtigen URL einzutragen und dies klappt komischerweise auch nicht. Haben Sie mir einen Tipp an was das liegen könnte? Vielen Dank.

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Di 4. Jul 2006, 22:16

Hi,

wenn Sie die "header"-Funktion von PHP verwenden, dann darf davor keine Ausgabe stattfinden - also auch keine Leerzeichen oder Zeilenumbrüche.

Aktivieren Sie mal die webEdition-Fehlerbehandlung und alssen sich alles ausgeben. Dann werden Sie einen fehler finden der besagt, dass der header nicht gesetzt werden kann, da bereits etwas ausgegeben wurde.

Sie müssen also versuchen am besten den gesamten Code in die erste Zeile der Vorlage zu bekommen - auch ohne den HTML-Kommentar.

Nähere Information zu "header" gibt es hier:
http://www.php.net/header

fresh
Junior Member
Beiträge: 21
Registriert: Mo 31. Jan 2005, 12:02

Beitragvon fresh » Mi 5. Jul 2006, 18:22

Hallo Herr Einecke, Sie haben Recht. Sorry, hätte ich selber drauf kommen können. Ich habs nun mit dieser Anweisung gelöst:

Code: Alles auswählen

echo"<meta http-equiv="refresh" content="0;URL=$write_ok">";
MFG D. Stäubli


Zurück zu „Kundenverwaltung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste