• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Variablen in mehreren Scripten verfügbar machen

juelin

Neues Mitglied
auch wenn ich euch auf die nerven gehe.
hier nochmal mein problem mit varibalen in mehreren scripten.
ich hoffe es kann mir jemand helfen.
Deshalb schicke ich mal den Sourcecode mit.
Aufgerufen wir das Script sodoku.php.
wenn dann ein button gedrückt wird wird das script sod_button.php aufgerufen.
Hier möchte ich auf alle Variable aus Script sod_var.php zugrifen.
Wenn eins von den Feldern angeklick wird dann wird das Script
sod_feld.php aufgerufen. Auch hier will ich auf die Variablen zugreifen.
Das formular wird überall mit dem Script sod_bild.php aufgebaut.
Könnt Ihr mir da mal ein Beispiel machen ???
Da der Text zu lang würde, schicke ich die PHP-Scripte jeweils als eigene Antworten (Antworten 2 bis 6)
hiernach.
Gruss Jürgen
 
Zuletzt bearbeitet:
Variblen in mehreren Scripten verfügbar machen

script sodoku.php
PHP:
 <?
  include("sod_var.php");
  for ($h1=1;$h1<82;$h1++) {
    $h2=1;
    if ($h1 < 4)
      $h2=2;
    if ($h1 > 6 and $h1 < 13)
      $h2=2;
    if ($h1 > 15 and $h1 < 22)
      $h2=2;
    if ($h1 > 24 and $h1 < 28)
      $h2=2;
    if ($h1 > 30 and $h1 < 34)
      $h2=2;
    if ($h1 > 39 and $h1 < 43)
      $h2=2;
    if ($h1 > 48 and $h1 < 52)
      $h2=2;
    if ($h1 > 54 and $h1 < 58)
      $h2=2;
    if ($h1 > 60 and $h1 < 67)
      $h2=2;
    if ($h1 > 69 and $h1 < 76)
      $h2=2;
    if ($h1 > 78)
      $h2=2;
    $ist[$h1][1]=0;  
    $ist[$h1][2]=$h2;
    $ist[$h1][3]=1;
    $soll[$h1]=0;  
  }
  $feldnr=0;
  $feldfs=1;
  $feldfh=1;
  $feldwert=0;
  $bart=0;
  $werte="";
  $loes=0;
  $gruen=0;
  $zahl="";
  for ($h1=1;$h1<10;$h1++) {
    $zwerte[$h1]=0;
  }
  include("sod_bild.php");
?>
 
Variblen in mehreren Scripten verfügbar machen

script sod_var.php
PHP:
  <?
  global $ist;                                      // Istfelder (1..81)(1) Wert
                                                    // Istfelder (1..81)(2) Hintergrundfarbe 1=blau,2=weiss,3=gelb
                                                    // Istfelder (1..81)(3) Vordergrundfarbe 1=schwarz,2=grün,3=braun,4=rot
  global $soll;                                     // sollfelder (1..81)
  global $feldnr;                                   // Feldnummer
  global $feldfs;                                   // Feldfarbe Vordergrund
  global $feldfh;                                   // Feldfarbe Hintergrund
  global $feldwert;                                 // Feldwert
  global $bart;                                     // Art 0=Feld,1=zulässige Werte,2=Wert übernehmen
  global $werte;                                    // zulässige Werte für Textfeld
  global $loes;                                     // 0=Spiel,1=Speilende
  global $gruen;                                    // 0=Werte Normalfarbe,grösser Null=Werte grün
  global $zahl;                                     // Eingabewert für Feld
  global $zwerte;                                   // zulässige Werte für Feld
?>
 
Variblen in mehreren Scripten verfügbar machen

script sod_bild.php
PHP:
  <?
  include("sod_var.php");
  global $gif;
  $gif="";
  echo "<form action='sod_button.php' method='post'>";
    echo "<table bgcolor='#FFFFFF' border =0>";
      echo "<tr>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><font size='+2' color='#FF0000' face='Arial Black'>S</font></td>";
        echo "<td></td>";
        echo "<td><font size='+2' color='#FF0000' face='Arial Black'>O</font></td>";
        echo "<td></td>";
        echo "<td><font size='+2' color='#FF0000' face='Arial Black'>D</font></td>";
        echo "<td></td>";
        echo "<td><font size='+2' color='#FF0000' face='Arial Black'>O</font></td>";
        echo "<td></td>";
        echo "<td><font size='+2' color='#FF0000' face='Arial Black'>K</font></td>";
        echo "<td></td>";
        echo "<td><font size='+2' color='#FF0000' face='Arial Black'>U</font></td>";
      echo "</tr>";
      echo "<tr></tr>";
      echo "<tr>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><input type='submit' value='1' name='1'></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        $feldnr=1;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=1'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=2;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=2'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=3;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=3>'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=4;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=4'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=5;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=5'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=6;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=6'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=7;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=7'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=8;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=8'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=9;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=9'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><input type='submit' value='Wert übernehmen' name='13'></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><font size='+1' color='#000000' face='Arial Black'>Anleitung</font></td>";
      echo "</tr>";
      echo "<tr>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><input type='submit' value='2' name='2'></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        $feldnr=10;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=10'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=11;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=11'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=12;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=12'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=13;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=13'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=14;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=14'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=15;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=15'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=16;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=16'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=17;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=17'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=18;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=18'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><font size='-2' color='#000000' face='Arial Black'>Spielbeginn mit Button neues Spiel drücken und</font></td>";
      echo "</tr>";
      echo "<tr>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><input type='submit' value='3' name='3'></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        $feldnr=19;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=19'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=20;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=20'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=21;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=21'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=22;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=22'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=23;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=23'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=24;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=24'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=25;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=25'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=26;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=26'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        $feldnr=27;
        lade_gif();
        echo "<td><a href='sod_feld.php?tag=27'><img border='0' src=$gif></a></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><button type='submit' value='10' name='10'>neues Spiel</button></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><font size='-2' color='#000000' face='Arial Black'>warten bis Werte angezeigt werden.</font></td>";
      echo "</tr>";
.........
      echo "<tr>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td></td>";
        echo "<td><font size='-2' color='#000000' face='Arial Black'>Spielfeld anklicken zeigt zulässige Werte an.</font></td>";
      echo "</tr>";
    echo "</table>";
  echo "</form>";

  function lade_gif() {
    include("sod_var.php");
    global $gif;
    $h1=$ist[$feldnr][1];  
    $h2=$ist[$feldnr][2];
    $h3=$ist[$feldnr][3];
    $h6=$soll[$feldnr];
    if ($gruen > 0) {
      if ($h1 == $gruen) {
        $h3=2;
      }
    }
    if ($loes == 1) {
      if ($h1 <> 0) {
        if ($h1 <> $h6) {
          $h3=4;
        }
      }
    }
    $h4="b";
    if ($h2 == 1)
      $h4="b";
    if ($h2 == 2)
      $h4="w";
    if ($h2 == 3)
      $h4="y";
    $h5="b";
    if ($h3 == 1)
      $h5="b";
    if ($h3 == 2)
      $h5="g";
    if ($h3 == 3)
      $h5="m";
    if ($h3 == 4)
      $h5="r";
    $gif="bilder/".$h1.$h4.$h5.".gif";
  }
?>
 
Variblen in mehreren Scripten verfügbar machen

script sod_button.php
PHP:
  <?
  include("sod_var.php");
  $zahl="";
  if (isset($_POST["14"]))
    $zahl=$_POST["14"];
  if (isset($_POST["1"])) 
    f1();
  if (isset($_POST["2"]))
    f2();
  if (isset($_POST["3"]))
    f3();
  if (isset($_POST["4"]))
    f4();
  if (isset($_POST["5"]))
    f5();
  if (isset($_POST["6"]))
    f6();
  if (isset($_POST["7"]))
    f7();
  if (isset($_POST["8"]))
    f8();
  if (isset($_POST["9"]))
    f9();
  if (isset($_POST["10"]))
    init();
  if (isset($_POST["11"]))
    loesen();
  if (isset($_POST["12"]))
    zwert();
  if (isset($_POST["13"]))
    setzen();
  include("sod_bild.php");

  function init() {
    include("sod_var.php");
    $werte="";
    $bart=0;
    $loes=0;
    $gruen=0;
    for ($h1=1;$h1<82;$h1++) {
      $h2=1;
      if ($h1 < 4)
        $h2=2;
      if ($h1 > 6 and $h1 < 13)
        $h2=2;
      if ($h1 > 15 and $h1 < 22)
        $h2  =2;
      if ($h1 > 24 and $h1 < 28)
        $h2=2;
      if ($h1 > 30 and $h1 < 34)
        $h2=2;
      if ($h1 > 39 and $h1 < 43)
        $h2=2;
      if ($h1 > 48 and $h1 < 52)
        $h2=2;
      if ($h1 > 54 and $h1 < 58)
        $h2=2;
      if ($h1 > 60 and $h1 < 67)
        $h2=2;
      if ($h1 > 69 and $h1 < 76)
        $h2=2;
      if ($h1 > 78)
        $h2=2;
      $ist[$h1][1]=0; 
      $ist[$h1][2]=$h2; 
      $ist[$h1][3]=1; 
      $soll[$h1]=0;
    }
// laden $soll/$ist
  }
  function setzen() {
    include("sod_var.php");
    global $zahl;
    if ($loes == 0) {
      if ($bart == 0) {
        $werte="";
        $bart=2;
        $gruen=0;
      }
    }
  }
  function loesen() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $Loes=1;
      $gruen=0;
    }
  }
  function zwert() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=1;
      $gruen=0;
    }
  }
  function f1() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=1;
    }
  }
  function f2() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=2;
    }
  }
  function f3() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=3;
    }
  }
  function f4() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=4;
    }
  }
  function f5() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=5;
    }
  }
  function f6() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=6;
    }
  }
  function f7() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=7;
    }
  }
  function f8() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=8;
    }
  }
  function f9() {
    include("sod_var.php");
    if ($loes == 0) {
      $werte="";
      $bart=0;
      $gruen=9;
    }
  }
?>
 
Variblen in mehreren Scripten verfügbar machen

script sod_feld.php
PHP:
  <?
  include("sod_var.php");
  if ($loes == 0) {
    if (isset($_GET["tag"])) {
      $feldnr=(int)$_GET["tag"];
      $werte="";
      $gruen=0;
      if ($bart == 1) {
        include("sod_zwert.php");
        for ($h1=1;$h1<10;$h1++) {
          if ($zwerte[$h1] == 1) {
            if ($h1 > 1) {
              $werte=$werte.",".$h1;
            } else {
              $werte=$h1;
            }
          }
        }
      }
      if ($bart == 2) {
        $bart=0;
        if ($zahl <> "") {
          if ((int)$zahl) {
            $h1=strlen($zahl);
            if ($h1 == 1) {
              $ist[$feldnr][1]=(int)$zahl;
            }
          }
        }
      }
    } 
  }
  include("sod_bild.php");
?>
 
Wo liegt denn das Problem?

Das HTTP-Protokoll ist zustandslos. Das heißt, du musst Werte, die du zwischen Requests beibehalten willst, irgendwo zwischenspeichern. Zum Beispiel in einer Session.
 
Zuletzt bearbeitet:
Variblen in mehreren Scripten verfügbar machen

Hallo mermshaus,
vielen Dank für die Antwort.
Leider bin ich PHP-Neuling.
Kannst du mir ein Beispiel geben, wie man eine Session macht?
Gruss
Jürgen
 
Variblen in mehreren Scripten verfügbar machen

erst mal danke für die antwort.
Das ist genau das was ich brauche.
jetzt habe ich nur noch ein kleines Problem:
Wenn ich das PHP-Script laufen lasse läuft es durch bis zum ende ohne fehler.
Danach kommt aber folgende Fehlermeldung je $_SESSON-Eintag. (342 mal)
Notice: Unknown: Skipping numeric key 1 in Unknown on line 0
Notice: Unknown: Skipping numeric key 2 in Unknown on line 0
und so weiter bis key 342
PHP:
[<?
  $h2=0;
echo "senden=".$sid."<br>";
  session_start();
  session_id($sid);
  session_name($sid);
  for ($h1=1;$h1<82;$h1++) {
    $h2=$h2 + 1;
    $_SESSION[$h2]=$ist[$h1][1];
    $h2=$h2 + 1;
    $_SESSION[$h2]=$ist[$h1][2];
    $h2=$h2 + 1;
    $_SESSION[$h2]=$ist[$h1][3];
    $h2=$h2 + 1;
    $_SESSION[$h2]=$soll[$h1];
  }
  for ($h1=1;$h1<10;$h1++) {
    $h2=$h2 + 1;
    $_SESSION[$h2]=$zwerte[$h1];
  }
  $h2=$h2 + 1;
  $_SESSION[$h2]=$feldnr;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$feldfs;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$feldfh;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$feldwert;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$bart;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$werte;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$loes;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$gruen;
  $h2=$h2 + 1;
  $_SESSION[$h2]=$zahl;
echo "senden ende<br>";
?>
/PHP]
kannst du mir da helfen??
Gruss
Jürgen
 
Du kannst keine nummerischen Schlüssel auf der ersten Ebene des $_SESSION-Arrays haben. Nutze zum Beispiel $_SESSION['data'] oder so.

Wenn du ein neues Element in ein Array einfügen willst, tut es auch:

PHP:
$array[] = 'das neue Element';

Am Rande: „Konventionell“ beginnen Array-Indizes in PHP bei 0, aber das mag im Zweifel auch Geschmackssache sein.

Arrays können wie gesagt aus mehreren Dimensionen bestehen, was den Code sicher leichter zu lesen machen dürfte. (Ich steige durch das Beispiel nicht durch, daher hier kein Änderungsvorschlag.)

- PHP: Arrays - Manual
 

Neueste Beiträge

Zurück
Oben