Beiträge von Markus_Schmid

    Ich nehme an, das ist dein Kernproblem: Ein Update mit unveränderter ID ist kein Problem aber Du willst unter neuer ID speichern?

    Das einfachste wäre, das betr. Feld in der Datenbank als autoincrement zu definieren, die DB würde dann bei "INSERT" eine neue ID automatisch fest legen.

    Das ist genau so, doch in der DB ist das ID-Feld bereits als autoincrement definiert.
    Eine neue ID wird automatisch festgelegt.

    Mein Problem: Das ganze funktioniert wie ein Affenformular, also wird bei einer Fehlermeldung und erneutem Abspeichern nach Korrektur der ganze Code nochmals durchlaufen und eine zweite ID mit einem zweiten Eintrag erstellt.

    Ich dachte schon an eine Variable welche die Durchläufe zählt, damit ich eine if-Abfrage erstellen kann, die je nach Anzahl Durchläufe eine neue iD aufmacht oder auf die bestehende speichert.

    Aber wenn ich diese Variable Anfangs mit 0 definiere, nützt später das Hochzählen nichts, denn weil der ganze Code durchlaufen wird, setzt es mir auch die Variable wieder auf 0 - das ist scheinbar mein Kernproblem und wie weiss nicht, ob und wie man das lösen kann.

    Ich habe eine Datei update.php (siehe Code unten), welche anstandslos funktioniert.
    Das Formular wird erst definitiv gespeichert, wenn keine Fehlermeldungen (mehr) vorhanden sind.

    Heisst, es erfolgt eine Zwischenspeicherung falls es Fehlermeldungen hat, damit bei Fehlermeldungen die bereits mutierten Daten nicht verloren gehen und nur wieder der ursprüngliche Datensatz im Formular erscheint und alles wieder neu eingegeben werden muss.

    Nun habe ich versucht eine Datei clone.php zu erstellen (statt einen neuen Datensatz zu erstellen, nehme ich einen bestehenden ähnlichen, mutiere diesen und speichere unter neuer id ab). Aber es ist mir nicht gelungen, das obige System "Zwischenspeicherung" zu implementieren. Ich brauche einen Denkanstoss wie man das am besten macht.


    Meine Ueberlegungen (Datei update.php wie unten zu Datei clone.php abändern):

    1. In Zeile 30 müsste eine neue ID erstellt werden, statt auf die bestehende ID zu speichern.
    2. Bei Fehlermeldungen wird Zeile 30 wiederum durchlaufen und eine neu ID generiert, was nicht sein sollte, sondern auf die neu eröffnete ID abspeichern.
    3. Sobald keine Fehlermeldungen vorhanden sind, müsste in Zeile 44 auch unter der neu bestehenden ID abgespeichert werden (wie definiert man das?).

    Wahrscheinlich gibt es mehrere Möglichkeiten das Problem zu lösen. Ich wäre sehr dankbar für einen Hinweis wie man das am Besten angeht.

    Guten Abend

    Ich versuche es mal hier (vielleicht gehört es in das php-Forum?)


    Ich habe eine Tabelle die Datensätze sortiert anzeigt (Kontakt-Adressen).
    Problem: Wenn der Bildschirm zu wenig breit ist, wird das Datumsfeld mit dem Titel "Erfasst" (Datenfeld 'created') umgebrochen, statt 2022-01-24 auf einer Zeile steht dann nur 2022- in der ersten Zeile, für 01-24 macht es eine zweite Zeile.

    Ich habe versucht mit <td class="date_created"> die Breite des Feldes einzustellen, leider ohne Erfolg.

    Frage: Wie muss ich den Quellcode ergänzen, damit die class-definition wirkt?

    Guten Tag

    Die Grundsätze von Klassen, Eigenschaften, Methoden und Objekten sind mir für einfache Beispiele klar.
    Wie ist das aber bei einem grösseren Projekt für Organisationen, d.h. was sagt Ihr zu meinen Ueberlegungen?

    1. Als oberste Klasse nehme ich: Organisation

    2. Ist es möglich/sinnvoll die nächste Stufe "doppelt" zu fahren? = als Klassen und Eigenschaften. Denke eher nur an (Unterklassen), aber auch Variablen (je nach Organisation bestehen versch. Eigenschaften).
    - Firma
    - Verein
    - Stiftung
    - Genossenschaft
    - usw.

    3. Je nach Organisation gibt es anschliessend Branchen und Abteilungen (wo sich die gleiche Frage wie bei 2. stellt - und/oder irgendwann sind es Objekte.

    Ich wäre dankbar, wenn Ihr mir als Anfänger helfen könntet, hier den richtigen Einstieg zu finden.

    Freundliche Grüsse, Markus Schmid, Schweiz

    "Notice: Undefined index: loginsperre" bedeutet, dass es den Index loginsperre in der Variable $_SESSION nicht gibt, also nirgendwo ein

    Code
    1. $_SESSION['loginsperre'] = "irgendwas";

    vorkommt.

    Danke für den Hinweis, komisch ist nur dass es mit if ($_SESSION['role'] == 'Admin') {...... funktioniert hat, obwohl ich keine Variablendefinition vorgenommen hatte, sondern 'role' ist eine Tabellenspalte in der DB und 'Admin' ist dort ein Eintrag - also scheinbar gleiche Situation wie 'loginsperre' und 'ja'.

    Guten Tag


    Ich wollte eine Loginsperre wie folgt lösen:
    Zuoberst auf der home-Seite steht folgender Code:


    Code
    1. if ($_SESSION['loginsperre'] == 'ja') {
    2. exit;
    3. }

    Der Code hat aber leider keine Auswirkung, weil die Seite genau gleich wie vorher erscheint, aber mit folgender Fehlermeldung:
    Notice: Undefined index: loginsperre in /home/httpd/vhosts/ms.ch/m-schmid.ch/dv/home.php on line 5

    Der Code funktioniert aber, wenn ich ihn auf die Rollen der Benutzer anwende, also wenn ich 'loginsperrre' durch 'role' ersetze, 'ja' durch die Rollennamen ersetze, wird wenn die if-Abfrage zutrifft, der Benutzer abgewiesen.
    Komisch finde ich, ich habe 'loginsperre' und 'role' in der Datenbank genau gleich definiert. Wieso wirkt mal der Code, aber das andere Mal soll der index undefiniert sein?