phpfür anfänger

  • Da ich jetzt meine erste eigene Homepage habe ,muss ich wohl auch langsam die Grundkenntnisse von PHP lernen und verstehen.


    Hier habe ich ein Script was eigentlich die IP-Adresse anzeigen soll. Habe die ganze Seite kopiert und in einer HTML Datei gespeichert und auf meiner Page hochgeladen. Funktioniert nicht ,war klar.


    Was muss ich machen damit so ein PHP Script überhaupt auf meiner Homepage läuft.

    Hier das Script https://www.gaijin.at/downlo4d/phpwhois.txt


    und so sieht es online aus ,wie es bei mir auf der Page ist

    * Link entfernt , weil existiert nicht mehr *

    FRAGe 2 . kann man irgendwie sehen ,wenn eine Homepage ein PHP Script benutzt wie das Script aussieht .

    Also ich meine bei Javascripten wird die Verlinkung zum Script ja im Quelltext angezeigt.


    Wenn ich aber bei anderen Sachen gucke, steht da nur immer <form action="irgendeine page php"> .

    Wenn ich den Link öffne, kommt da natürlich nix, weil es ja die gleiche Adresse ist, wo man gerade drauf ist. Aber die Seite macht da ja irgendwas mit einem anderen Script. Das Script, was da im Hintergrund läuft, kann man das irgendwie ein sehen ??? Im Quelltext ist da ja nichts zu finden.

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von basti1012 ()

  • Zu Frage 2: Nein, as geht leider nicht da PHP eine serverseitige Sprache ist.

    Der PHP Code wird sozuasgen im Server zu HTML verarbeitet und das wird dann an deinen Browser geschickt.


    Bei ersteren kann ich leider nicht weiterhelfen, da sich die Frage bei Wordpress erübrigt


    EDIT: Du brauchst auf jeden Fall einen Server um PHP auszuführen, XAMPP eignet sich da gut und wenn du das eingerichtet hast, versuch mal .php statt .html als Dateiendung. Ich denke dann sollte es funktionieren.


    EDITEDIT: Also hab dein Code eben mal durchlaufen lassen, bei mir kommt ne Fehlermeldung:

    "Fatal error: Call-time pass-by-reference has been removed in C:\xampp\htdocs\test\neu.php on line 43"

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von ronsenbonsen ()

  • Hey,


    damit du PHP zum laufen bekommst, musst du die Dateiendung, wie bereits ronsenbonsen gesagt hat, zu .php umändern, damit der Server weiß, dass das eine PHP-Datei ist und wie er die zu behandeln hat. Auf dem Server wird PHP ausgeführt und die Ausagbe vom PHP-Script wird dann als HTML ausgegeben.


    Wenn du dein PHP-Script auslagerst kannst du diese mit der Einbindfunktionen von PHP einfügen. Siehe include, include_once, require, require_once. Link zum Handbuch.


    Desweiteren würde ich dieses Script aufgrund bedenklicher Sicherheitslücken nicht verwende .


    Was ist denn dein Ziel? Magst du die IP-Adresse des Besuchers? Siehe http://php.net/manual/de/reserved.variables.server.php


    Gruß,

    Stef

  • das ist zum üben damit ich überhaupt mal schecke wie es mit php läuft. Das script soll den besuchern die ip anzeigen.Ich will die gar nicht wissen. Aber selbst wenn ichsie wissenwill,dann brauche ich doch ein php script was die ip des besuchers irgend wo speichert oder nicht? wo speichert er den sowas.Wieheist die datei wo sowas gespeichert wird? Erstellt php die datei selber oder muss ich die selber anlegen?


    oh man viele fragen . Ich sehe schon das wird nee menge die ich da wohl lernen muss

  • Hey,


    meiner Meinung nach fängst du an der falschen Stelle an. Lerne erstmal die Grundlagen und dann die Fortgeschrittenen Themen. Die Grundlagen wie Datentypen, Kontrollstrukturen, ... kennst du ja schon aus Javascript. Das heißt dies kannst du eigentlich überspringen. Hilfreicher Link dafür ist der php-kurs von Herrn Pratzner. Link: https://www.php-kurs.com/ .


    Für diese Interaktionen brauchst du aufjedenfall eine PHP-Datei. In dieser kannst du auch eine Speicherfunction miteinbauen. Wenn du mit file_put_contents die Werte in eine txt-datei speicherst, dann überprüft php automatisch ob diese txt-datei vorhanden ist. Wenn nicht wird diese erstellt. Mit file_get_contents bekommst du dann den ganzen Inhalt der Txt-File.


    Ja klar. Ist eben ne neue Programmiersprache.

  • Beispiel wie du an die IP-Adresse des Besuchers kommst:


    Es gibt die Superglobale Variable $_SERVER. Diese beinhaltet diese Informationen. Dazu brauchen wir den Array-Key REMOTE_ADDR.


    Code
    1. $ip_adress = $_SERVER['REMOTE_ADDR'];
    2. echo "Deine IP-Adresse lautet: " . $ip_adress;

    Beispielseite: http://stef97.bplaced.net/ip.php

  • ich fange an zu lernen,aber komme nicht vorwärts. im netz steht das viele sachen veraltet sind und so weiter,da weis man gar nicht wo man anfangen soll.

    das obrige script ist mein ziel.


    den mittleren teil der jett noch javascript ist will ich in php haben. mit welchenphp befehl komme ich da auf das gleiche raus.


    selbst wenn das funktioniert,wie kann ich das ergebniss den dann mit javascript auslesen?

  • Hi basti1012,


    mach nicht nochmal den gleichen Fehler, wie mit Deiner Homepage einstellen in"the real life of www".


    Lass fiddle weg und geh erst den Start mit php durch. Axels php-kurs.com ist wirklich dazu geeignet. Ich habe mir sogar die DVD von Ihm organisiert. Die erste DVD ist echt super gemacht. Danach brauchst Du kein fiddle etc. mehr.


    Just my 5 cents. Kannst es auch gerne ignorieren. Wird Dich aber wieder einholen.

  • Stimme dem absolut zu!


    Es ist super, dass du so engagiert bist, Basti, aber du kannst nicht immer alles einfach durch Learning by doing in einem Fiddle machen.


    Du musst auch die Grundlagen lernen und verschiedene Kurse durchlaufen, damit du es richtig lernst. Dazu gehört auch, richtige Websites zu entwickeln und nicht nur in einem Fiddle rumzuspielen.

  • am wo kann ich mein geschriebenen code testen? Mit javascript ist fiddle ja ganz gut . Ich kann doch nicht erst ein php script schreiben und jedesmal hochladen um zu teste ob es geht ? Gibt es für php auch sowas wie nee fehler konsole? Oder reicht dafür die handels übliche browser fehler konsole aus?

  • habe das jetzt installiert,aber wenn ich LOCALHOST im browser eingebe kommt nur nee leere seite und nicht wie es in der beschreibung aussehen tut.Was läuft hier falsch?

  • ich glaube mein vorhaben mit den script kann ich sowieso vergessen.

    bei bplaced kommt immer diese warnung

    Code
    1. Warning: file() [function.file]: Zugriff via http:// ist in Verbindung mit bplaced pro gegeben.

    auch mit file_get_content. also scheint das wohl nicht zu gehen oder wie soll man das deuten.



    Php ist irgendwie unübersichtlich.

    Ich suche einfach nee möglichkeit eintext zu spliten. in diesen fall im quelltext.

    Mit javascript geht es so .

    Code
    1. var quelltext = 'bla1 diesen text will ich haben bla2';
    2. var s = quelltext.split('bla1')[1].split('bla2')[0];
    3. alert(s)

    Fertig ist das ding .

    Bei php habe ich jetzt bestimmt von10 verschiedene möglichkeiten gelesen ,von preg_match_all , preg_split , PREG_SPLIT_DELIM_CAPTURE , Mb-split() , explode und so weiter. Keins von den ersetzt diese einfache "SPLIT" javascript methode. Gibt es nur diesn schweren weg über reguläre ausdrücke ? Die verstehe ich noch nicht mal in javascript richtig. Warum hat PHP so viele verschiedene functionen das zu spliten ,aber keine macht das was ich will? Ich weiss jetzt wieder warum ich nie PHP lernen wollte,einfach zu unübersichtlich

    Dieser Beitrag wurde bereits 6 Mal editiert, zuletzt von basti1012 ()

  • Durch die umfangreiche Dokumentation hatte ich da mit PHP eigentlich nie Probleme...


    Für dein Beispiel könntest du z.B. explode() nutzen:


    PHP
    1. <?php
    2. $str = 'bla1 diesen text will ich haben bla2';
    3. $str = trim(explode('bla2', explode('bla1', $str)[1])[0]);


    Das Ganze sieht etwas kompliziert aus, das stimmt. Im Prinzip ist es aber das Gleiche, wie deine JS-Lösung. Der Unterschied: In PHP kann man halt nicht einfach Funktionen hintereinander hängen.


    Eine etwas bessere Lösung wäre natürlich die Nutzung von str_replace. Damit kannst du die ungewollten Bestandteile einfach mit einem leeren String ersetzen.


    PHP
    1. <?php
    2. $str = 'bla1 diesen text will ich haben bla2';
    3. $str = trim(str_replace([ 'bla1', 'bla2' ], '', $str));
    4. echo $str;
  • das sieht doch schon mal besser aus. Mal was anderes ,ich will auf meiner page eigentlich auch wieder ein forum haben .ich hatte das damals bei foren-city.de gehabt.da wahr schon alles fertig. aber jetzt muss ich das selber bauen bzw runterladen. hatte gestern ein forum gefunden was auf php wahr. hatte es auf server geladen aber lief nicht. Habe da bestimmt was falsch gemacht. Wie mache ich das an besten das ich ein forum auf meiner page bekomme. in php selber schreiben das fält erst mal ein jahr flach( mindestens ). Gibt es da fertige forums die man empfehlen kann ,die auch ein php leihe zum laufen bekommt ?.


    Hat php auch die function try{}catch(e){} ?

  • habe das mal gerade ausprobiert . explode funktioniert . das andere zeigt mir den ganzen seiten quelltext an ,das funktioniert irgendwie nicht .


    wenn ich jetzt nach einen zweiten gleichen wort spliten will zb wie in java so


    Code
    1. var s = quelltext.split('bla1')[2].split('bla2')[0];

    kann man das in php dann auch so machen


    Code
    1. $str = trim(explode('bla2', explode('bla1[2]', $str)[1])[0]);


    EDIT warum kann man im code nicht bunt schreiben.Im editor ist es bunt ,nach den absenden wieder schwarz .wollte die "[2]" in andere farbe machen.