Beiträge von sero79

    Da tut sich gleich wieder ein neues kleines Problemchen auf: wie kann man ein input feld mit type="file" auf Eingabe prüfen. es funktioniert irgendwie nicht mit dem name-attribut. Hast du ne Idee? Zur info es gibt mehrer dieser Felder, die unabhängig voneinander geprüft werden sollen.

    Thanks

    Hi,

    danke für den Tip mit move_uploaded_file. Ich lade die Datei in den bestimmten Ordner und in die DB kommt nur der Dateiname.
    Gleichzeitig wird die Datei in einen einheitlichen Dateinamen je Datensatz umbenannt (z.B. 01-img.jpg). Dazu hänge ich die ID des jeweiligen Datensatzes an den Dateinamen voran. So gibt es für jeden Datensatz eine Datei.
    Allerdings gibts mit der Vergabe der ID ein Problem, wenn ich einen neuen Datenssatz hinzufüge: ich hole mir die maximale ID ( z.B 100) über eine Abfrage und sage IDnext = IDmax+1 (z.B. 101). So weit so gut, werden jetzt aber Datensätze zuvor gelöscht (z.B. 99, 100), dann ist IDmax 99 und 100 wäre IDnext. Aber beim Erstellen des neuen Datensatzes vergibt MySQL als neue ID 101 (da ja schon 99, 100 vergeben wurden), da ID auto_increment. Nun meine Frage, wie kann ich in diesem Sonderfall die richtige ID erhalten?

    eigentlich wollte ich diese variante nur mal testen, aber leider funktioniert es nicht.

    zur zeit habe ich die bilder in einem Ordner und in die DB kommt nur der link. das funktioniert ganz gut. Ist das eine gängige Methode?
    mal ne frage: kann man ein bild über ein Formular in einen bestimmten Ordner hochladen? Also anstatt ins die DB gleich in einen Ordner.

    Hallo,

    anhand dieses Tutorials http://www.infos24.de/mysqle/handbuch/9_mysql_binaries.htm versuche ich Bilder in meine DB hochzuladen und wieder auszugeben.
    Nach dem Hochladen in die DB steht in Spalte 'Bild' folgender Eintrag: BLOB - 0 Bytes. Es ist sozusagen leer. Diese Fehlermeldung erscheint nach dem Ausführen des Skripts:

    Code
    [B]Warning[/B]: fread(): supplied argument is not a valid stream resource in [B]C:\xampp\htdocs\myStaff\Datenbank-Test\upload.php[/B] on line [B]18[/B]


    Zeile 18

    PHP
    $bild=addslashes(fread(fopen($datei, "r"), filesize($datei)));



    Hier der Code vom Tutorial (übergabevariablen hinzugefügt):


    Ich bin mir nicht ganz sicher, ob ich die DB richtig eingerichtet habe, da ich nicht weiss, wo diese Anweisungen gemacht werden sollen:

    Code
    Query OK, 0 rows affected (0.16 sec)



    Thanks

    also es liegen jpg auf dem server und über ein formulareingabe wähle ich die Bilder an.
    den 1. teil der Zeichenkette habe ich im netzt gefunden

    Code
    "([^\/\\:\*\?\'<>\|\s]*)

    und dann habe ich nur noch .jpg angehangen. Es funktioniert auch soweit.

    Hallo,

    Ich möchte einen String mit preg_match prüfen. Der Eingabewert sollte dabei der Struktur eines Dateinamens (jpg Bild) entsprechen, wie z.B. bild-1.jpg

    Code
    "/^([^\/\\:\*\?\'<>\|\s]*)\.jpg$/"



    Ist die Syntax so korrekt?

    Hallo,

    ich verwende ein Auswahlliste zur Eingabe von mir festgesetzter Werte (z.B. Jahreszahlen). Die Übergabe der Werte in die DB funktioniert gut. Über eine Bearbeitungsfunktion, wird ein Datensatz aus der DB ausgelesen und in die Formularzellen wieder eingefügt und kann somit geändert werden. Das klappt soweit mit allen einfachen Textzellen, aber in der Auswahlliste wird der jeweilige Wert nicht angezeigt.
    Wie kann man erreichen, dass in der Auswahlliste der Wert aus der DB angezeigt wird?

    du musst natürlich diese Funktion im Gesamtskript sehen, dann machen die oben genannten Sachen schon Sinn...zumindest funktioniert es:D. Aber das betrifft nicht meine Frage.
    Ich kann sehr wohl return $filterMessage; ausgeben aber mit return $result; funktioniert das nicht. Die Rückgabe von $result ist in meinem Skript bedingung, damit die funktion läuft!

    also ich möchte lediglich eine Nachricht ausgeben, die in einer Variable verpackt sein soll, so dass ich diese an passender stelle in der html einbauen kann... ist das verständlicher :)

    Hallo Leute,

    ich habe noch ein kleines Problem mit einer anderen Abfrage. Die unten gezeigte Funktion besteht aus 2 Abfragen. Soweit funktioniert es auch. Zusätzlich soll eine Nachricht ($filterMessage) angezeit werden. Allerdings möchte ich diese Nachricht als Variable ($filterMessage) ausgeben und nicht als echo, wie hier im Bsp. Habt ihr ne Idee? return $filterMessage; klappt nicht...

    Hallo Bandit600,

    ich habe das Problem selber lösen können, somit konnte ich Punkt 7 übergehen, :lol:. Es lag gar nicht an der update funktion. Der Fehler lag vielmehr bei der übertragung der Formularwerte...mit dem Link werden halt keine Werte übergeben, nur mit einem Submit Button funktionierts.

    Ich versuche das Problem nochmal zu erklären:

    Es gibt ein Problem mit dieser Funktion:

    PHP
    function AktualierenProjekt( $id, $nummer, $name, $gruppe, $text, $bild )


    Über diesen Link wird die Funktion aufgerufen:

    HTML
    <a href="meineDB-opt-01.php?id=<?php echo $row['id']; ?>&action=aktualisieren">Prokjekt aktualisieren</a>


    Nach Aufruf des Links wird diese Abfrage vorgenommen:

    PHP
    elseif ($action == 'aktualisieren')
     {
       $ErrorMessage = AktualierenProjekt( $id, $nummer, $name, $gruppe, $text, $bild );
       if ($ErrorMessage == '')
       {
        $ErrorMessage =  "Projekt wurde aktualisiert!";
       }
     }


    Leider kann ich den Fehler nicht richtig lokalisieren, aber ich denke der Fehler liegt in der oben genannten Funktion.
    Wie bereits gesagt, löscht der Aufruf des Links den bestehenden Datensatzinhalt.

    HTML
    <a href="meineDB-opt-01.php?id=<?php echo $row['id']; ?>&action=aktualisieren">Prokjekt aktualisieren</a>


    Ich hoffe, ihr könnt jetzt meine Problem besser verstehen.

    Hallo,

    im folgenden findet ihr ein kleines DB Projekt, bestehend aus einem Eingabe-Formular und einer Ausgabe-Tabelle für die Datensätze. Jeder aufgelistete Datensatz verfügt über eine Bearbeitungs- und Lösch-Funktionen. Bei Aufruf des Bearbeitungs-Links wird der bestehenden Datensatz aus der DB ausgelesen und in das Eingabe-Formular eingeschrieben. Im Anschluss können jetzt die Daten manipuliert werden und bei Aufruf von "Prokjekt aktualisieren" wird der Datensatz aktualisiert.
    Das zur Theorie, allerdings habe ich Probleme bei der Umsetzung der Aktualisierungs-Funktion

    PHP
    function AktualierenProjekt

    . Bei Aufruf der Funktion steht z.B. das in der Adresszeile:

    Zitat

    meineDB.php?id=5&action=aktualisieren

    . Als Ergebnis erhalte ich dann einen leeren Datensatz z.B. #5.
    Hier zum Code:




    Danke Seb

    Danke erstmal für euren Rat:

    @Bandit:

    im Code scheinen noch ein Paar Syntax Fehler zu stecken. Müsste die Zeile nicht so richtig sein:

    PHP
    if (isset($_GET['gruppe']) && isset($_GET['nummer']))



    In dieser Zeile

    PHP
    nummer = " . mysql_real_escape_string($_GET['nummer']);

    kommt diese Fehlermeldung

    Zitat

    Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\myStaff\Datenbank-Test\abfrage.php on line 24

    Hallo,

    Meine DB (alles in einer Tabelle) enhält Projekte die nummeriert und zu Gruppen zugeordnet sind(z.B. Gruppe a enhält 3 Projekte mit der Nummer 1 bis 3, Gruppe b enhält 2 Projekte mit der Nummer 1 bis 2). Über die Adresszeile frage ich jeweils ein Projekt ab: abfrage.php?wahl_a=1 Das ergibt die Ausgabe vom Projekt Nr 1 der Gruppe a. Meine Abfrage PHP sieht folgendermaßen aus:


    Wie man sieht, wird je nach Eingabe von wahl_a oder wahl_b die Gruppe a oder b angespochen. Die Abfrage filtert die Datensätze nach den jeweiligen Gruppen heraus. Allerdings finde ich den wiederholten Code nicht so günstig. Gerade wenn man weitere Gruppen hinzufügt erhält man doppelten Code. Mir fällt aber leider keine bessere Variante ein. Könnt ihr helfen?

    Danke Sero