WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Parameterübergabe mit require()?

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Parameterübergabe mit require()? - 23 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Parameterübergabe mit require()?
accelle
Pixelschubser
Threadstarter




Beiträge: 6

Hallo zusammen,

ich bin PHP Newbie und hab folgendes Prob:

Ich hab gerade eine Website erstellt, mit der man meine Seite weiterempfehlen kann. In einem Formular gibt man Empfängermailadresse und eine Nachricht ein. Zudem seine eigene Mailadresse und (wer will) seinen Namen.

Diese Website ruft ein PHP-Script auf, das aus dem Formular eine mail zusammenbaut. Das funktioniert. Nun möchte ich die erste Seite wieder aufrufen und dabei die Mailadresse und den Namen des Empfehlers einblenen. Vielleicht möchte er meine Seite ja noch anderweitig empfehlen.

Ich versuchte also mit
1:
require("tell_a_friend.php?ml=".$mailadresse);

meine Website wieder aufzurufen. Fehlermeldung:
Fatal error: main() [function.require]: Failed opening required 'tell_a_friend.php?ml=name@domain.de' (include_path='.:/usr/local/lib/php') in ...


Kann man mit require keine Parameter übergeben? Ohne die Mailadresse tuts nämlich.

Wenn nein: wie geht es dann?

Bin dankbar für jeden Tipp.

Danke im Voraus
Peter

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

nein nicht an das require dranhängen.

versuchs mal mit
$_GET oder $_SERVER


---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
accelle
Pixelschubser
Threadstarter




Beiträge: 6

Hallo raiserle,

danke für Deinen Tipp. Es geht sogar ohne GET. Man kann die Variablen aus dem aufrufenden Programm mitbenutzen.

Gruß
Peter

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

vorsicht
register_globals off
dann wirds mit der variablen nicht mehr gehen

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
accelle
Pixelschubser
Threadstarter




Beiträge: 6

Danke für den Hinweis. Kann ich den Wert von register_globals beeinflussen oder wird der von meinem Provider festgelegt?

Ich werde auf jeden Fall noch das mit $_GET und $_SERVER probieren.

Gruß
Peter

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

ja es wird vom provider gesetzt
und in wie fern es mit ini_set() zu verändern ist, habe ich noch nie probiert.
ini_list

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

wenn dein Provider dir einen .htaccess erlaubt, müßte folgendes drinstehen:
1:
php_flag register_globals on


Und über ini_set müßte es wie folgt gehen:
1:
ini_set("register_globals", "1"); 

Achte aber darauf, dass diese Einstellung nur dann gesetzt werden kann, wenn vorher kein HTML-Code erzeugt wurde, durch "echo", "print_r" u.s.w.!!!

---

  Profil   E-Mail   Website   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

nur ne frage dazu,
kann es nicht aber auch sein, das der provider es unterbindet,
über ini_set() verschiedene parameter zu verändern. das selbe gilt natürlich auch für
.htaccess

will damit nur sagen
$_GET['var'] oder $_POST['var'] ist doch eh sauberer
als einfach $var zu benutzen

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

will damit nur sagen
$_GET['var'] oder $_POST['var'] ist doch eh sauberer
als einfach $var zu benutzen

...da stimme ich Dir zu 100% zu!!! Ich gehöre auch zu der Gruppe, die direkt entweder über die $_GET, $_POST usw gehen, ist für die spätere Quellcode- und Fehleranalyse eh besser!!!

---

  Profil   E-Mail   Website   Editieren   Zitieren
accelle
Pixelschubser
Threadstarter




Beiträge: 6

Hallo zusammen.

Bin überrascht über die tolle Resonanz hier. Hab jetzt auch Zeit gefunden, den Zugriff mit $_GET und $_POST zu testen. Leider kann ich damit nicht auf die Variable aus dem aufrufenden Programm zugreifen.

Muss ich die irgendwie übergeben, damit ich per $_GET oder $_POST zugreifen kann?

Gruß
Peter

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Ein require ist Grunde nichts anderes als eine textliche Einsetzung. Also die require-Zeile wird einfach direkt gegen den Code ausgetauscht, der in der einzubindenden Datei steht. Was das umfassende Skript nicht unterstützt, kann dann in der eingebundenen Datei natürlich auch nicht benutzt werden.

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

um es vielleicht mit einfacheren worten zu sagen, oder auch nich...
oder ausführlicher

wenn du in deinem script (a) eine variable definiert
und in deinem script (a) das script (b) aufrufst,
stehen dort die selben variablen zur ferügung wie in script (a)

so wie schon languitar sagte
du musst dir vorstellen, wenn du nen require, oder include machst,
wird der code aus dem script, an die stelle, wo du ihn aufrufst, eingefügt...
also wie reincopiert


was natürlich trotzdem zu dem schluss kommen läst, was du versucht hast?
an das script, was du aufrufst, eine get variable anzuhängen... geht ja nicht

um das nun klarzustellen. wenn du in deinem script (a) eine variable hast.. angenommen
$test
und das script (b) im script (a) aufrufst.
dann wirst du über die supergobals $_GET $_POST $_SERVER,
sie nicht wiederfinden. ausnahme $GLOBALS.
warum, weil sie über keine der metoden übergeben wurde. sie wurde einfach in dem script definiert und ihr einen wert zugewiesen.
und deswegen, wie schon oben beschieben..., da die variable $test ja in (a) steht, steht dir auch die variable $test in (b) zur verfügung

ich hoffe, das war ein verständlicher abschluss, um nochmal alles zusammen zu fassen.

gruß raiserle

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
accelle
Pixelschubser
Threadstarter




Beiträge: 6

Hallo zusammen,

das habe ich jetzt verstanden. Wenn das aber so ist, dass require einfach den Text der aufgerufenen Datei in die ursprungsdatei einsetzt und deshalb alle dort definierten Variablen automatisch auch in der aufgerufenen gelten, dann verstehe ich nicht, warum Ihr mir empfohlen habt, $_GET oder $_POST zu nehmen.

Dass ich direkt zugreifen kann, habe ich schon getestet, ich dachte, aus Transparenzgründen wäre es besser das nicht zu tun.

Bin confused.

Gruß
Peter

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

ja, ich hatte dort oben den beitrag falsch verstanden.
ich dachte du wolltest eine variable die aus einem link resultiert an den riequire hängen.
deswegen die erklärung von $_get / $_post / $_server / $globals.

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
accelle
Pixelschubser
Threadstarter




Beiträge: 6

OK, alles klar. Dann Danke für die Erläuterungen. Ich versteh auf jeden Fall jetzt einige Zusammenhänge besser als vorher.

Gruß und schönes WE
Peter

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Parameterübergabe mit require()?

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Parameterübergabe mit require()? im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8127855    Heute : 250     Gestern : 761     Online : 184     23.11.2024    10:36      0 Besucher in den letzten 60 Sekunden        
Nach oben