Übergabe von der Datenbank - bisher per Eingabe

Hattrix

Erfahrenes Mitglied
Hallo,

mein Code:

Code:
<html>
<head>
<title>..</title>
</head>
<body>
<?
  include "../conf/db.php";

  $db = @mysql_connect ($db_host, $db_user, $db_pass) or die ("Die Datenbankverbindung konnte nicht hergestellt werden. Bitte versuchen Sie es später nochmal.");
  @mysql_select_db($db_name,$db) or die ("Die Datenbank konnte nicht ausgewählt werden. Bitte versuchen Sie es später nochmal.");
  $strSQL = "SELECT Spieltag FROM punkte ORDER BY Spieltag DESC";
  $result = mysql_query($strSQL);
  if($result) {
    $test = @mysql_data_seek($result,0);
    if($test == false){
      $spieltag = 1;
    }
    else {
      $row = mysql_fetch_row($result);
      $spieltag = $row[0] + 1;
    }
  }
  else {
    echo "Es liegt ein Problem an der Datenbank vor. Bitte informieren Sie Ihren Administrator.";
  }

if(isset($_POST["Name"])){
  $result = mysql_query("SELECT * FROM tippspiel WHERE Name = '$_POST[Name]' AND Verein='$_POST[Verein]' AND Passwort=password('$_POST[Passwort]')");
  $test = @mysql_data_seek($result,0);
  if($test == false){
    echo "Ihre Userdaten sind falsch.<br><br>Entweder Sie haben sich vertippt (<a href='Tippen.php'>hier</a> entlang) oder Sie sind noch nicht registriert.<br><br>Passwort vergessen? -> <a href='forgotPassword.php'>hier</a> entlang.";
    exit;
  }
  $strSQL = "SELECT * FROM tipps WHERE Name = '$_POST[Name]' AND Spieltag = '$Spieltag'";
  $result = mysql_query($strSQL);
  if($result) {
    $test = @mysql_data_seek($result,0);
    if($test) {
      echo "Sie hatten den Tipp für diesen Spieltag schon zu einem früheren Zeitpunkt abgegeben.";
    }
    else {
      $strSQL = "INSERT INTO tipps VALUES ('$_POST[Name]','$spieltag','$_POST[S1h]','$_POST[S1a]','$_POST[S2h]','$_POST[S2a]','$_POST[S3h]','$_POST[S3a]','$_POST[S4h]','$_POST[S4a]','$_POST[S5h]','$_POST[S5a]','$_POST[S6h]','$_POST[S6a]','$_POST[S7h]','$_POST[S7a]','$_POST[S8h]','$_POST[S8a]','$_POST[S9h]','$_POST[S9a]','$_POST[S10h]','$_POST[S10a]','$_POST[S11h]','$_POST[S11a]','$_POST[S12h]','$_POST[S12a]','$_POST[S13h]','$_POST[S13a]','$_POST[S14h]','$_POST[S14a]','$_POST[S15h]','$_POST[S15a]',NOW())";
      $result = mysql_query($strSQL);
      if($result) {
        echo "Ihr Tipp wurde erfolgreich eingetragen!";
      }
      else {
        echo "Ihr Tipp konnte wegen Datenbankproblemen nicht eingetragen werden. Bitte informieren Sie Ihren Administrator.";
      }
    }
  }
  else {
    echo "Es liegt ein Problem an der Datenbank vor. Bitte informieren Sie Ihren Administrator.";
  }


}
else {

  $result = mysql_query("SELECT * FROM Spiele WHERE Spieltag = '".$spieltag."'");
  $test = @mysql_data_seek($result,0);
  if($test == false){
    echo "Der von Ihnen gesuchte Spieltag ist nicht in der Datenbank eingetragen.";
    exit;
  }
  $teams = @mysql_fetch_row($result);
  if($teams == false){
    echo "In der Datenbank konnte leider keine Reihe ausgewählt werden.";
    exit;
  }
?>
<center><h1>Tippabgabe</h1></center><br>
<form action="./Tippen.php" method="post">
<table cellspacing="4" cellpadding="8" align="left" border=0 width="100%">
  <tr>
    <td><h1>
      <?
        echo $spieltag.".Spieltag:<br>";
      ?></h1>
    </td>
  </tr>
  <tr>
    <td>
    <table width="60%" bgcolor="#00008F">
    <tr><td colspan="6"><b>1.Liga</b></td></tr>
    <tr><td width="44%"><? echo $teams[1]; ?></td><td width="1%">-</td><td width="44%"><? echo $teams[2]; ?></td><td width="5%"><input name="S1h" class="input" type="text" size="1" maxlength="1"></input></td><td width="1%">:</td><td width="5%"><input name="S1a" class="input" type="text" size="1" maxlength="1"></input></td></tr>
    <tr><td width="44%"><? echo $teams[3]; ?></td><td width="1%">-</td><td width="44%"><? echo $teams[4]; ?></td><td width="5%"><input name="S2h" class="input" type="text" size="1" maxlength="1"></input></td><td width="1%">:</td><td width="5%"><input name="S2a" class="input" type="text" size="1" maxlength="1"></input></td></tr>
    <tr><td width="44%"><? echo $teams[5]; ?></td><td width="1%">-</td><td width="44%"><? echo $teams[6]; ?></td><td width="5%"><input name="S3h" class="input" type="text" size="1" maxlength="1"></input></td><td width="1%">:</td><td width="5%"><input name="S3a" class="input" type="text" size="1" maxlength="1"></input></td></tr>
    <tr><td width="44%"><? echo $teams[7]; ?></td><td width="1%">-</td><td width="44%"><? echo $teams[8]; ?></td><td width="5%"><input name="S4h" class="input" type="text" size="1" maxlength="1"></input></td><td width="1%">:</td><td width="5%"><input name="S4a" class="input" type="text" size="1" maxlength="1"></input></td></tr>
    <tr><td width="44%"><? echo $teams[9]; ?></td><td width="1%">-</td><td width="44%"><? echo $teams[10]; ?></td><td width="5%"><input name="S5h" class="input" type="text" size="1" maxlength="1"></input></td><td width="1%">:</td><td width="5%"><input name="S5a" class="input" type="text" size="1" maxlength="1"></input></td></tr>
    </table><br>
    </td>
  </tr>
  <tr>
    <td>
    <table width="60%">
    <tr><td width="50%" align="right">Vor- und Zuname</td><td width="50%"><input name="Name" class="input" type="text" size="30" maxlength="40"></input></td></tr>
    <tr><td width="50%" align="right">Verein</td><td width="50%"><input name="Verein" class="input" type="text" size="30" maxlength="40"></input></td></tr>
    <tr><td width="50%" align="right">Passwort</td><td width="50%"><input type="password" class="input" name="Passwort" size="30" maxlength="10"></input></td></tr>
    <tr><td width="50%" align="right"><input type="submit" class="button" value="Speichern"></input></td><td width="50%"><input type="reset" class="button" value="Abbrechen"></input></td></tr>
    </table>
    </td>
  </tr>
</table>
<br>
<table width="50%" align="center" border="0"><tr><td align="center"><a href="./forgotPassword.php">Passwort vergessen</a></td></tr></table>
</form>
<?
}

  mysql_close();
?>
</body>
</html>

Mein Problem:
Bisher musste man immer sein Name und PW angeben. Nun habe ich aber ein Loginsystem, wo man ja eingeloggt ist und der Username mitgeschickt wird (session?).

Wie muss der Code dafür aussehen?
 
Danke, aber was ich vergessen habe zu erwähnen, dass das im "iframe" stattfinden soll. Dort ist das doch alles unabhängig von der Gesamtseite?
 
Jaja wieder das altbekannte Problem mit Frames...

Ich hatte auch immer Frames , bis ich mit Login angefangen habe :

Mein Vorschlag : steig auf Tabellen um !

Dann haste auch kein Problem mehr mit Session - Übergabe...

Oder : Ich meine in Javascript gibt es ne Möglichkeit 2 Seiten auf einmal neu zu machen (bei dir dann der Iframe und die Hauptseite !

Und das mit dem Sessions ... guck im Tut nach, oder hier (isn einfaches LoginSystem mit mysql :

http://www.tutorials.de/forum/php-tutorials/9684-php-mysql-login-system-mit-sessions.html

Sry wenn das das gleiche ist, wie oben :P

Gruß
 
Also
eine Session ist eine auf Deutsch übersetzt eine Sitzung.
Das heißt wenn du eine Seite aufmachst. egal welche baust du eine Sitzung auf.
Das hatt mit dem Iframe nichts zu tun.
Wenn du beim einstieg der Seite eine Session erstellst dann ist diese in allen IFrames sowie auf allen weiteren Seiten bei dir verfügbar.
Selbst wenn du 100.000 unterlinks und Frames und IFrames hast
Die Session ist da egal wo.
Diese muss nur ein einziges mal beim aufrufen der Seite Initialisiert werden und ab da ist Sie Global für jedermann *am PC* da.

Die Session wird aufm Server gespeichert deswegen ist es egal wo deine Daten liegen. Da die Daten sowieso vom Server kommen und wenn der Sagt *hopla da sin noch andere Informationen* dann werden die auch da sein.
Zu beachten ist nur das du die IFrame Seiten neu laden musst *damit der Server auch sagen kann ok diese Seite hatt neue Informationen

Wir reden hier von Asyncroner Technologie was bei AJAX benutzt wird z.b.

Du rufst eine Seite auf *die Informationen dort sind egal*
Nun prüft ein Script *sind die Aktuell?* ja nein?
Wenn nein werden diese einfach neu geladen.

Kurz gesagt
Wenn du mit IFrames arbeitest und auf anderen Seiten was änderst dann musst du das IFrame einfach neu laden dann bekommt es auch die neuen Informationen welche du vorher schon erstellt hast

hoffe dir hatt das geholfen
 
Zurück