bei Enter Listenzeichen einfügen ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • bei Enter Listenzeichen einfügen ?

    Hallo User
    Ich beschäftige mich noch nicht sehr lange mit PHP und MYSQL. Versuche es mir über Bücher und Tutoriels selbst etwas näher zu bringen. stehe nun vor einem Problem. Ich bin dabei mir ein Eingabeformular für meine Datenbank zu schreiben, wobei ich möchte, das wenn ich auf Enter drücke die Datenbank ein </li><li> einfügt. gibt es irgendeine Möglichkeit das zu realisieren?
    Danke für eure Mühe
    Wolfgang

  • #2
    ?? ich vestehe nicht ganz was du möchtest!

    du kannst deinem post doch einfach einen String anhängen

    z.b

    PHP-Code:
    $_POST[feld]='<li>'.$_POST[feld].'</li>'

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      danke Bernie für die schnelle Antwort.
      aber das sieht bei mir etwas anders aus: ich bin dabei seit einiger zeit! eine Datenbank mit meiner Rezeptsammlung zu füllen. Bisher habe ich das mit myadmin gefüllt. Nun möchte ich aber auch anderen die möglichkeit dazu geben.
      auszug aus meinem script:
      Code:
      [SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000][LEFT]<?php[/COLOR][/LEFT][/SIZE][LEFT][/COLOR][/LEFT][/SIZE][LEFT][SIZE=2] 
      
      [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]isset[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'submit'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]])) {
      
      $ausgabe = [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]''[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      $fehler = [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]''[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      
      [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]isset[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'cat_id'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]) && !is_array($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'cat_id'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]) && $_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'cat_id'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]] !=[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]''[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]){
      $ausgabe .= [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'Auswahl' [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]. htmlspecialchars($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'cat_id'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]).[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'<br />'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      $cat_id = $_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'cat_id'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]];
      }[/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]else [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]{
      $fehler .=[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'Keine Kategorie ausgewählt!<br />'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      }
      [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]isset[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]($_FILES[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'bild'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]])){
      $datei= $_FILES[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'bild'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]];
      [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]($datei[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'type'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]] == [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'image/jpeg'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]){
      copy($datei[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'tmp_name'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]], [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'bilder/'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]. $datei[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'name'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]);
      $bild= [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]' '[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]"<img src='bilder/[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]{$datei[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'name'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]}[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]' width='250'/>"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] ;
      }[/SIZE][/LEFT][SIZE=2]
      }
      [/SIZE][SIZE=2][LEFT][/LEFT][/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]isset[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'zutaten'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]) && !is_array($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'zutaten'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]) && $_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'zutaten'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]] != [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]''[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]){
      $ausgabe .= [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'Zutaten:' [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]. htmlspecialchars($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'zutaten'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]).[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'<br />'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      $zutaten = [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'<ul><li> '[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]. $_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'zutaten'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]].[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'</li></ul>'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      }[/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]else [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]{
      $fehler .= [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'Keine Zutaten angegeben!<br />'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE][/LEFT][SIZE=2]
      }
      [SIZE=2][LEFT][/LEFT][/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]isset[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'besonderes'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]) && !is_array($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'besonderes'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]) ){
      $ausgabe .= [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'Besonderes:' [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]. htmlspecialchars($_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'besonderes'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]]).[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'<br />'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      $besonderes = [/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]' '[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]. $_POST[[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'besonderes'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]];
      }[/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]else [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]{
      [/SIZE][/LEFT][SIZE=2]
      } 
      [SIZE=2][LEFT]$id=[/LEFT][/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]NULL[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      $db= [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]new [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]mysqli($server, $benutzer, $passwort, $datenbank);
      
      $statement = $db->prepare([/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]"
      INSERT INTO
      rezepte (id, cat_id, titel, bild, personen, zutaten, zubereitung, besonderes, tipps, zeit, id_land)
      VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?); 
      "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);
      $statement->bind_param([/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'iississsssi'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], $id, $cat_id, $titel, $bild, $personen, $zutaten, $zubereitung, $besonderes, $tipps, $zeit, $id_land);
      $statement->execute();
      $statement->close();
      $db->close();
      [/SIZE][SIZE=2][COLOR=#557f5f][SIZE=2][COLOR=#557f5f]// echo "$ausgabe" ;[/SIZE][/SIZE][/LEFT][SIZE=2][SIZE=2]
      [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/LEFT][/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]echo [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]'</body><html/>'[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]exit[/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]();
      } [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]else [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]{
      [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]echo [/SIZE][/SIZE][/B][SIZE=2][SIZE=2][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]"<b>[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]$fehler[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]</b>"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
      }
      
      }
      
      
      [/SIZE][/LEFT][SIZE=2]
      [/SIZE][SIZE=2][COLOR=#ff0000][SIZE=2][COLOR=#ff0000]?>
      [/COLOR][/SIZE][/COLOR][/SIZE][/SIZE][/SIZE]
      da es nur ein Post ist und ich dort mehrere verschiedene Anzahl Elemente habe, weiß ich keinen Rat.
      Das Script hat auch noch einen Fehler, den ich noch nicht gefunden habe. Nur wenn es komplett ausgefüllt ist trägt es sich in die Datenbank ein. Wobei nicht alles Pflichtfelder sein sollen. habe es schon mit Leerstringsversucht, klappt aber nicht.

      Kommentar


      • #4
        Speichere niemals Layout-Daten mit den eigentlichen Daten in einer Spalte. Was du machst, ist HTML-Code in der Datenbank zu speichern. Das ist eine ganz blöde Idee, weil es, wie du selbst merkst, nur Probleme macht.

        HTML sollte immer erst beim Ausgeben dazu kommen, nicht beim Eintragen.

        Versuche nicht alles in eine Tabelle zu stecken. Gerade "Zutaten" ist dafür prädestiniert, in eine eigene Tabelle ausgelagert zu werden und mit einem Verweis auf die "id" des Rezepts eine Zuordnung hinzukriegen.

        Dann hättest du auch dein Problem nicht, weil du beim Ausgeben der Zutaten eine Schleifen hast, und so jede Zutat einfach in ein eigenes "<li>" packen kannst.

        Wenn du das alles nicht machen willst, dann ersetze zur Not eben einfach mit preg_replace("/[\r\n]+/", "</li><li>"); deine Zutatenliste. Das wird dir aber nur noch mehr Probleme bereiten als wenn du dein Datenmodell überarbeitest, das garantiere ich dir.
        This is what happens when an unstoppable force meets an immovable object.

        Kommentar


        • #5
          ApoY2k du meinst also ich sollte mir noch 2 zusatztabellen anlegen die erste wo jede erdenkliche zutat eine eigene spalte bekommt und die zweite mit den dazu gehörigen grössen angaben. wie ich das auslesen kann weiß ich. aber wie sollte ich es mit dem eingabeformular dann machen? bei den zwei sachendie ich schon ausgelagert habe (Kategorieund Land) habe ich es im eingabeformular mit auswahlfeldern gemacht, weil es eindeutig nur eine möglichkeit gibt.
          ich weiß, das ich mich als anfänger schon an ein sehr grosses projekt gesetzt habe. aufgeben kann ich später immer noch.

          Kommentar


          • #6
            ApoY2k du meinst also ich sollte mir noch 2 zusatztabellen anlegen die erste wo jede erdenkliche zutat eine eigene spalte bekommt und die zweite mit den dazu gehörigen grössen angaben. wie ich das auslesen kann weiß ich. aber wie sollte ich es mit dem eingabeformular dann machen? bei den zwei sachendie ich schon ausgelagert habe (Kategorieund Land) habe ich es im eingabeformular mit auswahlfeldern gemacht, weil es eindeutig nur eine möglichkeit gibt.
            ich weiß, das ich mich als anfänger schon an ein sehr grosses projekt gesetzt habe. aufgeben kann ich später immer noch.
            aber danke für deinen rat ApoY2k

            Kommentar


            • #7
              Bau eine Tabellle mit Zutaten, die dynamisch gefüllt wird. Das heißt der User hat entweder die Möglichkeit, eine bereits in der Datenbank vorhandene Zutat auszuwählen, oder eine neue einzugeben, wenn er seine nicht findet.

              Die Mengenangabe ist jedes mal individuell und wird in der Rezept-Zutat-Zuordnungstabelle als zusätzliches Feld gespeichert.

              Wenn du mit ERM was anfangen kannst, siehe Anhang. (Denk dir ein m und ein n an die Relation)

              Bei Eintragen eines neuen Rezeptes bietest du wie gesagt einfach beide Möglichkeiten an: Neue Zutat eintragen oder bereits vorhandene benutzen.
              Angehängte Dateien
              This is what happens when an unstoppable force meets an immovable object.

              Kommentar

              Lädt...
              X