mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 22:32 Benutzername: Passwort: Auto-Login

Thema: gültigkeitsbereich für variablen [PHP] vom 17.11.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> gültigkeitsbereich für variablen [PHP]
Seite: 1, 2  Weiter
Autor Nachricht
ive_beaten_tetris
Threadersteller

Dabei seit: 22.10.2007
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Sa 17.11.2007 14:24
Titel

gültigkeitsbereich für variablen [PHP]

Antworten mit Zitat Zum Seitenanfang

da mir meine php quellen auch nich weiter helfen konnten wende ich mich an euch. mein problem ist folgendes: in einer index.php definiere ich eine variable. in einer externen datei die dann später includet wurde soll diese variable auf ihren wert geprüft werden und mit mysql agieren. das ganze sieht dann so aus:

Code:
<?php
   //verbidung zur datenbank
   $username="username";
   $password="password";
   $database="database";
   $db_connection=mysql_connect('server', $username, $password);
   $db_select=mysql_select_db($database) or die( "unable to select database");
   echo $db_connection;
   echo $db_select;
   
   //schreiben in datenbank
   
   // ###################################### NEWS ######################################      

   if($entry_as == "news"){
      mysql_query(
         "INSERT INTO tabelle1 (title,content,mood) VALUES(
            '".$_POST[title]."',
            '".$_POST[content]."',
            '".$_POST[mood]."'
         )"
      );
   };
   
   // ###################################### LINKS ######################################      

   if($entry_as == "links"){
      mysql_query(
         "INSERT INTO tabelle2 (title,content,mood) VALUES(
            '".$_POST[title]."',
            '".$_POST[content]."',
            '".$_POST[mood]."'
         )"
      );
   };
   
?>


entry_as ist die variable die auf ihren wert geprüft werden soll wie oben gezeigt. in anderen includeten dateien existiert der wert für diese variable noch wenn ich das ganze beispielsweise mit echo ausgeben lasse. versuche ich den wert aber in diesem script ausgeben zu lassen passiert gar nichts. definiere ich die variable hier neu... gehts

blickt ihr durch?
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 17.11.2007 14:30
Titel

Antworten mit Zitat Zum Seitenanfang

wo wird die datei denn includiert?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
ive_beaten_tetris
Threadersteller

Dabei seit: 22.10.2007
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Sa 17.11.2007 14:42
Titel

Antworten mit Zitat Zum Seitenanfang

das passiert nachdem ein formular ausgefüllt und abgesendet wurde. also das formular verweist auf eine andere php datei die dir sagt "danke und blah" und sowas und in dieser php wird dann meine funktion aufgerufen. das formular ist ein link der auf ner anderen php seite steht

edit:




das ist die struktur. der pfad unterschied wirds aber denke ich nicht sein da die anderen fuktionen die im selben ordner liegen wie meine funktion vorhin $entry_as immer noch als gültig erkenne und dessen wert ausgeben können per echo


Zuletzt bearbeitet von ive_beaten_tetris am Sa 17.11.2007 14:51, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 17.11.2007 15:12
Titel

Antworten mit Zitat Zum Seitenanfang

raff ich zwar immer noch nicht so genau, aber wenn du bspw. die variable $entry_as (so hab ich das jetzt verstanden) definierst, dann mit dem formular in einem hidden-field absendest, musst du sie aus dem $_REQUEST bzw. $_POST-Array nehmen. Denn standardmäßig steht die Einstellung register_globals auf off und somit steht $entry_as nicht automatisch zur verfügung. $_REQUEST['entry_as'] wäre dann das Zauberwort. Ansonsten würde ich niemals ungefilterte Request-Variablen direkt in sql-statements einsetzen, das öffnet dem Missbrauch Tür und Tor.

Generell gilt: Variablen, die du außerhalb einer Funktion definierst oder auch nur deklarierst, sind im Scope der Funktion nicht verfügbar (anders als bspw. in Javascript). Du kannst sie aber mit dem Schlüsselwort "global" innerhalb der Funktion ansprechen.


Zuletzt bearbeitet von bacon am Sa 17.11.2007 15:14, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
ive_beaten_tetris
Threadersteller

Dabei seit: 22.10.2007
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Sa 17.11.2007 15:22
Titel

Antworten mit Zitat Zum Seitenanfang

ne ne meine formulare sprechen diese variable nicht an
es handelt sich hier um eine von mir definierte variable die dazu dient eine abfrage zu gestalten. sie wird einmal mit einem wert gesetzt und sonst nur in einer anderen datei abgefragt aber nie über ein formular vergeben oder weiter gereicht oder sonstiges
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 17.11.2007 15:25
Titel

Antworten mit Zitat Zum Seitenanfang

-.- aber Variablen gelten doch jeweils nur für einen einzigen Seitenaufruf (das liegt an der Architektur der ganzen Sache, http - statuslos und so). Sprich, wenn du die Variable in einem Seitenaufruf - damit Scriptaufruf - definierst, und dann per POST oder GET-Request einen neues Script startest, ist die Variable fott. Weg, für immer und ewig. Variablen werden nicht implizit über mehrere HTTP-Requests hinweg gespeichert.

Es gibt aber einen Weg, um das zu bewerkstelligen, nämlich explizit über die Verwendung der PHP-eigenen Session-Funktionen. Siehe PHP-Doku.
  View user's profile Private Nachricht senden
ive_beaten_tetris
Threadersteller

Dabei seit: 22.10.2007
Ort: Berlin
Alter: -
Geschlecht: Männlich
Verfasst Sa 17.11.2007 15:32
Titel

Antworten mit Zitat Zum Seitenanfang

naja da sich der wert der variable aber mit jedem seitenaufruf verändert werd ich mal versuchen das ganze mit mysql umzusetzen
danke <3
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 17.11.2007 15:51
Titel

Antworten mit Zitat Zum Seitenanfang

jo kein problem. wahrscheinlich hab ich die problematik auch nicht ganz verstanden *zwinker*
  View user's profile Private Nachricht senden
 
Ähnliche Themen Header mit Variablen?
variablen in html
[PHP] Variablen verknüpfen
PHP - Variablen in SQL Abfragen
[Flash MX] Variablen etc.
Variablen übergeben
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.