Tom: 7. Übung, Variablen, Strings und Literale

Beitrag lesen

Hello,

Mit einer Einstellung in der php.ini oder in der Konfiguration des Hosts oder Virtual Hosts oder
in einer ".htaccess"-Datei kann man das Verhalten beieinflussen.
»»
http://de.php.net/manual/de/function.get-magic-quotes-gpc.php
und
http://de.php.net/manual/de/ref.info.php#ini.magic-quotes-gpc

und wie genau?

php_flag magic_quotes_gpc off   ## Du willst sie doch weg haben

Ersatzweise

php_value magig_quotes_gpc 0    ## Du willst sie doch weg haben

manche Derivate verstehen das nicht anders.
Sie würden dann das "off" oder "on" als Konstante suchen
das mit den Konstanten funktioinert aber nur innerhalb der php.ini

Wichtig ist, dass der Apache Dir nicht mit einem 500er Fehler auf die Finger haut, wenn Du das einsetzt.

eingabe: echo "Der Teilnehmer heißt ", $teilnehmer, ' und ist ein Clon von ', $teilnehmer, 1 , '<br>';
ausgabe: Der Teilnehmer heißt Shadow und ist ein Clon von Shadow1<br />

ok, das habe ich erwartet

Das ist auch "safe". Kann man sich also darauf verlassen, dass es funktioniert
Anreihung von Attributen mit Komma

eingabe: echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer , '<br>';
ausgabe:  Der Teilnehmer heißt Shadow und ist ein Clon von Shadow<br />

das auch

Das ist auch "safe". Anreihung von Strings mit Punkt verbunden zu einem String.
Da müsste links auch nicht "echo" stehen, sondern könnte stehen

$ausgabe = ....

Und dann später würde man mit $ausgabe erst machen, was einem einfällt.

eingabe: echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer . 1 .'<br>' ;
ausgabe:   Der Teilnehmer heißt Shadow und ist ein Clon von Shadow1<br />
    <br />

das hätt ich nicht gedacht, liegt das daran das das alles ein string ist (verknüpfung)?

Das liegt daran, dass PHP nicht konsequent ist. Die 1 wird hier fälschlicherweise als Konstantenbezeichner angesehen, aber als Konstante nicht gefunden. Daher macht PHP den zweiten inkonsequenten Schritt; es vermutet jetzt, dass die 1 dann doch wohl ein String sein sollte und hängt ihn an den vorhandnen an. Das ist dann die "Typumwandlung durch die Hintertür"

Klarer wird das, wenn man stattdessen ein Literal nimmt

eingabe: echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer . Sieben .'<br>' ;

Danne steht da auch hinterher

Der Teilnehmer heißt Shadow und ist ein Clon von ShadowSieben<br> ;

Wenn an aber jetzt vor dieser Zeile irgendwo schreibt

define('Sieben',' Eins ');

dann steht da hinterher

Der Teilnehmer heißt Shadow und ist ein Clon von Shadow Eins <br> ;

Probier es einfach ochmal aus

<?php   ### konstanten.php ###

$teilnehmer = 'Schalk';

echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer . Sieben .'<br>' ;

define('Sieben',' Eins ');

echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer . Sieben .'<br>' ;

?>

echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer . 1+1 .'<br>' ;
     echo "Der Teilnehmer heißt " . $teilnehmer . ' und ist ein Clon von ' . $teilnehmer . 1+1;

warum aber 2x nur eine 1 und sonst nichts angezeigt wird geht über meinen horizont.

da kommen sowohl PHP mit dem Quellcode als auch der Browser mit der Ausgabe durcheinander
Sowas muss man also durch sauberers Arbeiten AUF JEDEN FALL VERHINDERN

was ich nicht verstehe: echo knalt also ungeparst dem browser die daten vorn latz (der ja mit php nichts anzufangen weiß), ok, aber warum wird dann der ihnhalt der variable ausgegeben??

Das geschieht immer dann, wenn man die Variablen entweder direkt an Echo übergibt, in einem String sammelt (mit Punkt) oder aber die äußerste Umklammerung des Stings die doppelten Häkchen sind

Es fehlen uns jetzt noch die Steuerzeichen

Scheu einfach mal unter http://de.php.net/manual/de/language.types.string.php#language.types.string.syntax.double, welche es gibt.

Gib einfach mal ein paar Strings aus, die diese Zeichenfolgen enthalten, wahlweise mit einfachen oder doppelten Häkchen.

Um was sehen zu können, weider das berühmte <pre> Element benutzen

<?php   ### steuerzeichen.php ###

echo "<pre>\n";

echo "Dies ist ein\nTest für einen Umbruch\n";
  echo "Dies\tist\tein\tTest\tfür\nTabulartoren\n";

echo 'Dies ist ein\nTest für einen Umbruch\n';
  echo 'Dies\tist\tein\tTest\tfür\tTabulartoren\n';

echo "</pre>\n";

?>

Es fehlen uns nun nur noch die "Maskierungen", dann sind wir durch mit dem zweiten Block.

Was ist, wenn man ausgeben will

Der Inhalt der Variable $wetter ist "Regen"

dann kann man das so formulieren:

<?php   ### maskierung ###

$wetter = 'Regen';

echo "<p>Der Inhalt der Varoable $wetter ist "$wetter"</p>\n";

?>

$wetter würde inndoppelten Häkchen normalerweise ersetzt deich seinen Inhalt
Durch den Backslash vor dem Dollarzeichen wird dieses aber von einem Zeichen mit reservierter Bedeutung (hier kommt ein Bezeichner) wieder zu einen normalen Zeichen degradiert.
Das gleiche ist mit dem Doppelhäkchen mit vorangehendem Backslash.
Das verliert duech diese "Maskierung" auch seine Sonderbedeutung und wird ausgegeben.
Der Backslash selber wird mit sich selber maskiert.

Wenn man nun also     Echo "Dieser Umbruch \n geht verloren";

schreibt, wird er Backslash, der das n zum Sinderzeichen erheben sollte "entschärft" und das n sit wieder ein normales Zeichen.

So weit so gut.

Wenn Du noch Lust hast, können wir noch "Fehlermeldungen AN" angehen, dann reicht es für heute...

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

0 134

Kleines Forum - ganz einfach?

Eilean
  • datenbank
  1. 0
    Tom
    • programmiertechnik
    1. 0
      Eilean
      1. 0
        EKKi
  2. 0
    Bud
    1. 0
      Eilean
      1. 0

        PHP lernen ganz einfach

        Tom
        • php
        1. 0
          Siechfred
          1. 0
            Tom
            1. 0
              Siechfred
              1. 0
                Tom
                1. 0
                  Siechfred
                  1. 0
                    Tom
                    • menschelei
                  2. 0
                    Eilean
                    1. 0
                      Siechfred
                    2. 0
                      EKKi
                2. 0
                  Shadowcrow
                  1. 0

                    PHP lernen ganz einfach, 1. Übung

                    Tom
                    1. 0
                      Shadowcrow
                      1. 0

                        PHP lernen ganz einfach, 2. Übung, Validität von Ausgaben

                        Tom
                        1. 0
                          Shadowcrow
                          1. 0
                            Tom
                            1. 0
                              Shadowcrow
                              1. 0

                                3. Übung, Formulare vorbereiten

                                Tom
                                1. 0
                                  Shadowcrow
                                  1. 0

                                    3. Übung, Formulare vorbereiten, sonstige Kleinigkeiten

                                    Tom
                                    1. 0
                                      Shadowcrow
                                      1. 0
                                        OhneName
                                        1. 0

                                          HTML als strict?

                                          Tom
                                      2. 0
                                        Tom
                                        1. 0
                                          Shadowcrow
                                          1. 0

                                            Übersichtlichkeit

                                            Shadowcrow
                                            • sonstiges
                                            1. 0
                                              Tom
                                              1. 0
                                                Shadowcrow
                                                1. 0

                                                  4. Übung, Ausgabe-Formular vorbereiten

                                                  Tom
                                            2. 0
                                              Tom
                                2. 0
                                  Eilean
                                  1. 0

                                    4. Übung, Anzeige-Formular vorbereiten

                                    Tom
                                    1. 0
                                      Shadowcrow
                                      1. 0

                                        4. Übung, Kleine Fehler, Anordnung der PHP-Blöcke im Script

                                        Tom
                                        1. 0
                                          Shadowcrow
                                          1. 0
                                            Tom
                                            1. 0
                                              Shadowcrow
                                              1. 0

                                                5. Übung, Posten mit dem Formular

                                                Tom
                                                1. 0
                                                  Shadowcrow
                                                  1. 0

                                                    5. Übung, Diskussion der Ergebnisse

                                                    Tom
                                                    1. 0
                                                      Shadowcrow
                                                      1. 0

                                                        7. Übung, Variablen, Strings und Literale

                                                        Tom
                                                        1. 0

                                                          8. Übung, Einfache und doppelte Häkchen

                                                          Tom
                                                          1. 0
                                                            Shadowcrow
                                                            1. 0

                                                              9. Übung, (Vorschau) Fehlerbehandlung

                                                              Tom
                                                              1. 0
                                                                Shadowcrow
                                                        2. 0
                                                          Shadowcrow
                                                          1. 0
                                                            Tom
                                                  2. 0

                                                    5. Übung, Namen von Dialog-Elementen sinnvoll wählen

                                                    Tom
                                                    1. 0
                                                      Shadowcrow
                                                      1. 0
                                                        Tom
                                                        1. 0

                                                          6. Übung, Fehler bei der Namensgebung vermeiden

                                                          Tom
                                                2. 0
                                                  Eilean
                                                  1. 0
                                                    Eilean
                                          2. 0

                                            5.Nebenbetrachtung: Wann parst der Server?

                                            Tom
                                            1. 0
                                              Shadowcrow
                                              1. 0
                                                Tom
                                                1. 0
                                                  Shadowcrow
                                                  1. 0
                                                    Tom
                                                    1. 0
                                                      Shadowcrow
                                                      1. 0
                                                        Tom
                                                  2. 0
                                                    Eilean
                                                  3. 0
                                                    Eilean
                                                    1. 0

                                                      Name der Themen beim posten ändern

                                                      Thorsten Schleppi
                                                      • zu diesem forum
                                    2. 0
                                      Eilean
                                      1. 0

                                        4. Übung, Probleme mit der Codierung -> Validator meckert

                                        Tom
                                        1. 0
                                          Eilean
                                          1. 0

                                            4. Übung, UTF-8 mit Notepad++ ?

                                            Tom
                                          2. 0

                                            4. Übung, Notepad++ einstelllen

                                            Tom
                                            1. 0
                                              Shadowcrow
                                              1. 0

                                                4. Übung, Bitte richtige Links angeben

                                                Tom
                                                1. 0
                                                  Shadowcrow
                                                  1. 0

                                                    Probleme mit der Threaddarstellung

                                                    Tom
                                                    • zu diesem forum
                                                    1. 0
                                                      Shadowcrow
                                                      1. 0

                                                        Die berühmtesten Sprüche bei Verlegenheit

                                                        Tom
                                                        • menschelei
                                                2. 0

                                                  4. Übung, Verlinkung für Eilean

                                                  Shadowcrow
                                                  1. 0
                                                    Eilean
                                                    1. 0
                                                      Tom
                                                      1. 0
                                                        Shadowcrow
                                                      2. 0
                                                        Eilean
                                                        1. 0
                                                          Shadowcrow
                                                          1. 0
                                                            Eilean
                                                            1. 0
                                                              Shadowcrow
                                                              1. 0
                                                                Eilean
                                                                1. 0
                                                                  Shadowcrow
                                                                  1. 0
                                                                    Eilean
                                                                    1. 0
                                                                      Shadowcrow
                                                                      1. 0
                                                                        Harlequin
                                                                        1. 0
                                                                          Shadowcrow
                                                                          1. 0
                                                                            Eilean
                                                                            1. 0

                                                                              Kleiner Fehler noch beim Anzeigeformular

                                                                              Tom
                                                                          2. 0
                                                                            Harlequin
                                                      3. 0

                                                        Zischenmeldung von Tom

                                                        Tom
                                                        • menschelei
                                                        1. 0
                                                          Shadowcrow
                                                          1. 0

                                                            Zischenmeldung von Tom *#~?wüt~#*

                                                            Tom
                                                            1. 0
                                                              Shadowcrow
                            2. 0

                              PHP lernen ganz einfach, 2. Übung, OK - Frage

                              Eilean
                              1. 0

                                2. Übung, Unterschieldiche Codes auf Server und Client

                                Tom
                                1. 0

                                  2. Übung, Codes

                                  Eilean
                                  1. 0
                                    Tom
                        2. 0
                          Eilean
                          1. 0
                            Tom
                            1. 0
                              Eilean
                              1. 0
                                Tom
                                1. 0
                                  Eilean
                                  1. 0

                                    3. Übung, Formular einbauen

                                    Tom
                                    1. 0

                                      3. Übung, mal versuchen...

                                      Eilean
                                      1. 0

                                        Wann geht es weiter?

                                        Tom
                                        1. 0
                                          Eilean
                                          1. 0
                                            Tom
                    2. 0
                      Eilean
                      1. 0
                        Siechfred
                        1. 0
                          Eilean
                      2. 0

                        PHP lernen ganz einfach, 1. Übung, erste Probleme

                        Tom
                        1. 0
                          Eilean
                        2. 0
                          Eilean
                          1. 0

                            PHP lernen ganz einfach, 2. Übung, Validität herstellen

                            Tom
                3. 0

                  AGENDA V02: PHP lernen ganz einfach

                  Tom
              2. 1
                Wilhelm Turtschan
    2. 0
      Eilean
  3. 1
    Gunnar Bittersmann
    • software
    1. 0
      Eilean
      1. 2
        Gunnar Bittersmann
        1. 0
          Eilean
  4. 0

    *HUCH* wo sind wir im Moment?

    Tom
    • php
    1. 0
      Shadowcrow
  5. 0
    Shadowcrow
    • menschelei
    1. 0
      Tom