Ankündigung

Einklappen
Keine Ankündigung bisher.

zusammengesetzte Variable mal gehts - und mal nicht. Ich werd noch bekloppt.

Einklappen

Neue Werbung 2019

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

  • zusammengesetzte Variable mal gehts - und mal nicht. Ich werd noch bekloppt.

    Hallo liebe Forengemeinde,

    ich benötigte mal Eure Hilfe:

    Nach erfolgter Formulareingabe (klappt alles wunderbar)
    und entsprechende Einträge in die Datenbank (klappt auch alles)
    erhält der Absender eine entsprechende eMail - (klappt auch)

    Was mich nur wundert, und wo ich den Fehler nicht finde ist folgender:

    Im Zeitalter der vielen Patchwork-Familien, legen wir auch Wert auf eine korrekte Anrede, daher habe ich folgende Abfrage verbaut.

    PHP-Code:
        // Andrede Familienname
            
    if ($n_Teilnehmer_Nachname == $n_Eltern_Nachname
                  {
                    
    $n_anrede $n_Teilnehmer_Nachname ;
                    }
            if (
    $n_Eltern_Nachname != ''
                  {
                    
    $n_anrede $n_Eltern_Nachname.' / '.$n_Teilnehmer_Nachname ;            
                    }
            if (
    $n_Eltern_Nachname == ''
                  {
                    
    $n_anrede $n_Teilnehmer_Nachname ;            
                    } 
    In der eMail heißt es dann :

    PHP-Code:
    Liebe Familie $n_anrede,
    ....
    .... 
    Bei den Patchwork-Familien klappt das immer:

    Also Liebe Famile Maier / Müller
    oder Schulze / Schmidt,
    immer entsprechend der Formulareingaben.

    Bei den "normalen" Familien greift die Abfrage aber nur zu ca. 80 %.

    Es tauchen immer wieder Anreden wie
    Familie Müller / Müller
    oder Schmidt / Schmidt

    in den Mails auf, obwohl das ja eigentlich nicht gehen dürfte.

    Ich habe echt keinen Plan.

    Vorab schonmal vielen Dank für Eure Hilfe.


  • #2
    Ich gehe einfach mal davon aus das die Variabeln "$n_Teilnehmer_Nachname", usw aus der DB kommen.
    Es wäre nun schlau zu wissen wie diese Variabeln zu stande kommen. Sonst kann man nur raten. Also trägt der Kunde diese ein(Eltern Name, teilnehmer Name, usw).

    Kommentar


    • #3
      http://www.php.net/manual/de/control...res.elseif.php

      Bitte ändere den Thread-Titel. Der ist so wenig hilfreich für andere. Siehe auch: Bitte aussagekräftige Threadtitel verwenden
      I like cooking my family and my pets.
      Use commas. Don't be a psycho.
      Blog - CoverflowJS

      Kommentar


      • #4
        Zitat von chiller20000 Beitrag anzeigen
        Ich gehe einfach mal davon aus das die Variabeln "$n_Teilnehmer_Nachname", usw aus der DB kommen.
        Es wäre nun schlau zu wissen wie diese Variabeln zu stande kommen. Sonst kann man nur raten. Also trägt der Kunde diese ein(Eltern Name, teilnehmer Name, usw).
        Die Variablen kommen direkt aus der Formulareingabe:

        PHP-Code:
        $teilnehmernachn = isset($_POST["teilnehmernachn"]) ? $_POST["teilnehmernachn"] : ""// Teilnehmer_Nachname

        $n_Teilnehmer_Nachname ucwords(strtolower($teilnehmernachn)); // Teilnehmer_Nachname

        und 

        $elternnachname 
        = isset($_POST["elternnachname"]) ? $_POST["elternnachname"] : ""// Eltern_Nachname

        $n_Eltern_Nachname ucwords(strtolower($elternnachname)); // Eltern_Nachname 
        Eintrag in die Datenbank und Versand der eMail erfolgt im gleichen Script beim Absenden des Formulars.

        PHP-Code:
                $query "INSERT INTO datenbank (teilnehmer_id,t_nachname,e_nachname)
                      VALUES ('
        $anzahl','$n_Teilnehmer_Nachname','$n_Eltern_Nachname')";
                
        $result mysql_query($query); 

        Kommentar


        • #5
          Zitat von rudygotya Beitrag anzeigen
          http://www.php.net/manual/de/control...res.elseif.php

          Bitte ändere den Thread-Titel. Der ist so wenig hilfreich für andere. Siehe auch: Bitte aussagekräftige Threadtitel verwenden
          Mach mal 'nen Vorschlag:

          zusammengesetzte Variable mal gehts - und mal nicht.
          Wüsste nicht wie ich es anders beschreiben sollte.

          Kommentar


          • #6
            Vorweg: Dein Code ist wahrscheinlich anfällig für sql injections. S.a. http://www.php.net/manual/de/securit...-injection.php

            PHP-Code:
            if ($n_Teilnehmer_Nachname == $n_Eltern_Nachname)  
                          { 
                            
            $n_anrede $n_Teilnehmer_Nachname 
                            } 
                    if (
            $n_Eltern_Nachname != ''
            Mach aus dem 2. if ein elseif. Das sollte es schon gewesen sein.

            @Thread Titel: ein "ich werd noch bekloppt." hat dort auf jeden Fall nichts zu suchen.

            Grüße

            Basti
            I like cooking my family and my pets.
            Use commas. Don't be a psycho.
            Blog - CoverflowJS

            Kommentar


            • #7
              Wie wäre es, dann die Leute einfach nicht wissen das sie nur eins eintragen sollen wenn sie nur einen Namen haben und deshalb beide eintragen? Anders kann es ja gar nicht sein.

              Gruß

              Claus
              Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

              Kommentar


              • #8
                Zitat von rudygotya Beitrag anzeigen
                @Thread Titel: ein "ich werd noch bekloppt." hat dort auf jeden Fall nichts zu suchen.
                man kann sich ja durchaus gedanken machen ob da die richtige konjugation gefunden ist

                Kommentar


                • #9
                  So, offensichtlich ist das zu schwierig den Titel zu ändern. Hab jetzt lange genug gewartet.
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    Zitat von Thallius Beitrag anzeigen
                    Wie wäre es, dann die Leute einfach nicht wissen das sie nur eins eintragen sollen wenn sie nur einen Namen haben und deshalb beide eintragen? Anders kann es ja gar nicht sein.

                    Gruß

                    Claus
                    Hatte ich bei der Formulargestaltung schon dran gedacht.



                    Setzt allerdings voraus, dass die Leute auch lesen was sie ausfüllen.

                    Kommentar


                    • #11
                      Zitat von nikosch Beitrag anzeigen
                      So, offensichtlich ist das zu schwierig den Titel zu ändern. Hab jetzt lange genug gewartet.
                      Habe leider im ersten posting keinen "Ändern-Button"

                      Kommentar


                      • #12
                        Jetzt nicht mehr, richtig.
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          allgemein lässt sich dein Problem am ehesten mit Papier und Bleistift lösen - analysiere, welche Fälle auftreten können und welchen Pfad dein Script-Code dadurch nimmt - und bedenke das Computer "strunzdoof" sind, also einfach nach einem if mit der nächsten Anweisung fortfahren - keinesfalls aber menschlich logisch arbeiten - deine Abfragen sind hierarchisch abhängig, daher wird zwingend "else" benötigt....
                          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                          Kommentar

                          Lädt...
                          X