PHP Notierung

Homepages, CMS, Templates, Web Based Programming, Webhosting, Gameserver

Moderatoren: coolmann, chillmensch

darkeye
Beiträge: 165
Registriert: 18.06.2008, 09:06
Wohnort: Chemnitz
Kontaktdaten:

PHP Notierung

Beitragvon darkeye » 22.09.2010, 13:56

Hallo,

habe eine PHP datei, welche komische Notationen aufweist: z.B:

Code: Alles auswählen

$content = <<<A



Dasselbe gibt noch mehrmals mit B,C, D usw.
Aber auch so:

Code: Alles auswählen

$content .= <<<I


Desweiteren finde ich das komisch:

Code: Alles auswählen

{$term['back']}

ich finde dazu nichts weder $term noch back.

Auch derartige sachen sind mir noch nicht untergekommen:

Code: Alles auswählen

  <tr$style>


Noch etwas fragwürdiges:

Code: Alles auswählen

<option$selected value=\"$val\">$val</option>";


Wäre klasse, wenn mir jemand das erklären könnte - ist das alles noch php?
Bild

Joyrider
Beiträge: 4570
Registriert: 27.09.2006, 08:45

Re: PHP Notierung

Beitragvon Joyrider » 22.09.2010, 16:38

Die $-Dinger sind Variablen.

z.B. setzt "$content = 1;" die Variable Content auf den Wert 1.
mit "echo $content;" würde PHP dir den Wert von $content ausgeben, in diesem Fall "1".

Bin mir nicht mehr ganz sicher, aber das .= sollte den Wert hinzufügen statt ihn fest zu setzen.
$content .= <<<I

Desweiteren finde ich das komisch:


Der Rest wie: {$term['back']} und <tr$style>, sowie <option$selected value=\"$val\">$val</option>"; sind Mischungen aus PHP und HTML (und wohl auch CSS).

Benutzeravatar
schmidtsmikey
Site Admin
Beiträge: 8969
Registriert: 08.12.2003, 21:50
Wohnort: Hamburg
Kontaktdaten:

Re: PHP Notierung

Beitragvon schmidtsmikey » 22.09.2010, 19:28

.=

Das bedeutet, dass man einer vorhandenen Variable etwas hinzufügt.

Code: Alles auswählen

$foo = "Hallo ";
$foo .= " Peter"
echo $foo;

# Ausgabe Hallo Peter

Benutzeravatar
Jensomio
Moderator
Beiträge: 1008
Registriert: 28.08.2005, 12:01
Wohnort: Irgendwo
Kontaktdaten:

Re: PHP Notierung

Beitragvon Jensomio » 23.09.2010, 01:10

@Alle die Geantwortet haben. Ich Glaube wohl nicht, dass er den .= Operator gemeint hat, sondern die völlig ungültige php syntax. Bis auf "{$term['back']}" ist da nichts zu gebrauchen. Die Geschweiften Klammern macht man um solche Array Variablen, um sie in Strings setzen zu können. Kann es sein, dass das keine PHP Datei, sondern ein Template für irgendeine Engine ist?
AMD Ryzen 7 5800X
64GB RAM
RTX 3070ti

darkeye
Beiträge: 165
Registriert: 18.06.2008, 09:06
Wohnort: Chemnitz
Kontaktdaten:

Re: PHP Notierung

Beitragvon darkeye » 25.09.2010, 10:24

Hallo@all...

also ich kenne mich ein wenig in PHP und ein bisschen viel in HTL/CSS aus.
Ich weiss, was variablen und dergleichen sind.
Ich versteh halt nur nicht, wieso das so komsich geschrieben ist. Die Syntax ist mir unverständlich - ich finde derlei Syntax auch nicht in diversen PHP Büchern.

@Jensomio
Was meinst du mit Template für eine Engine?
Das Ganze ist ein soll einen Einschreibevorgang in Vorlesungen und Seminare darstellen.

Danke für die Hilfe...

BTW. Würde es sich lohnen die ganze datei zu posten? Sie ist 48KB groß.
Bild

Benutzeravatar
Jensomio
Moderator
Beiträge: 1008
Registriert: 28.08.2005, 12:01
Wohnort: Irgendwo
Kontaktdaten:

Re: PHP Notierung

Beitragvon Jensomio » 25.09.2010, 10:45

mach mal
AMD Ryzen 7 5800X
64GB RAM
RTX 3070ti

darkeye
Beiträge: 165
Registriert: 18.06.2008, 09:06
Wohnort: Chemnitz
Kontaktdaten:

Re: PHP Notierung

Beitragvon darkeye » 25.09.2010, 10:52

Code: Alles auswählen

<?php require_once('../include.php'); site(__FILE__); ?> // ist die Rahmenoptik der Uni - zu vernachlässigen
<?php

// Erste Seite nach Klick auf Online-Einschreibung: Abfrage der Daten bei erstmaligem Besuch oder Anzeigen der Übersicht

while(list($key, $val) = each($_POST)) {$_POST["$key"] = htmlentities($val,ENT_QUOTES);}

$lectures_site = mysql_fetch_array(mysql_query("SELECT id FROM site WHERE href = 'lectures'",$db));

$uri_ = ereg_replace("(\?logout_notice)|(&amp;logout_notice)","", $uri);
$uri_ = ereg_replace("(\?logout)|(&amp;logout)","", $uri_);
if (ereg("\?",$uri_)) {$mod = "&amp;";} else {$mod = "?";}

// Aktuelles Semester wird abgefragt von Server-Datum
$s = array("02","03","04","05","06"); //Sommersemester
$y = array("07","08","09","10","11","12"); //Wintersemester sind alle anderen und diese hier angegebenen
$month = date("m");
$year = date("Y");
if (in_array($month,$s)) {
  $sem_act = $year;
}
else {
  if (in_array($month,$y)) {
    $sy = $year+1;
    $sem_act = $year . "/" . $sy;
  }
  else {
    $sy = $year-1;
    $sem_act = $sy . "/" . $year;
  }
}
// Abfragen der Daten bei erstmaliger Anmeldung
$powi = "Politikwissenschaft";
$hnbm = array("h","n","b","m"); //h=magister powi, n=unbekannt, b=bachelor powi, m=master powi, f=fachfremd
$f = "f";
$studies = array("Angewandte Sprachwissenschaft","Anglistik/Amerikanistik","Erwachsenenbildung/betriebliche Weiterbildung","Europastudien (BA)","Europ&auml;ische Geschichte (BA)","Europ&auml;ische Geschichte (MA)","Europ&auml;ische Integration (MA)","Germanistik","Informatik","Interkulturelle Kommunikation","Medienkommunikation (BA)","Medienkommunikation (MA)","Mikrotechnik/Mechatronik","P&auml;dagogik","Psychologie","Soziologie","Systems Engineering","Technikkommunikation","Wirtschaftswissenschaften BWL","Wirtschaftswissenschaften VWL","Sonstiges");
$content = $studies_ = "";
while(list($key, $val) = each($studies)) {
  if (isset($_SESSION['studies']) && $_SESSION['studies'] == $val || isset($_POST['studies']) && $_POST['studies'] == $val) {
    $selected = " selected=\"selected\"";
  }
  else {
    $selected = "";
  }
  $studies_ .= "\n          <option$selected value=\"$val\">$val</option>";
}

// ?? eventuell: Ausrechnen des Semesters, in dem sich der User befinden müsste
if (!isset($_SESSION['student_id']) || !isset($_SESSION['first_name']) || !isset($_SESSION['last_name']) || !isset($_SESSION['mail']) || !isset($_SESSION['faculty']) || !isset($_SESSION['urz']) || !isset($_SESSION['registration_number']) || !isset($_SESSION['semester']) || !isset($_SESSION['hnfbm']) || !isset($_SESSION['studies'])) {
  $sem = array();
  if (strlen($sem_act) == 4) {$rs = 0; $yr = $sem_act;} else {$rs = 1; $yr = substr($sem_act,0,4);}
  for($x=0;$x<18;$x++) {
    if ($rs == 0) {
      $val = $yr;
      array_push($sem,$val);
      $sr = 3;
      $yr = $yr-1;
    }
    if ($rs == 1) {
      $ys = $yr+1;
      $val = $yr . "/" . $ys;
      array_push($sem,$val);
      $sr = 2;
    }
    if ($rs == 2) {
      $val = $yr;
      array_push($sem,$val);
      $sr = 3;
      $yr = $yr-1;
    }
    if ($rs == 3) {
      $ys = $yr+1;
      $val = $yr . "/" . $ys;
      array_push($sem,$val);
      $sr = 2;
    }
    $rs = $sr;
  }

// Userdaten aus Tabelle "students" holen
  $result = mysql_query("SELECT * FROM students WHERE urz = '{$_SERVER['REMOTE_USER']}'",$db);
  $all = mysql_num_rows($result);
  if ($all == 1) {
    $array = mysql_fetch_array($result);
    $_SESSION['student_id'] = $array['id'];
    $_SESSION['first_name'] = $array['first_name'];
    $_SESSION['last_name'] = $array['last_name'];
    $_SESSION['mail'] = $array['mail'];
    $_SESSION['faculty'] = $array['faculty'];
    $_SESSION['urz'] = $array['urz'];
    $_SESSION['registration_number'] = $array['registration_number'];
    $_SESSION['semester'] = $array['semester'];
    $_SESSION['hnfbm'] = $array['hnfbm'];
    $_SESSION['studies'] = $array['studies'];
  }

// Bei erstmaliger Anmeldung Formulardaten des Users in Tabelle "students" schreiben
  // Alle erforderlichen Daten wurden angegeben und das Formular abgeschickt
  else if (isset($_POST['action']) && $_POST['action'] == $term['submit'] && isset($_POST['registration_number']) && isset($_POST['semester']) && isset($_POST['hnfbm']) && isset($_POST['studies'])) {
  // folgende $_SESSION-Definitionen gibt es weiter unten noch einmal, aber aus irgend einem Grund verliert der Browser diese (und nur diese) WTC-Session-Daten
  $_SESSION['first_name'] = utf8_decode($_SERVER['HTTP_SHIB_INETORGPERSON_GIVENNAME']);
  $_SESSION['last_name'] = utf8_decode($_SERVER['HTTP_SHIB_PERSON_SURNAME']);
  $_SESSION['mail'] = utf8_decode($_SERVER['HTTP_SHIB_ORGPERSON_EMAILADDRESS']);
  $_SESSION['faculty'] = utf8_decode($_SERVER['HTTP_SHIB_ORGPERSON_ORGUNIT']);
  $_SESSION['urz'] = utf8_decode($_SERVER['REMOTE_USER']);
// Testzwecke
//  echo $_SESSION['first_name']; echo "<br>";
//  echo $_SESSION['last_name']; echo "<br>";
//  echo $_SESSION['mail']; echo "<br>";
//  echo $_SESSION['faculty']; echo "<br>";
//  echo $_SESSION['urz']; echo "<br>";
    if (isset($_SESSION['first_name']) && isset($_SESSION['last_name']) && isset($_SESSION['mail']) && isset($_SESSION['faculty']) && isset($_SESSION['urz'])) {
      if (is_numeric($_POST['registration_number']) && strlen($_POST['registration_number']) <= 6 && strlen($_POST['registration_number']) >= 5) {
        if (in_array($_POST['semester'],$sem)) {
          if ((in_array($_POST['hnfbm'],$hnbm) && $_POST['studies'] == $powi) || (in_array($_POST['studies'],$studies) && $_POST['hnfbm'] == $f)) {
            mysql_query("INSERT INTO students (first_name, last_name, mail, faculty, urz, registration_number, semester, hnfbm, studies, time, ip) VALUES ('{$_SESSION['first_name']}','{$_SESSION['last_name']}','{$_SESSION['mail']}','{$_SESSION['faculty']}','{$_SESSION['urz']}','{$_POST['registration_number']}','{$_POST['semester']}','{$_POST['hnfbm']}','{$_POST['studies']}',NOW(),'{$_SERVER['REMOTE_ADDR']}')",$db);
            if (mysql_insert_id($db) != 0) {
              $_SESSION['student_id'] = mysql_insert_id($db);
              $_SESSION['registration_number'] = $_POST['registration_number'];
              $_SESSION['semester'] = $_POST['semester'];
              $_SESSION['hnfbm'] = $_POST['hnfbm'];
              $_SESSION['studies'] = $_POST['studies'];
            }
          }
// Diverse Fehlermeldungen, falls was schiefgeht bei der erstmaligen Anmeldung
          else {
            if ($_POST['hnfbm'] == $f) {
              $notice = $term['notice_hnfbm'];
            }
            else {
              $notice = $term['notice_default_studies'];
            }
          }
        }
        else {
          $notice = $term['notice_semester'];
        }
      }
      else {
        $notice = $term['notice_registration_number'];
      }
    }
    else {
      $notice = $term['notice_cookies'];
    }
  }

// Erstmalige Anmeldung, Formular wurde noch nicht abgesendet: Daten vom WTC in Datenbank "students" übertragen (hab ich weiter oben noch mal eingefügt!!)
  if (!isset($_SESSION['student_id']) || !isset($_SESSION['registration_number']) || !isset($_SESSION['semester']) || !isset($_SESSION['hnfbm']) || !isset($_SESSION['studies'])) {
    if (!isset($_SESSION['first_name']) || !isset($_SESSION['last_name']) || !isset($_SESSION['mail']) || !isset($_SESSION['faculty']) || !isset($_SESSION['urz'])) {
        $_SESSION['first_name'] = utf8_decode($_SERVER['HTTP_SHIB_INETORGPERSON_GIVENNAME']);
        $_SESSION['last_name'] = utf8_decode($_SERVER['HTTP_SHIB_PERSON_SURNAME']);
        $_SESSION['mail'] = utf8_decode($_SERVER['HTTP_SHIB_ORGPERSON_EMAILADDRESS']);
        $_SESSION['faculty'] = utf8_decode($_SERVER['HTTP_SHIB_ORGPERSON_ORGUNIT']);
        $_SESSION['urz'] = utf8_decode($_SERVER['REMOTE_USER']);
    }
    if (isset($_SESSION['first_name']) && isset($_SESSION['last_name']) && isset($_SESSION['mail']) && isset($_SESSION['faculty']) && isset($_SESSION['urz'])) {
      $semester_ = $value = "";
      while(list($key, $val) = each($sem)) {
        if (isset($_POST['semester']) && $_POST['semester'] == "$val") {
          $selected = " selected=\"selected\"";
        }
        else {
          $selected = "";
        }
        if (strlen($val) == 4) {
          $semester = $term['ss'];
        }
        else {
          $semester = $term['ws'];
        }
        $semester_ .= "\n          <option$selected value=\"$val\">$semester $val</option>";
      }
      if (isset($notice)) {
      $content .= <<<A
<div style="padding:5px;background-color:#C0DAC0;text-align:center;color:red;">$notice</div>\n
A;
      $value = $_POST['registration_number'];
      }

// Formular für erstmalige Anmeldung
      $content .= <<<B
<form action="$uri" method="POST">
  <table width="100%" cellspacing="0" cellpadding="3" border="0" style="background-color:#C0DAC0;">
    <tr>
      <td width="40%" valign="top">{$term['e-mail']}:</td>
      <td width="60%" valign="top">{$_SESSION['mail']}</td>
    </tr>
    <tr>
      <td width="40%" valign="top">{$term['faculty']}:</td>
      <td width="60%" valign="top">{$_SESSION['faculty']}</td>
    </tr>
    <tr>
      <td width="40%" valign="top">{$term['registration_number']}:</td>
      <td width="60%" valign="top">
        <input type="text" name="registration_number" value="$value" size="6" maxlength="6">
      </td>
    </tr>
    <tr>
      <td width="40%" valign="top">{$term['since_when_you_are_studying']}</td>
      <td width="60%" valign="top">
        <select name="semester" size="1">
          <option value="">{$term['select']}</option>$semester_
        </select>
      </td>
    </tr>
    <tr>
      <td width="40%" valign="top">{$term['are_you_studying_ikk_as']}</td>
      <td width="60%" valign="top">
        <input type="radio" name="hnfbm" value="b">{$term['b']}<br />
        <input type="radio" name="hnfbm" value="m">{$term['m']}<br />
        <input type="radio" name="hnfbm" value="h">{$term['hf']}<br />
        <input type="radio" name="hnfbm" value="f">{$term['ff']}
      </td>
    </tr>
    <tr>
      <td width="40%" valign="top">{$term['default_studies']}</td>
      <td width="60%" valign="top">
        <select name="studies" size="1">
          <option value="$powi">$powi</option>$studies_
        </select>
      </td>
    </tr>
    <tr>
      <td width="40%">&nbsp;</td>
      <td width="60%" align="right">
        <input type="submit" name="action" value="{$term['submit']}" />
        <input type="reset" value="{$term['reset']}" />
      </td>
    </tr>
  </table>
</form>
B;
    }
  }
}

// ---bis hierher: ERSTMALIGE ANMELDUNG


// Einschreibung für eine Veranstaltung
if (isset($_SESSION['student_id']) && isset($_SESSION['first_name']) && isset($_SESSION['last_name']) && isset($_SESSION['mail']) && isset($_SESSION['faculty']) && isset($_SESSION['urz']) && isset($_SESSION['registration_number']) && isset($_SESSION['semester']) && isset($_SESSION['hnfbm']) && isset($_SESSION['studies'])) {
  $i = 0;
  $html = array_flip(get_html_translation_table (HTML_ENTITIES));
  $email_subject = strtr($term['confirmation'],$html);
  $email_from = "From:Webmaster Politikwissenschaft<powi-owner@tu-chemnitz.de>";
  $registrations = $waitings = $lectures = $waiting_list = array();
  // Ausrechnen des Semesters, in dem sich der User im aktuellen Semester befinden müsste
  $se_ = "";
  $se = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20");
  if (strlen($sem_act) == 4 && strlen($_SESSION['semester']) == 4) {
    $sem_ = (($sem_act - $_SESSION['semester']) * 2) + 1;
  }
  if (strlen($sem_act) != 4 && strlen($_SESSION['semester']) == 4) {
    $sem_ = (substr($sem_act,5,4) - $_SESSION['semester']) * 2;
  }
  if (strlen($sem_act) == 4 && strlen($_SESSION['semester']) != 4) {
    $sem_ = ($sem_act - substr($_SESSION['semester'],0,4)) * 2;
  }
  if (strlen($sem_act) != 4 && strlen($_SESSION['semester']) != 4) {
    $sem_ = ((substr($sem_act,0,4) - substr($_SESSION['semester'],0,4)) * 2) + 1;
  }
  while(list($key, $val) = each($se)) {
    if ($sem_ == $val) {
      $selected = " selected=\"selected\"";
    }
    else {
      $selected = "";
    }
    $se_ .= "\n          <option$selected value=\"$val\">$val</option>";
  }
  //Aus folgendem Array wurde "1"=>"{$term['ts']}", in Prüfungsleistung umbenannt, wegen Bachelor und weil es keinen Teilnahmeschein mehr gibt (! Wurde noch an zwei anderen Stellen geändert!)
  $certificate = array("0"=>"Weder Pr&uuml;fungsleistung noch Teilnahmeschein","1"=>"Pr&uuml;fungsleistung","2"=>"{$term['ls']} (Magister)");

  $content = <<<A
<div class="topics">{$term['lectures_you_are_registrated']}</div>
<table width="100%" cellspacing="0" cellpadding="5" border="0">\n
A;

// Die Veranstaltungen aus Tabelle "lectures" holen, für die User bereits eingeschrieben ist (Tabelle "registrations")
  $result = mysql_query("SELECT A.title, A.lecturer, A.end, B.id, B.lecture_id FROM lectures AS A JOIN registrations AS B ON A.id = B.lecture_id WHERE A.semester = '$sem_act' && B.student_id = '{$_SESSION['student_id']}' && B.urz = '{$_SESSION['urz']}' ORDER BY A.title",$db);
  while ($array = mysql_fetch_array($result)) {
    $registrations["{$array['lecture_id']}"] = array($array['title'],$array['lecturer'],$array['id'],$array['end']);
    if ($i == 0) {
      $style = " style=\"background-color: #C0DAC0;\"";
    }
    else {
      $style = "";
    }
    // Link der Veranstaltungen basteln, abhängig davon, ob die URL-Umschreibung aktiviert wurde (in config.php), oder nicht
    if ($mod_rewrite == "0") {
      $name = "<a href=\"$basedir/files/lectures.php?id={$lectures_site['id']}&amp;lang={$term['lang']}&amp;lecture_id={$array['lecture_id']}\">{$array['title']}</a>";
    }
    else {
      $name = "<a href=\"$basedir/files/{$term['lang']}/lectures-{$lectures_site['id']}.html?lecture_id={$array['lecture_id']}\">{$array['title']}</a>";
    }
    // Solang Einschreibezeitraum noch läuft, Button für "Abmelden" anzeigen
    if ($array['end'] > date("Y-m-d H:i:s")) {
    $content .= <<<B
  <tr$style>
    <td width="50%" valign="top">$name<td>
    <td width="50%" valign="top" align="right">
      <form action="$uri" method="POST">
        <input type="submit" name="action" value="{$term['unregister']}" />
        <input type="hidden" name="lecture_id" value="{$array['lecture_id']}" />
      </form>
    </td>
  </tr>\n
B;
    }
    else {
    $content .= <<<B
  <tr$style>
    <td colspan="2" valign="top">$name<td>
  </tr>\n
B;
    }
    if ($i == 0) {
      $i = 1;
    }
    else {
      $i = 0;
    }
  }
  // LV, auf denen der User bereits auf der Warteliste eingetragen ist
  $content .= <<<C
  </table>
  <div class="topics">{$term['lectures_you_are_on_waiting_list']}</div>
  <table width="100%" cellspacing="0" cellpadding="5" border="0">\n
C;
  $result = mysql_query("SELECT A.title, A.lecturer, A.end, B.id, B.lecture_id FROM lectures AS A JOIN waiting_list AS B ON A.id = B.lecture_id WHERE A.semester = '$sem_act' && B.student_id = '{$_SESSION['student_id']}' && B.urz = '{$_SESSION['urz']}' ORDER BY A.title",$db);
  while ($array = mysql_fetch_array($result)) {
    $waitings["{$array['lecture_id']}"] = array($array['title'],$array['lecturer'],$array['id'],$array['end']);
    if ($i == 0) {
      $style = " style=\"background-color: #C0DAC0;\"";
    } else {
      $style = "";
    }
    // Link wieder in Abhängigkeit davon, ob URL-Umschreibung eingeschaltet wurde oder nicht
    // wieder Fehler in Verlinkung: lecture_id war mit {$array_ ...} verlinkt - Unterstrich darf da nicht sein
    if ($mod_rewrite == "0") {
      $name = "<a href=\"$basedir/files/lectures.php?id={$lectures_site['id']}&amp;lang={$term['lang']}&amp;lecture_id={$array['lecture_id']}\">{$array['title']}</a>";
    }
    else {
      $name = "<a href=\"$basedir/files/{$term['lang']}/lectures-{$lectures_site['id']}.html?lecture_id={$array['lecture_id']}\">{$array['title']}</a>";
    }
    if ($array['end'] > date("Y-m-d H:i:s")) {
    $content .= <<<D
  <tr$style>
    <td width="50%" valign="top">$name<td>
    <td width="50%" valign="top" align="right">
      <form action="$uri" method="POST">
        <input type="submit" name="action" value="{$term['unregister']}" />
        <input type="hidden" name="lecture_id" value="{$array['lecture_id']}" />
      </form>
    </td>
  </tr>\n
D;
    }
    else {
    $content .= <<<D
  <tr$style>
    <td colspan="2" valign="top">$name<td>
  </tr>\n
D;
    }
    if ($i == 0) {
      $i = 1;
    }
    else {
      $i = 0;
    }
  }
// "Veranstaltungen, für die Sie sich einschreiben können"
  $content .= <<<E
</table>
<div class="topics">{$term['lectures_you_can_register']}</div>
<table width="100%" cellspacing="0" cellpadding="5" border="0">\n
E;
  $result = mysql_query("SELECT id, title, lecturer, t{$_SESSION['hnfbm']} FROM lectures WHERE semester = '$sem_act' && semester = '$sem_act' && t{$_SESSION['hnfbm']} > '0' && start < NOW() && end > NOW() && visible = '1' ORDER BY title",$db);
  while ($array = mysql_fetch_array($result)) {
    if (!array_key_exists($array['id'],$registrations) && !array_key_exists($array['id'],$waitings)) {
      if ($i == 0) {
        $style = " style=\"background-color: #C0DAC0;\"";
      }
      else {
        $style = "";
      }
      // Und nochmal: Link in Abhängigkeit davon, ob URL-Umschreibung aktiviert ist, oder nicht
      // Superkomisch: hab den Wert in der folgenden $name-Definition   {$array_['id']}    durch     {$array['id']}    ersetzt - der Unterstrich hat verhindert, dass in der LV-Übersicht für die Studis, der Link zu näheren LV-Infos funktioniert
      if ($mod_rewrite == "0") {
        $name = "<a href=\"$basedir/files/lectures.php?id={$lectures_site['id']}&amp;lang={$term['lang']}&amp;lecture_id={$array['id']}\">{$array['title']}</a>";
      }
      else {
        $name = "<a href=\"$basedir/files/{$term['lang']}/lectures-{$lectures_site['id']}.html?lecture_id={$array['id']}\">{$array['title']}</a>";
      }
// Prüfung auf freie Plätze auf Teilnehmerliste bzw. Warteliste
      $result1 = mysql_query("SELECT Count(*) AS total FROM registrations AS A JOIN students AS B ON A.student_id = B.id WHERE A.lecture_id = '{$array['id']}' && B.hnfbm = '{$_SESSION['hnfbm']}'",$db);
      $array1 = mysql_fetch_array($result1);

      // NEU: Obergrenze für LV, die den anderen Max.-zahlen übergeordnet ist
      $result5 = mysql_query("SELECT Count(*) AS alle FROM registrations AS A JOIN students AS B ON A.student_id = B.id WHERE A.lecture_id = '{$array['id']}'");
      $array5 = mysql_fetch_array($result5); // Alle für diese LV eingeschriebenen Studis
      $result3 = mysql_query("SELECT max_platz_alle FROM lectures WHERE id = '{$array['id']}'");
      $array3 = mysql_fetch_array($result3);
      // Wenn noch studienspezifische Plätze frei sind...
      if ($array["t{$_SESSION['hnfbm']}"] > $array1['total']) {
              /// ... und wenn eine maximale TN-Zahl für das Seminar angegeben ist ...
              if ($array3['max_platz_alle']!="") {
              // ... und wenn diese maximale TN-Zahl noch nicht erreicht ist ...
              if ($array5['alle'] < $array3['max_platz_alle']) {
                      // ... dann erlaube die Einschreibung (Kontrolle, die diesen Wert benutzt kommt weiter unten)
                      $absolute_obergrenze = $array1['total'];
                 // ... und dann zeige dem User, wie viele User seiner Studienart sich bereits angemeldet haben
                 $teilnehmer_drin = $array1['total'];
                 // ... bezogen auf die verfügbaren teilnehmerspezifischen Plätze
                 $teilnehmerplaetze = $array["t{$_SESSION['hnfbm']}"];
                      }
              // Wenn allerdings die maximale TN-Zahl des Seminars bereits erreicht ist ...
              else {
                      // ... dann verhindere die Einschreibung ...
                      $absolute_obergrenze = 1000;
                 // ... und zeige dem User keine freien studienspezifischen Plätze an, sondern X von X (alle Plätze belegt)
                 $teilnehmer_drin = $array5['alle'];
                 // ... bezogen auf die max. verfügbaren Plätze (das ist der einzige Fall, wo die max. verfügbaren Plätze die Bezugsgröße sind)
                 $teilnehmerplaetze = $array3['max_platz_alle'];
                      }
              }
         // Wenn hingegen keine maximale TN-Zahl für das Seminar angegeben ist ...
         else {
              // ... dann setze den "normalen" Wert der Platzanzahl als Grenze (Ralfs Standard) (der in der weiter unten folgenden Kontrolle zur Verhinderung der Einschreibung führt) ...
              $absolute_obergrenze = $array1['total'];
              // ... und dann zeige bereits eingeschriebene Teilnehmer und verfügbare Plätze NUR STUDIENSPEZIFISCH
              $teilnehmer_drin = $array1['total'];
              $teilnehmerplaetze = $array["t{$_SESSION['hnfbm']}"];
              }
         }
      // Wenn auch keine studienspezifischen Plätze mehr frei sind ...
      else {
              // ... dann verhindere die Einschreibung ...
         $absolute_obergrenze = 1000;
         // ... und dann zeige dem User bereits eingeschriebene TN seines Studiums
         $teilnehmer_drin = $array1['total'];
         $teilnehmerplaetze = $array["t{$_SESSION['hnfbm']}"];
         }

      // Schauen, wie viele Plätze noch frei sind für die vom User angebene Studienart (Magister, Bachelor, Master, Fachfremd), Eintrage-Button
      if ($array["t{$_SESSION['hnfbm']}"] > $absolute_obergrenze) {
        $lectures["{$array['id']}"] = array($array['title'],$array['lecturer'],$array1['total']+1);
        $content .= <<<F
  <tr$style>
    <td width="50%" valign="top">$name<td>
    <td width="30%" valign="top">{$term['applicants']}: <span style="color:green;"> {$teilnehmer_drin} {$term['out_of']} {$teilnehmerplaetze}</span><td>
    <td width="20%" valign="top" align="right">
      <form action="$uri" method="POST">
        <input type="submit" name="action" value="{$term['register']}" />
        <input type="hidden" name="lecture_id" value="{$array['id']}" />
      </form>
    </td>
  </tr>\n
F;
      }
      // Wenn nichts mehr frei ist, anzeigen, der wievielte auf der Warteliste (für seine Studienart) er/sie wäre; Eintrage-Button
      else {
        $result2 = mysql_query("SELECT Count(*) AS total FROM waiting_list AS A JOIN students AS B ON A.student_id = B.id WHERE A.lecture_id = '{$array['id']}' && B.hnfbm = '{$_SESSION['hnfbm']}'",$db);
        $array2 = mysql_fetch_array($result2);
        $waiting_list["{$array['id']}"] = array($array['title'],$array['lecturer'],$array2['total']+1);
        $content .= <<<G
  <tr$style>
    <td width="50%" valign="top">$name<td>
    <td width="30%" valign="top">{$term['applicants']}: <span style="color:red;">{$teilnehmer_drin} {$term['out_of']} {$teilnehmerplaetze}</span><td>
    <td width="20%" valign="top" align="right">
      <form action="$uri" method="POST">
        <input type="submit" name="action" value="{$term['waiting_list']}" />
        <input type="hidden" name="lecture_id" value="{$array['id']}" />
      </form>
    </td>
  </tr>\n
G;
      }
      if ($i == 0) {
        $i = 1;
      }
      else {
        $i = 0;
      }
    }
  }
// Lehrveranstaltungen, die "demnächst folgen" (höheres Semester und für Studienart des Users freigegeben, außerdem Einschreibezeitraum noch nicht abgelaufen (?) und Veranstaltung für Anzeige freigeschaltet
// Ich habe aus der folgenden SQL-Abfrage folgendes nach dem WHERE rausgenommen:   semester = '$sem_act' &&    Grund: Die Einschreibungen für Wintersemesterveranstaltungen müssen schon im Juli beginnen, diese Bedingung verhindert das
  $content .= <<<H
</table>
<div class="topics">{$term['lectures_you_can_register_soon']}</div>
<table width="100%" cellspacing="0" cellpadding="5" border="0">\n
H;
  $result = mysql_query("SELECT id, title, t{$_SESSION['hnfbm']}, DATE_FORMAT(start,'%d.%m.%Y %H:%i:%s') AS start, DATE_FORMAT(end,'%d.%m.%Y %H:%i:%s') AS end FROM lectures WHERE t{$_SESSION['hnfbm']} > '0' && start > NOW() && end > NOW() && visible = '1' ORDER BY start, title",$db);
  while ($array = mysql_fetch_array($result)) {
    if ($i == 0) {
      $style = " style=\"background-color: #C0DAC0;\"";
    }
    else {
      $style = "";
    }
    // seltsam: in folgendem Ausdruck war ein Fehler: lecture_id war mit {$array_['id']} verknüpft, der Link funktionierte nicht - logisch, denn der Array heißt array['id']
    if ($mod_rewrite == "0") {
      $name = "<a href=\"$basedir/files/lectures.php?id={$lectures_site['id']}&amp;lang={$term['lang']}&amp;lecture_id={$array['id']}\">{$array['title']}</a>";
    }
    else {
      $name = "<a href=\"$basedir/files/{$term['lang']}/lectures-{$lectures_site['id']}.html?lecture_id={$array['id']}\">{$array['title']}</a>";
    }
    $content .= <<<I
  <tr$style>
    <td width="60%" valign="top">$name<td>
    <td width="40%" valign="top">{$term['registration_start']}: {$array['start']}</td>
  </tr>\n
I;
    if ($i == 0) {
      $i = 1;
    }
    else {
      $i = 0;
    }
  }
// User möchte (und kann) sich auf Teilnehmerliste einschreiben: neuer Dialog, der Studiengang, Semesterzahl und Scheinwunsch abfragt
  $content .= <<<J
</table>

J;
  if (isset($_POST['action']) AND $_POST['action'] == $term['register'] || $_POST['action'] == $term['waiting_list']) {
    if (array_key_exists($_POST['lecture_id'],$lectures)) {
      $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$lectures["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="5" border="0">
    <tr style="background-color: #C0DAC0;">
      <td colspan="2" valign="top">{$term['really_register']}</td>
    </tr>\n
A;
      if ($_SESSION['hnfbm'] == $f) {
        $content .= <<<B
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">{$term['studies']}</td>
      <td width="80%" valign="top">
        <select name="studies" size="1">$studies_
        </select>
      </td>
    </tr>
B;
      }
      else {
        $content .= <<<C
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">{$term['studies']}</td>
      <td width="80%" valign="top">$powi<input type="hidden" name="studies" value="$powi" />
      </td>
    </tr>
C;
      }
      //aus select für certificate wurde Teilnahmeschein in Prüfungsleistung umbenannt (!wurde an noch zwei anderen Stellen auch gemacht): <option value="1">{$term['ts']}</option>
      $content .= <<<D
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">{$term['semester']}</td>
      <td width="80%" valign="top">
        <select name="semester" size="1">$se_
        </select>
      </td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">Teilnahmeart</td>
      <td width="80%" valign="top">
        <select name="certificate" size="1">
          <option selected="selected" value="0">Weder Pr&uuml;fungsleistung noch Leistungsschein</option>
          <option value="1">Pr&uuml;fungsleistung</option>
          <option value="2">{$term['ls']} (Magister)</option>
        </select>
      </td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td colspan="2">
        <input type="submit" name="register" value="{$term['confirm']}" />
        <input type="hidden" name="lecture_id" value="{$_POST['lecture_id']}" />
        <input type="submit" name="cancel" value="{$term['cancel']}" />
      </td>
    </tr>
  </table>
</form>
D;
    }
   // User möchte sich auf Warteliste einschreiben (?): neuer Dialog, der Studiengang, Semesterzahl und Scheinwunsch abfragt
    else if (array_key_exists($_POST['lecture_id'],$waiting_list)) {
  $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$waiting_list["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="5" border="0">
    <tr style="background-color: #C0DAC0;">
      <td colspan="2" valign="top">{$term['really_register_waiting_list']}</td>
    </tr>\n
A;
      if ($_SESSION['hnfbm'] == $f) {
        $content .= <<<B
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">{$term['studies']}</td>
      <td width="80%" valign="top">
        <select name="studies" size="1">$studies_
        </select>
      </td>
    </tr>
B;
      }
      else {
        $content .= <<<C
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">{$term['studies']}</td>
      <td width="80%" valign="top">$powi<input type="hidden" name="studies" value="$powi" />
      </td>
    </tr>
C;
      }
      //in select für certificate wurde Teilnahmeschein in Prüfungsleistung umbenannt (!wurde an noch zwei anderen Stellen auch gemacht): <option value="1">{$term['ts']}</option>
      $content .= <<<D
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">{$term['semester']}</td>
      <td width="80%" valign="top">
        <select name="semester" size="1">$se_
        </select>
      </td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td width="20%" valign="top">Teilnahmeart</td>
      <td width="80%" valign="top">
        <select name="certificate" size="1">
          <option selected="selected" value="0">Weder Pr&uuml;fungsleistung noch Leistungsschein</option>
          <option value="1">Pr&uuml;fungsleistung</option>
          <option value="2">{$term['ls']} (Magister)</option>
        </select>
      </td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td colspan"2">
        <input type="submit" name="waiting_list" value="{$term['confirm']}" />
        <input type="hidden" name="lecture_id" value="{$_POST['lecture_id']}" />
        <input type="submit" name="cancel" value="{$term['cancel']}" />
      </td>
    </tr>
  </table>
</form>
D;
    }
  }
// Bestätigungs-Dialog: "Wollen Sie sich wirklich austragen?"
   // Zuerst: Im Fall User steht auf Teilnehmerliste
  if (isset($_POST['action']) && $_POST['action'] == $term['unregister']) {
    if (array_key_exists($_POST['lecture_id'],$registrations)) {
  $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$registrations["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="5" border="0">
    <tr style="background-color: #C0DAC0;">
      <td>{$term['really_unregister']}</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="unregister" value="{$term['confirm']}" />
        <input type="hidden" name="lecture_id" value="{$_POST['lecture_id']}" />
        <input type="submit" name="cancel" value="{$term['cancel']}" />
      </td>
    </tr>
  </table>
</form>
A;
    }
    // Jetzt: Falls User auf Warteliste steht
    else if (array_key_exists($_POST['lecture_id'],$waitings)) {
  $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$waitings["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="5" border="0">
    <tr style="background-color: #C0DAC0;">
      <td>{$term['really_unregister']}</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="unregister_waiting_list" value="{$term['confirm']}" />
        <input type="hidden" name="lecture_id" value="{$_POST['lecture_id']}" />
        <input type="submit" name="cancel" value="{$term['cancel']}" />
      </td>
    </tr>
  </table>
</form>
A;
    }
  }

// endgültige Eintragung in Teilnehmerliste...
  if (isset($_POST['studies']) && isset($_POST['semester']) && isset($_POST['certificate']) && array_key_exists($_POST['certificate'],$certificate) && in_array($_POST['semester'],$se) AND $_POST['studies'] == $powi && in_array($_SESSION['hnfbm'],$hnbm) || in_array($_POST['studies'],$studies) && $_SESSION['hnfbm'] == $f AND isset($_POST['register']) && $_POST['register'] == $term['confirm'] || isset($_POST['waiting_list']) && $_POST['waiting_list'] == $term['confirm']) {
    if (array_key_exists($_POST['lecture_id'],$lectures)) {

        // Neu: Eintragung nicht zulassen, wenn sich jemand ohne Scheinwunsch eintragen will, aber die Anzahl an dafür freigehaltenen Plätzen schon ausgeschöpft ist
        $result7 = mysql_query("SELECT max_platz_alle,max_ohneschein FROM lectures WHERE id = '{$_POST['lecture_id']}'");
        $array7 = mysql_fetch_array($result7);
        $result8 = mysql_query("SELECT Count(*) AS ohnescheinwunsch FROM registrations WHERE lecture_id = '{$_POST['lecture_id']}' AND certificate = '0'"); // Berechnung bereits eingetragene Leute ohne Scheinwunsch
        $array8 = mysql_fetch_array($result8);
         $max_ohneschein_pw=($array7['max_platz_alle']/100*$array7['max_ohneschein']); // erlaubter Prozentwert
         $max_ohneschein_pw=round($max_ohneschein_pw); // erlaubten Prozentwert auf ganze Zahl runden
        if ($max_ohneschein_pw<=$array8['ohnescheinwunsch'] && $_POST['certificate']=="0") {
                $notice = "Die Eintragung ist nicht möglich, da die maximale Zahl an Teilnehmern, die weder eine Prüfungsleistung erbringen noch einen Leistungsschein erwerben wollen für diese Veranstaltung erreicht ist. Ändern Sie Ihre Auswahl und versuchen Sie es erneut.";
                 // Ausgabe-Bereich A habe ich hier wiederholt (von unten)
                        $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$lectures["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="3" border="0">\n
    <tr style="background-color: #C0DAC0;">
      <td>$notice</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="cancel" value="{$term['back']}" />
      </td>
    </tr>
  </table>
</form>
A;
        }
        else { // Ende: Scheinwunsch-Beschränkung

      mysql_query("INSERT INTO registrations (student_id, lecture_id, urz, studies, semester, certificate, time, ip) VALUES ('{$_SESSION['student_id']}','{$_POST['lecture_id']}','{$_SESSION['urz']}','{$_POST['studies']}','{$_POST['semester']}','{$_POST['certificate']}',NOW(),'{$_SERVER['REMOTE_ADDR']}')",$db);
      if (mysql_insert_id($db) != 0) {
        // Listenplatz-Angabe hab ich rausgenommen
        //$notice = "{$term['successfully_to_lecture']} \"{$lectures["{$_POST['lecture_id']}"][0]}\" {$term['registrated']} {$term['got_place']}: {$lectures["{$_POST['lecture_id']}"][2]}.";
        $notice = "{$term['successfully_to_lecture']} \"{$lectures["{$_POST['lecture_id']}"][0]}\" {$term['registrated']}";

        //NEU: Eintragung in Mailingliste, wenn vorhanden
        $result = mysql_query("SELECT mailingliste FROM lectures WHERE id='$_POST[lecture_id]'");
        $array2 = mysql_fetch_array($result);
        if ($array2['mailingliste']!="") {
                 $to=$array2['mailingliste']."-request@tu-chemnitz.de";
                $header="from:";
                $header.=$_SESSION['mail'];
                $subject="subscribe";
                mail($to,$subject,"",$header);
                 $notice.= " Sie wurden in die Mailingliste ".$array2['mailingliste']."@tu-chemnitz.de dieser Lehrveranstaltung eingeladen.";
                 }

        $email_body = strtr($notice,$html);
        $email_to = "{$_SESSION['first_name']} {$_SESSION['last_name']}<{$_SESSION['mail']}>";
        mail($email_to,$email_subject,$email_body,$email_from);

        //NEU: Link zu Referateverwaltung, wenn User Prüfungsleistung oder Leistungsschein erwerben will
        if ($_POST['certificate']=="1" || $_POST['certificate']=="2") {
                 $notice.= " <a href=\"#\" onclick=\"opener.location='../../sec/referate.php'; opener.focus(); window.close()\">Bitte sehen Sie jetzt nach, ob Referate hinterlegt sind und tragen Sie sich für eines ein.</a>";
                        }

        // Bestätigung der Eintragung und dass E-Mail versandt wurde
        $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$lectures["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="3" border="0">\n
    <tr style="background-color: #C0DAC0;">
      <td>$notice {$term['confirmation_sent']}</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="cancel" value="{$term['back']}" />
      </td>
    </tr>
  </table>
</form>
A;
      }
    }
}
    // ...oder: endgültige Eintragung in Warteliste
    // Anzeige des Wartelistenplatzes wurde aus der Anzeige rausgenommen: {$term['registrated']} {$term['got_place']}: {$waiting_list["{$_POST['lecture_id']}"][2]}
    else if (array_key_exists($_POST['lecture_id'],$waiting_list)) {
      mysql_query("INSERT INTO waiting_list (student_id, lecture_id, urz, studies, semester, certificate, time, ip) VALUES ('{$_SESSION['student_id']}','{$_POST['lecture_id']}','{$_SESSION['urz']}','{$_POST['studies']}','{$_POST['semester']}','{$_POST['certificate']}',NOW(),'{$_SERVER['REMOTE_ADDR']}')",$db);
      if (mysql_insert_id($db) != 0) {
        $notice = "{$term['successfully_to_waiting_list']} \"{$waiting_list["{$_POST['lecture_id']}"][0]}\".";
        $email_body = strtr($notice,$html);
        $email_to = "{$_SESSION['first_name']} {$_SESSION['last_name']}<{$_SESSION['mail']}>";
        mail($email_to,$email_subject,$email_body,$email_from);

        // Bestätigung der Eintragung und dass E-Mail versandt wurde
        $content = <<<A
<form action="$uri" method="POST">
  <div class="topics">{$waiting_list["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="3" border="0">\n
    <tr style="background-color: #C0DAC0;">
      <td>$notice {$term['confirmation_sent']}</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="cancel" value="{$term['back']}" />
      </td>
    </tr>
  </table>
</form>
A;
      }
    }
  }
// User trägt sich wieder aus (if-case: aus Teilnehmerliste, else-if-case: aus Warteliste)
  if (isset($_POST['unregister']) && $_POST['unregister'] == $term['confirm'] || isset($_POST['unregister_waiting_list']) && $_POST['unregister_waiting_list'] == $term['confirm']) {
    if (array_key_exists($_POST['lecture_id'],$registrations) && $registrations["{$_POST['lecture_id']}"][3] > date("Y-m-d H:i:s")) {
      $result = mysql_query("SELECT A.id, A.student_id, A.lecture_id, A.urz, A.studies, A.semester, A.certificate, A.time, A.ip, B.first_name, B.last_name, B.mail FROM waiting_list AS A JOIN students AS B ON A.student_id = B.id WHERE A.lecture_id = '{$_POST['lecture_id']}' && B.hnfbm = '{$_SESSION['hnfbm']}' ORDER BY A.time LIMIT 1",$db);
      $all = mysql_num_rows($result);
      // Nachtragen und Benachrichtigen des ersten Users von der Warteliste (= Nichtfreigeben des freigewordenen Platzes)
      if ($all == 1) {
        $array = mysql_fetch_array($result);
        mysql_query("UPDATE registrations SET student_id = '{$array['student_id']}', urz = '{$array['urz']}', studies = '{$array['studies']}', semester = '{$array['semester']}', certificate = '{$array['certificate']}', time = '{$array['time']}', ip = '{$array['ip']}' WHERE id = '{$registrations["{$_POST['lecture_id']}"][2]}' && student_id = '{$_SESSION['student_id']}' && lecture_id = '{$_POST['lecture_id']}' && urz = '{$_SESSION['urz']}'",$db);
        mysql_query("DELETE FROM waiting_list WHERE id = '{$array['id']}' && student_id = '{$array['student_id']}' && lecture_id = '{$array['lecture_id']}' && urz = '{$array['urz']}'",$db);
        $notice = "{$term['automaticly_to_lecture']} \"{$registrations["{$_POST['lecture_id']}"][0]}\" {$term['moved']}";

        //NEU: Nachtragung des Nachrückers in die Mailingliste, wenn vorhanden
        $result = mysql_query("SELECT mailingliste FROM lectures WHERE id='$_POST[lecture_id]'");
        $array2 = mysql_fetch_array($result);
        if ($array2['mailingliste']!="") {
                 $to=$array2['mailingliste']."-request@tu-chemnitz.de";
                $header="from:";
                $header.=$array['mail'];
                $subject="subscribe";
                mail($to,$subject,"",$header);
                 $notice.= " Sie wurden in die Mailingliste ".$array2['mailingliste']."@tu-chemnitz.de dieser Lehrveranstaltung eingeladen.";
                 }

        $email_body = strtr($notice,$html);
        $email_to = "{$array['first_name']} {$array['last_name']}<{$array['mail']}>";
        mail($email_to,$email_subject,$email_body,$email_from);
      }
      // Austragung des Users aus der Teilnehmerliste, sein Platz wird frei
      else {
        mysql_query("DELETE FROM registrations WHERE id = '{$registrations["{$_POST['lecture_id']}"][2]}' && student_id = '{$_SESSION['student_id']}' && lecture_id = '{$_POST['lecture_id']}' && urz = '{$_SESSION['urz']}'",$db);
      }
      $notice = "{$term['successfully_of_lecture']} \"{$registrations["{$_POST['lecture_id']}"][0]}\" {$term['unregistered']}";

      //NEU: Löschen des Users aus einem evtl. zugehörigen Referat
      $lv = $_POST['lecture_id'];
      $user = $_SESSION['urz'];
      include('include_referataustragung.php');

      //NEU: Austragung aus Mailingliste, wenn vorhanden
      $result = mysql_query("SELECT mailingliste FROM lectures WHERE id='$_POST[lecture_id]'");
      $array2 = mysql_fetch_array($result);
      if ($array2['mailingliste']!="") {
                       $to=$array2['mailingliste']."-request@tu-chemnitz.de";
                      $header="from:";
                $header.=$_SESSION['mail'];
                $subject="unsubscribe";
                mail($to,$subject,"",$header);
                 $notice.= " Sie wurden zum Verlassen der Mailingliste ".$array2['mailingliste']."@tu-chemnitz.de aufgefordert.";
                 }

      $email_body = strtr($notice,$html);
      $email_to = "{$_SESSION['first_name']} {$_SESSION['last_name']}<{$_SESSION['mail']}>";
      mail($email_to,$email_subject,$email_body,$email_from);

      // Bestätigung der Austragung und dass E-Mail versandt wurde
      $content = <<<M
<form action="$uri" method="POST">
  <div class="topics">{$registrations["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="3" border="0">\n
    <tr style="background-color: #C0DAC0;">
      <td>$notice {$term['confirmation_sent']}</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="cancel" value="{$term['back']}" />
      </td>
    </tr>
  </table>
</form>
M;
    }

    // Austragung des aktuellen Users aus der Warteliste, wenn er auf dieser Stand
    else if (array_key_exists($_POST['lecture_id'],$waitings) && $waitings["{$_POST['lecture_id']}"][3] > date("Y-m-d H:i:s")) {
      mysql_query("DELETE FROM waiting_list WHERE id = '{$waitings["{$_POST['lecture_id']}"][2]}' && student_id = '{$_SESSION['student_id']}' && lecture_id = '{$_POST['lecture_id']}' && urz = '{$_SESSION['urz']}'",$db);
      $notice = "{$term['successfully_of_lecture']} \"{$waitings["{$_POST['lecture_id']}"][0]}\" {$term['unregistered']}";
      $email_body = strtr($notice,$html);
      $email_to = "{$_SESSION['first_name']} {$_SESSION['last_name']}<{$_SESSION['mail']}>";
      mail($email_to,$email_subject,$email_body,$email_from);

      // Bestätigung der Austragung und dass E-Mail versandt wurde
      $content = <<<N
<form action="$uri" method="POST">
  <div class="topics">{$waitings["{$_POST['lecture_id']}"][0]}</div>
  <table width="100%" cellspacing="0" cellpadding="3" border="0">\n
    <tr style="background-color: #C0DAC0;">
      <td>$notice {$term['confirmation_sent']}</td>
    </tr>
    <tr style="background-color: #C0DAC0;">
      <td align="right">
        <input type="submit" name="cancel" value="{$term['back']}" />
      </td>
    </tr>
  </table>
</form>
N;
    }
  }
}

// Logout-Nachfrage
if (isset($_GET['logout_notice'])) {
  $content = <<<A
<div style="padding:5px;background-color: #C0DAC0;text-align:center;">{$term['notice_logout']}</div>
<div style="padding:5px;background-color: #C0DAC0;text-align:center;">
  <input type="button" name="action" value="Logout" onClick="location.href='{$uri_}{$mod}logout'">
</div>\n
A;
  $logout = <<<B
<div class="back2"><a href="javascript:history.back()">{$term['back']}</a></div>
<div class="top" style="margin-bottom:10px;"><a href="#" alt="top">&nbsp;</a></div>
B;
}
else {
  $logout = <<<C
<!--
<div class="next2"><a href="{$uri_}{$mod}logout_notice">Logout</a></div>
-->
<div class="top" style="margin-bottom:10px;"><a href="#" alt="top">&nbsp;</a></div>
C;
}
$server_time = date("d.m.Y H:i:s");
$login = <<<D
<div class="leer"><span style="font-weight:normal;">{$term['logged_in_as']}:</span> {$_SESSION['first_name']} {$_SESSION['last_name']} ({$_SESSION['urz']}) <span style="font-weight:normal;">{$term['server_time']}:</span> $server_time</div>\n
D;

echo $login;
echo $content;
echo $logout;

?>
Bild

Benutzeravatar
Jensomio
Moderator
Beiträge: 1008
Registriert: 28.08.2005, 12:01
Wohnort: Irgendwo
Kontaktdaten:

Re: PHP Notierung

Beitragvon Jensomio » 25.09.2010, 14:38

Ok ich wusste nicht, dass PHP so eine ART Textstream unterstützt.

$Variable =<<<B

Ganz viel Text eventuell mit Zeilenumbrüchen

B;

Alles was zwischen den Beiden Buchstben steht, wird in die Variable geschrieben.

setzt du einen Punkt vor das Istgleich, wir der Text angehängt. Beispiel:

Code: Alles auswählen

<?php

$test =<<<A
Das ist mein Text
A;

$test .=<<<B
Und das Hänge ich an
B;




Will ich in dem Text jetzt eine Variable mit ausgeben:

Code: Alles auswählen


$Variable = "color:black;";

$test ="<font style_\"$Variable\";



Bei einem Array eintrag muss man bei dieser Art ihn noch mit geschweifte klammern umschließen:

Code: Alles auswählen


$Array = Array( 0 => "color:black;", 1 => "color:red;");

$test ="<font style=\"{$Array[1]}\";
A;


So kannst du ganze Strings(Texte) in Variablen Stecken und wieder in neue Strings, oder an die Ausgabe schicken.

Ausgabe Beispiel:

Code: Alles auswählen

$style="style=\"color:red\;"";
$html ="<table>";
$html .=<<<A
<tr $style>
   <td>1. td</td><td>2. td</td>
</tr>
A;
$html .="</table>";


echo $html;


Das habe ich jetzt alles nicht getestet, da ich schon lange nicht mehr mit PHP arbeite und fast ausschließlich mit C++.
AMD Ryzen 7 5800X
64GB RAM
RTX 3070ti

darkeye
Beiträge: 165
Registriert: 18.06.2008, 09:06
Wohnort: Chemnitz
Kontaktdaten:

Re: PHP Notierung

Beitragvon darkeye » 27.09.2010, 08:47

Danke Jensomio :-)
Ich verstehe es langsam - gibt es dazu vll. irgendwo eine ausführliche Beschreibung, einen Namen - irgendwas nachdem ich googlen könnte?

Vielen Dank :-)
Bild

Benutzeravatar
Jensomio
Moderator
Beiträge: 1008
Registriert: 28.08.2005, 12:01
Wohnort: Irgendwo
Kontaktdaten:

Re: PHP Notierung

Beitragvon Jensomio » 27.09.2010, 11:46

Hab selbst schon gesucht, bin auf keinen guten Begriff gekommen.
AMD Ryzen 7 5800X
64GB RAM
RTX 3070ti


Zurück zu „Webseiten, Webprogrammierung & Domains“

Wer ist online?

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