Anfänger braucht Hilfe in PHP

Diskutiere mit über: Anfänger braucht Hilfe in PHP im Web-Programmierung Forum

  1. Mauki

    Mauki Thread Starter MacUser Mitglied

    Beiträge:
    14.739
    Zustimmungen:
    138
    Registriert seit:
    24.07.2002
    so, ich habe jetzt endlich mich mal aufgerafft um PHP zu lernen. Dazu habe ich mir vom Galileo Verlag das OpenBook PHP 4 Webserver-Programmierung für Einsteiger von Thomas Theis runtergeladen. So jetzt habe ich gleich das erste Problem das ich was nicht verstehen. Es geht um Variablen und Datentypen. Ich poste mal den Code und versuche meine Problem zu erklären.

    <html>
    <body>
    <?php
    $a = 5;
    $b = 6;
    $c = $a + $b;
    $anrede = "Herrn";
    $vorname = "Hans";
    $ganzername = $anrede . " " . $vorname . " ";
    $nachname = 'Maier';
    $ganzername .= $nachname;
    echo "Dieses Programm ist von $ganzername<p>";
    echo "Das Ergebnis der Addition ist " . $c . "<p>";
    echo "Das geht auch so: $c <p>";
    echo 'Aber nicht so: $c';
    ?>
    </body>
    </html>


    Mir sind nun die folgendenZeilen unklar:

    $ganzername = $anrede . " " . $vorname . " ";

    Die Variable ganzername besteht aus anrede und vorname, nur ich verstehe die Verknüpung nicht. Warum ist $vorname in doppelten Anführungszeichen und was hat es mit den ganzen Punkten auf sich ?


    $ganzername .= $nachname;

    Auch hier verstehe ich den Punkt und das Gleichheitszeichen nicht.

    Vielleicht kann mir das ja jemand mal erklären so das ich es verstehen :D

    Danke
     
  2. T.Eisenhammer

    T.Eisenhammer MacUser Mitglied

    Beiträge:
    69
    Zustimmungen:
    0
    Registriert seit:
    15.02.2004
    Hilfe kommt

    Also,
    ist eigentlich ganz einfach zu erklären:

    Der Vorname steht nicht etwa in Anführungszeichen, sondern in den Anführungszeichen sind nur Leerzeichen eingeschlossen, damit halt zwischen Anrede, Vorname und Nachname je ein Leerzeichen ist.

    Der Punkt ist zum Zusammenfügen von Strings und anderen Werten (engl. concat) und macht halt aus dem String in $anrede und $vorname und den 2 Leerzeichen einen neuen String.

    Das .= ist nur eine verkürzte Schreibform von (in diesem Fall):
    $ganzername = $ganzername . $nachname;
    Also auch nur ein zusammenfügen.
    Dieses kurze Schreiben geht auch für alle anderen Rechenarten (nur so nebenbei bemerkt, wie zum Beispiel das $i++ für $i = $i + 1)

    Hoffe ich konnte helfen.

    Mfg, T.Eisenhammer.

    Ps. Dieser Beitrag hat mich dazu animiert mich endlich hier anzumelden , nachdem ich schon Wochen immer hier interessante und sonderbare Dinge lese.
     
  3. Mauki

    Mauki Thread Starter MacUser Mitglied

    Beiträge:
    14.739
    Zustimmungen:
    138
    Registriert seit:
    24.07.2002
    ah das hört sich doch gut an. Das mit den Leerzeichen war nämlich nirgends erklärt. Dann gehören die die Punkte immer wie folgt dazu. Habs mal farbig gemacht was zusammengehört


    $ganzername = $anrede . " " . $vorname . " " ;
     
  4. T.Eisenhammer

    T.Eisenhammer MacUser Mitglied

    Beiträge:
    69
    Zustimmungen:
    0
    Registriert seit:
    15.02.2004
    Hmm - schwere Frage

    Ich kann zwar mit dem dazugehören nicht ganz so viel anfangen, aber wenn ich es richtig verstanden habe, dann ist es nicht ganz richtig was du da meinst.
    die punkte gehören eigentlich nicht zu einer Variable alleine, so wie es aus der Farbgebung hervor geht, sondern immer zu 2 Variablen oder Werten (Strings, Zahl ...), nämlich der davor und der danach

    Das ganze sieht dann also so aus:
    gruppe1: $anrede . " "
    gruppe2: gruppe1 . $vorname
    gruppe3: gruppe2 . " "

    Ich denke mal, der PHP-Interpreter arbeitet den Befehl von Links nach Rechts ab.

    Mfg, T.Eisenhammer.

    *verwirrt*
     
  5. Mauki

    Mauki Thread Starter MacUser Mitglied

    Beiträge:
    14.739
    Zustimmungen:
    138
    Registriert seit:
    24.07.2002
    ok nun habe ichs verstanden :D
     
  6. Mauki

    Mauki Thread Starter MacUser Mitglied

    Beiträge:
    14.739
    Zustimmungen:
    138
    Registriert seit:
    24.07.2002
    nochmals ne Frage zu PHP

    hab noch ne Frage zu dem vorherigen Script. Das Script ist mir schon klar, nur bekomme ich immer folgende Fehlermeldung Parse error: parse error, unexpected T_STRING in d:\home\web06\mauk06\ftproot\www.markus-burkhardt.de\php\uc06.php on line 7 Die Zeile 7 ist die rote. Hab sogar im Lösungsteil des Buch nachgeschaut und da ist das Script genau gleich. Wo ist den hier das Problem ???


    <?php

    $a = 4;
    $c = 2;
    $ergebnis = 7 / $a + $c – 5.5 * (3 – $c);
    echo $ergebnis;

    ?>
     
  7. T.Eisenhammer

    T.Eisenhammer MacUser Mitglied

    Beiträge:
    69
    Zustimmungen:
    0
    Registriert seit:
    15.02.2004
    Sonderbar

    Ich hab mir das ganze mal auf meinen Server via SSH kopiert und der einzige sehr sonderbare Fehler der mir aufgefallen war, war dass die Minuszeichen keine normalen Minuszeichen waren. Ausgetauscht und es geht auf einmal:
    http://thomyd.dyndns.org:8080/~murphy/test.php

    Frage mich nur was es mit den Minuszeichen auf sich hat.
    Und ich hatte zwar Parse Error, aber von nem T_String hat er nix erwänht :mad:

    Mfg, T.Eisenhammer.
     
  8. Mauki

    Mauki Thread Starter MacUser Mitglied

    Beiträge:
    14.739
    Zustimmungen:
    138
    Registriert seit:
    24.07.2002
    was meinst du mit keinen normale Minuszeichen ?

    Edit: Hab mal die Minuszeichen neu geschrieben und nun gehts ?

    Vor allem was ist ein T_String ?

    Als Anfänger hat mans schon schwer :(
     
  9. T.Eisenhammer

    T.Eisenhammer MacUser Mitglied

    Beiträge:
    69
    Zustimmungen:
    0
    Registriert seit:
    15.02.2004
    zeichentabelle hilft

    Ich hab grad das verwendete Minuszeichen in der Gleichung mal mit Zeichen in meiner Zeichentabelle (Windows) verglichen. Und es sieht so aus als wär es ein Zeichen für Bindestrich (etwas spezielles) und nicht das normale was da so beim . und ä liegt, also dieser hier: -
    Ist auch etwas länger als ein normaler.

    Und T_String bedeutet, das er ein Objekt vom Typ String (daher T_String) in der Gleichung gefunden hat, was ja da nicht hingehört.
    Kann sein das es am Editor liegt, das dort irgendwie ein falscher Strich reingekommen ist. Einfach nochmal die Bindestriche rausnehmen und ersetzen, vielleicht hilft es.

    Wirklich sonderbar sowas. Und ich will hier auch niemand veräppeln. Es gibt ausser dem normalen Minus/Bindestrich auch noch einen extra Bindestrich, naja, wer sich diese überfüllten Zeichensätze ausgedacht hat ...

    Wenn das alles nichts hilft, hier ist mal meine Version:
    http://thomyd.dyndns.org:8080/~murphy/test.php.txt
    (musste mal .txt dranhängen, da man ansonsten den Quelltext nicht bekommt).

    Mfg, T.Eisenhammer.
     
Die Seite wird geladen...
Ähnliche Themen - Anfänger braucht Hilfe Forum Datum
PHP anfänger Problem Web-Programmierung 17.05.2013
jQuery Anfänger Web-Programmierung 27.12.2009
Google-Maps API Problem, bin Anfänger Web-Programmierung 22.08.2008
Totaler Anfänger braucht kurz Hilfe! Bidde! Web-Programmierung 27.05.2008
.htaccess Anfänger Web-Programmierung 22.11.2005

Diese Seite empfehlen

Benutzerdefinierte Suche