Ankündigung

Einklappen
Keine Ankündigung bisher.

if und else Anweisung?

Einklappen

Neue Werbung 2019

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

  • if und else Anweisung?

    Hallo Leute

    Hätte gerne mit einer PHP if und else Anweisung folgendes gelöst.

    In einem canonical tag wird eine ID als Anhang zum Link produziet. Das klappt auch.

    <link rel="canonical" href="https://www.domain.com/php?id=<?php echo $test->id_intern; ?>" />
    Darstellung: https://www.example.com/php?id=302456

    Wird keine ID zur Darstellung von Feld id_intern ausgegeben, soll statt dessen ein fixer Link (Textpasage) dargestellt werden.
    Gewünschte Darstellungseffekt: https://www.beispiel.de

    Wie müsste der PHP Code dazu aussehen?

    Freue mich super toll über Expertenunterstützung!

  • #2
    Hallo,

    ich würde vorschlagen, das du das so machst:
    PHP-Code:
    if(!empty($test->id_intern)) {
     
    $id_adding "/php?id=" $test->id_intern;
    } else {
     
    $id_adding "";

    Der HTML Code wäre dann folgender:
    HTML-Code:
    <link rel="canonical" href="https://www.example.com/<?php echo $id_adding; ?>" >
    Meintest du das?

    -jonah88

    Kommentar


    • #3
      Super Jonah88, schaut recht gut aus. Ich probier gleich den Einbau und melde mich danach.
      Danke dir!

      Kommentar


      • #4

        Zum Prüfen kannst du auch ctype_digit einsetzen, wenn du nur nach Nummern verzweigen willst.

        Kommentar


        • #5
          Sorry, da ist ein Fehler!
          Hier ist der richtige Code:
          HTML-Code:
            <link rel="canonical" href="https://www.example.com<?php echo $id_adding; ?>" >
          Der Slash muss weg!

          -jonah88

          Kommentar


          • #6
            Falls du noch prüfen willst ob es ne Nummer ist (was bei Nutzereingaben echt sinnvoll ist) kannst du auch noch
            Code:
            is_numeric()
            nehmen:
            PHP-Code:
            if(!empty($test->id_intern) && is_numeric($test->id_intern)) {
             
            $id_adding "/php?id=" $test->id_intern;
            } else {
             
            $id_adding "";

            Kommentar


            • #7
              bin am arbeiten

              Kommentar


              • #8
                Erfolgsmeldung! Es funktioniert perfekt!
                Danke dir jonah88 für diese große Weihnachtsfreude!

                Kommentar


                • #9
                  Gerne!

                  Kommentar


                  • #10
                    Erst mal ein paar interne Hinweise:
                    Wenn du Code zu deinem Beitrag hinzufügst, dann verwende die PHP Tags, damit der Code richtig dargestellt wird. Dafür hat das Forum einen Editor der auch Schalter dazu anbietet, einfach darauf klicken und dann den Code dort mittig hineinkopieren.

                    Wenn du eine Beispieldomain brauchst, dann verwende bitte nur example.com und nichts anderes.

                    Dann musst dir im Klaren sein was du willst.
                    Vergleich zwischen ctype_digit und is_numeric zur Veranschaulichung, gerade im Hinblick auf Eingaben von aussen:
                    PHP-Code:
                    <?php
                    $numberarray 
                    = [0123"0""123"1.23"-2"];

                    echo 
                    '=== Prüfung mit ctype_digit ===' "<br>\n";
                    foreach (
                    $numberarray AS $number){
                        
                    $url 'https://www.example.com/index.php';
                        if( 
                    ctype_digit($number) ) {
                            
                    $url 'https://www.example.com/index.php?id=' $number;
                        }
                        echo 
                    $url "<br>\n";
                    }
                    echo 
                    '<br>=== Prüfung mit is_numeric ===' "<br>\n";
                    foreach (
                    $numberarray AS $number){
                        
                    $url 'https://www.example.com/index.php';
                        if( 
                    is_numeric($number) ) {
                            
                    $url 'https://www.example.com/index.php?id=' $number;
                        }
                        echo 
                    $url "<br>\n";
                    }
                    ?>
                    ergibt
                    Code:
                    === Prüfung mit ctype_digit ===
                    https://www.example.com/index.php
                    https://www.example.com/index.php
                    https://www.example.com/index.php?id=0
                    https://www.example.com/index.php?id=123
                    https://www.example.com/index.php
                    https://www.example.com/index.php
                    
                    === Prüfung mit is_numeric ===
                    https://www.example.com/index.php?id=0
                    https://www.example.com/index.php?id=123
                    https://www.example.com/index.php?id=0
                    https://www.example.com/index.php?id=123
                    https://www.example.com/index.php?id=1.23
                    https://www.example.com/index.php?id=-2

                    Kommentar


                    • #11
                      erl.

                      Kommentar


                      • #12
                        Domainnamen ausgetauscht, THX und jonah88: Bitte IMMER example.com, beispiel.de o.ä. verwenden, wenn ihr Beispiel-Domains verwendet!
                        Danke
                        Competence-Center -> Enjoy the Informatrix
                        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                        Kommentar


                        • #13
                          Zitat von Arne Drews Beitrag anzeigen
                          Domainnamen ausgetauscht, THX und jonah88: Bitte IMMER example.com, example.de, beispiel.de o.ä. verwenden, wenn ihr Beispiel-Domains verwendet!
                          Danke
                          Laut RFC sind nur example.com/.net/.org als Beispiele vorgesehen aber keine Domains aus dem .de-Bereich. beispiel.de scheint aber als Beispieldomain registriert zu sein und kann wohl als solche verwendet werden, example.de allerdings nicht!

                          Kommentar


                          • #14
                            Korrekt, danke für den Hinweis.
                            #12 korrigiert
                            Competence-Center -> Enjoy the Informatrix
                            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                            Kommentar

                            Lädt...
                            X