Ergebnis 1 bis 11 von 11

Thema: PHP: Fragen!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    PHP: Fragen!

    Also, bitte verzeiht mir erstmal den unaussagekräftigen Threadtitel, aber da ich gleich mehrere, ziemlich unterschiedliche Fragen zu PHP habe, ist mir nichts ausschlaggebenderes eingefallen. Aber nun zum Thema:

    1.
    Ich habe mir am Wochende ein PHP-Tutorial einmal durchgelesen, und mich dann mal mit einem Counter für meine Webseite beschäftigt. Als dann jedoch nach einer geschlagenen Stunde immer noch Fehlermeldungen kamen (ich benutzte für die Tests jeweils XAMPP) begann ich nochmals neu, wollte mich aber erstmals mit wirklich ganz simplen Beispielen versuchen. Selbst bei einer einfachen if-Abfrage wird permanent ein "Parse error" angezeigt. Um zu sehen, ob das an mir liegt, habe ich dann ein Codebeispiel von der Tutorialseite kopiert:
    Code:
    <html> 
    <head>  
    <title>Titel</title>  
    </head>  
    <body>  
    <?php       
    $vorname = "Max";       
    $nachname = "Mustermann";          
    $xyz = ($vorname == $nachname);        
    if($xyz) {        
    echo("Der Vorname und der Nachname ist gleich"); 
    }              
    else {            
    echo("Der Vorname und der Nachname ist nicht gleich");
    }    
    ?>  
    </body>  
    </html>
    Und immer erscheint (obwohl der Code aus dem Tutorial kopiert wurde.):
    "Parse error: parse error, expecting `','' or `';'' in Capachefriends\xampp\htdocs\php\uebung.php on line 14"
    Mache ich irgendwie generell was falsch oder stimmt mit dem Code etwas nicht?

    Btw. Auch ich gleich "if($vorname == $nachname)" benutze funktioniert das Beispiel nicht.

    2.
    Was GET genau ist, und wie es funktioniert (bzw. funktionieren sollte in meinem Fall) weiss ich, aber mir ist noch nicht ganz klar, wie man es anwenden muss. Wie und wann kann ich in einer URL eine Variable anhängen? Muss das am Anfang des Quellcodes stehen oder an die Dateiendung angehängt werden?

    3.
    Würden (sehr gute) PHP Kenntnisse für ein komplettes Forum oder ein Browsergame ausreichen?

    Mfg Biosfear

  2. #2
    2,Get ist sowas hier index.php?xyz=eine_get_Variable_toll_nicht

    Wenn du in dieser datei (index.php) nun die get Variable ausgeben würdest müsste "eine_get_Variable_toll_nicht" ausgegeben werden.

    3,Jup mit genug PHP kenntnissen lassen sich in ein paar Monaten ein forum bauen

    1,


    Code:
    <html> 
         <head>  
            <title>Titel</title>  
         </head>  
         <body>  
             <?php  
         
                $vorname = 'Max' ;       
                $nachname = 'Mustermann' ;          
    
                if($vorname == $nachname) 
                {        
                    echo 'Der Vorname und der Nachname ist gleich' ; 
                }              
                else 
                {            
                    echo 'Der Vorname und der Nachname ist nicht gleich' ;
                }    
             ?>  
         </body>  
    </html>
    Also dieser code müsste eigentlich funzen

  3. #3
    1. Bei mir läuft es mit PHP Version 4.3.9 ohne Parse-Error einwandfrei durch. Welche PHP Version hast du?

    Das in eine Datei speichern und im Browser aufrufen:
    PHP-Code:
    <?php echo phpinfo(); ?>
    2. GET Variablen kannst du mit dem Befehl $_GET['Variablenname'] ansprechen und abrufen. GET Variablen lassen sich z.B. in Links oder beim Abschicken eines Formulars anwenden.
    Mit <form method="get"> werden z.B. alle Daten des Formulars mit GET übergeben, hier aber aufpassen, alles aus dem Formular wird an die URL angehängt. Diese darf nicht länger als 2KB (erschießt mich wenn es nicht stimmt) groß sein, ansonsten wird sie abgeschnitten, deswegen verwendet man in Formularen normalerweise "post" und fügt in der "action" einen GET Parameter hinzu.
    PHP-Code:
    <form method="post" action="blabla.php?GETVariablenname=GETVariablenwert"
    In der blabla.php Datei, kannst du jetzt den Wert von GETVariablenname mit $_GET["GETVariablenname"] ansprechen und abrufen.
    Das geht auch bei Links.
    PHP-Code:
    <a href="blabla.php?GETVariablenname=GETVariablenwert">Klick mich</a
    3. Ja, allerdings wird das sehr umfangreich und kompliziert. Ein Zusammenspiel mehrerer Programmierungsprachen erleichtert dir das Leben enorm und bietet dir wesentlich mehr Möglichkeiten.

  4. #4
    Zitat Zitat von dread
    1. Bei mir läuft es mit PHP Version 4.3.9 ohne Parse-Error einwandfrei durch. Welche PHP Version hast du?
    Bei mir läuft Version 5.0.4. Ich teste die Code praktisch immer mit Apaches XAMPP, welcher wohl anscheinend irgend ein Problem mit den Satzzeichen hat...

    Zitat Zitat von dread
    2. GET Variablen kannst du mit dem Befehl $_GET['Variablenname'] ansprechen und abrufen. GET Variablen lassen sich z.B. in Links oder beim Abschicken eines Formulars anwenden.
    Mit <form method="get"> werden z.B. alle Daten des Formulars mit GET übergeben, hier aber aufpassen, alles aus dem Formular wird an die URL angehängt. Diese darf nicht länger als 2KB (erschießt mich wenn es nicht stimmt) groß sein, ansonsten wird sie abgeschnitten, deswegen verwendet man in Formularen normalerweise "post" und fügt in der "action" einen GET Parameter hinzu.

    PHP-Code:
    <form method="post" action="blabla.php?GETVariablenname=GETVariablen  wert"
    In der blabla.php Datei, kannst du jetzt den Wert von GETVariablenname mit $_GET["GETVariablenname"] ansprechen und abrufen.
    Das geht auch bei Links.

    In der blabla.php Datei, kannst du jetzt den Wert von GETVariablenname mit $_GET["GETVariablenname"] ansprechen und abrufen.
    Das geht auch bei Links.

    PHP-Code:
    <a href="blabla.php?GETVariablenname=GETVariablen  wert">Klick mich</a
    Ok, vielen Dank für deine Erklärung dread, hat mir echt weitergeholfen . Bis anhin habe ich einfach das hinzufügen der GET-Variablen in ein Link nicht verstanden. Jetzt ist aber soweit alles klar.

    Zitat Zitat von dadie
    Code:
    <html> 
         <head>  
            <title>Titel</title>  
         </head>  
         <body>  
             <?php  
         
                $vorname = 'Max' ;       
                $nachname = 'Mustermann' ;          
    
                if($vorname == $nachname) 
                {        
                    echo 'Der Vorname und der Nachname ist gleich' ; 
                }              
                else 
                {            
                    echo 'Der Vorname und der Nachname ist nicht gleich' ;
                }    
             ?>  
         </body>  
    </html>
    Auch vielen Dank an dich dadie, dein Code funktioniert. So wie es aussieht kommt der Parser wohl irgendwie nicht mit den " klar. Mit den ' erscheint dann wie eigentlich vorgesehen "Der Vorname und der Nachname ist nicht gleich".
    Kennt vielleicht jemand noch zufällig die (standart) Tastenkombination für ', denn irgendwie kriege ich dieses Satzzeichen nicht hin ?

    Was mich jetzt noch interessiert:
    Liegt das speziell an Version 5.0.4 oder darf ich allgemein keine " verwenden?
    Denn in den meisten Tutorials, die ich bis jetzt gesehen habe, wird eigentlich im allgemeinen immer " verwendet.


    Mfg Biosfear

    Geändert von Biosfear (06.07.2005 um 15:33 Uhr)

  5. #5
    Antwort zu deiner ersten Frage:

    Zitat Zitat
    Manche Kapitel enthalten Code-Beispiele. Bitte versucht nicht, diese zu kopieren. Wenn ihr dies versucht und das Kopierte in eure PHP-Datei speichert, wird das Script sagen, dass es ein Parse Error in Zeile 2 hat. Das liegt daran, dass ihr nicht nur den Programmcode kopiert, sondern auch unsichtbare Steuerzeichen, die beim Kopieren dann PHP nicht verarbeiten kann. Abgesehen davon; ihr lernt nicht PHP, indem ihr Skripte kopiert, das kann ja jeder. Ihr sollt die Skripte selbst schreiben, dann kriegt ihr auch irgendwann ein Gefühl wie man PHP Skripte schreibt.
    Dieser Text steht im Tutorial, wahrscheinlich wirds daran liegen.(Einführung, 5.)



    MfG Mirao

  6. #6
    Imo solltest du sogar " verwenden. Denn nur bei diesen Anführungszeichen werden Variablen, die direkt in den String geschrieben werden, auch ausgewertet:
    PHP-Code:
    echo "blabla $test"// ergibt blabla InhaltVonTest 
    Bei ' würde das nicht gehen. Ausserdem finde ich die " viel schöner Deswegen verwenden es auch die meisten Tutorials
    Das es nicht funktioniert hat, liegt wohl an dem, was Mirao oben gesagt hat -unsichtabre Steuerzeichen.

    (Das Zeichen ' kannst du mit Shift und der Raute (#) erzeugen.)

  7. #7
    Zitat Zitat von Manni_the_Dark
    Imo solltest du sogar " verwenden. Denn nur bei diesen Anführungszeichen werden Variablen, die direkt in den String geschrieben werden, auch ausgewertet:
    PHP-Code:
    echo "blabla $test"// ergibt blabla InhaltVonTest 
    Bei ' würde das nicht gehen. Ausserdem finde ich die " viel schöner Deswegen verwenden es auch die meisten Tutorials
    Das es nicht funktioniert hat, liegt wohl an dem, was Mirao oben gesagt hat -unsichtabre Steuerzeichen.

    (Das Zeichen ' kannst du mit Shift und der Raute (#) erzeugen.)

    "" hat einen Grössen nachteil

    Soweit ich weiss sucht der Parser "" nach Variablen ab was das dokument unnötig aufhält.

    Wenn keine Funkion in dem echo ist oder eine Variable sollte man immer ' ' verwenden
    zumindest habe ich das so damals gelernt

    edit:

    Und das 4 Leerzeichen System nicht vergessen ^^
    (# = Leerzeichen)
    Code:
    <?php
    ####$Variable = 'Hallo World!' ; //Variable $Variable wird beschreiben
    ####
    ####if($Variable == 'Hallo World!' ) // Abfrage der Variable $Variable
    ####{
    ########
    ########echo $Variable ; // Ausgabe der Variable $Variable
    ########
    ####}
    ?>
    ich hoffe das du das verstehst ^^,

    Geändert von dadie (06.07.2005 um 20:57 Uhr)

  8. #8
    Zitat Zitat von dadie
    "" hat einen Grössen nachteil ;)

    Soweit ich weiss sucht der Parser "" nach Variablen ab was das dokument unnötig aufhält.

    Wenn keine Funkion in dem echo ist oder eine Variable sollte man immer ' ' verwenden
    zumindest habe ich das so damals gelernt :D
    Der Geschwindigkeitsverlust ist aber in der Regel unerheblich - wenn man nicht gerade eine Software schreibt, die den Server stark belastet. Und dann würde es noch eine ganze Reihe anderer Sachen geben, über die man seinen Code optimieren kann...

    Zitat Zitat
    edit:

    Und das 4 Leerzeichen System nicht vergessen ^^
    (# = Leerzeichen)
    Code:
    <?php
    ####$Variable = 'Hallo World!' ; //Variable $Variable wird beschreiben
    ####
    ####if($Variable == 'Hallo World!' ) // Abfrage der Variable $Variable
    ####{
    ########
    ########echo $Variable ; // Ausgabe der Variable $Variable
    ########
    ####}
    ?>
    ich hoffe das du das verstehst ^^,
    Was du da benutzt ist ein Einrückstil, den man den Allman-Stil nennt. Daß man vier Leerzeichen verwendet ist üblich, aber nicht nötig - ich persönlich rücke beispielsweise immer mit einem Zeichen ein.

  9. #9
    Zitat Zitat von Jesus_666
    ...Was du da benutzt ist ein Einrückstil, den man den Allman-Stil nennt. Daß man vier Leerzeichen verwendet ist üblich, aber nicht nötig - ich persönlich rücke beispielsweise immer mit einem Zeichen ein.
    Ich 2 Zeichen.
    Außerdem hab ich noch diverse Eigenheiten. ich glaubb ich praktizier einen Mix aus mehreren Stilen:
    PHP-Code:
    <?php
    $variable
    ="Hallo World!" ;
    $variable2="Adieu World...";
    if(
    $variable=="Hallo World!"){
      echo 
    $variable;
      if(
    $variable2=="Adieu World..."){
        echo 
    " and ".$variable2;
      }
    }
    ?>
    So schaut meine Syntax im Allgemeinen aus.
    Variablen schreib ich aus Angewohnheit immer klein. So braucht man nicht nachschaun wie man nu was geschrieben hat.
    Ich setze alle Strings in Quotes. In Accents setze ich Strings eigentlich nur wenn ich keine Lust darauf hab Quotes in HTML zu escapen, oder innerhalb von MySQL-Queries weil der SQL-Befehl als Ganzes zumeist schon als String in Quotes definiert wurde.
    Dann klatsch ich die öffnende geschweifte Klammer immer direkt hinter das Statement oder die Schleife.
    Ich weiß das das ziemlich untypisch ist aber mir steckts so nu schon im Blut, ich bekomms nimmer weg.
    Und ich rücke immer mit 2 Spaces ein.
    Der Vorteil an Quotes ist zwar das man in ihnen eine Variable ausgeben lassen kann ohne es außerhalb des Stringbereichs packen zu müssen, aber ich habs mir irgendwie angewohnt es doch so zu machen. Also:
    echo "Text ".$variable." noch mehr Text.";
    So machs ichs. Und so könnte ichs machen obwohls leichter ist:
    echo "Text $variable noch mehr Text.";

    Nujo...
    Was mir auffällt ist, das ich Tabris' Scripte an seiner "Handschrift", also an seiner Strukturierung der Syntax und "Schreibweisen" ziemlich sicher erkennen würde.
    Ich habe an Tab's Scripten, die er für Squarenet geschrieben hat, PHP gelernt. Ich würde seinen Stil mit hoher Warscheinlichkeit wiedererkennen.
    Daran kann man sehen wie viel Persönlichkeit und Eigenheiten PHP-Syntax haben kann.
    Ich finds faszinierend.

  10. #10
    Zitat Zitat von Chocwise
    Ich 2 Zeichen.
    Außerdem hab ich noch diverse Eigenheiten. ich glaubb ich praktizier einen Mix aus mehreren Stilen:
    PHP-Code:
    <?php
    $variable
    ="Hallo World!" ;
    $variable2="Adieu World...";
    if(
    $variable=="Hallo World!"){
      echo 
    $variable;
      if(
    $variable2=="Adieu World..."){
        echo 
    " and ".$variable2;
      }
    }
    ?>
    Sieht für mich wie 1TBS aus, nur eben mit weniger Einrückung.

    BTW, das mit den externen Variablen mach' ich auch so. So muß man keine Sonderfälle machen, wenn man mal eine Arrayzelle oder einen Funktionsaufruf statt einer normalen Variable verwendet.

    Bei PHP hab' ich sowieso komische Angewohnheiten: Funktionen schreibe ich abwechselnd in camelCase, PascalCase oder ganz klein. Variablen schreibe ich meist klein - manchmal aber auch nicht. Wenn irgendwo ein Bool reinsoll wird die Variable mit b_ geprefixt, das mache ich aber bei keinem anderen Typ.
    Und aus irgendeinem Grund verschiebe ich alle Funktionen ans Ende des Skripts und trenne sie durch eine Zeile voller /////////////// ab.

    Ich denke, meine PHP-Skripte sind auch ziemlich markant, allein schon wegen der Sache mit den Funktionen.


    @Dingsi: Ich wandle auch immer alles in Allman um. 1TBS finde ich verwirrend.

  11. #11
    Allman, 2 Spaces.
    PHP-Code:
    <?php
      $blubb 
    "bla";
      
    $omg   "wtf";

      if(
    $this == $that)
      {
        switch(
    $lol)
        {
          case 
    "rofl":
            echo 
    "lol rofl!";
          break;      

          default:
            echo 
    "lol.";
          break;
        }
      }
    ?>
    Von 1TBS wird mir irgendwie schlecht. Wenn ich welchen sehe, wird der sofort in Allman umgewandelt.

    Ich versuch mir anzugewöhnen immer ' zu benutzen, aber meistens nehm ich das doch nur, wenn ich HTML benutz.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •