Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator masterG am 21.11.2011 um 18:52:57 Uhr
Bitte Formartierungshilfe beachten!
GELÖST

PHP Abfrage in URL einbinden

Frage Entwicklung PHP

Mitglied: Kepala

Kepala (Level 1) - Jetzt verbinden

01.11.2011, aktualisiert 18.10.2012, 4366 Aufrufe, 22 Kommentare

Eine Abfrage soll das Ergebnis in eine URL schreiben.

Hallo,

bin ziemlicher Neuling auf dem Gebit von PHP und benötige Eure Hilfe nachdem ich jetzt schon 3 Tage am Googlen bin.

Ich habe vor mittels einer Abfrage von <Text> und <Radiobuttons> eine URL zu kreieren.

Hier die Abfrage:

01.
<form action="ausgabe.php" method="post"> 
02.
  <ul class="pageitem"> 
03.
    <li class="bigfield"><input placeholder="Username" 
04.
 span="" class="Username[]" type="text" /></li> 
05.
    <li class="checkbox"><span class="Plattform[]">PC</span><input 
06.
 name="PC" type="radio" /> </li> 
07.
    <li class="checkbox"><span class="Plattform[]">XBox 
08.
360</span><input name="XBOX" type="radio" /> </li> 
09.
    <li class="checkbox"><span class="Plattform[]">PS 
10.
3</span><input name="PS3" type="radio" /> </li> 
11.
  </ul> 
12.
  <div style="top: 180px; height: 41px;" id="rightbutton"><input 
13.
 alt="Description" src="images/los.png" height="50" 
14.
 type="image" width="115" /> </div> 
15.
</form>
Hier das Script:

01.
<?php 
02.
$_POST['Username'] = '1'; 
03.
 
04.
$_POST['Plattform'] = '2';  
05.
?> 
06.
<div id="textbox"
07.
<div id="textboxalign"><span class="textboxtitle"></span> 
08.
<p><img src="http://meine-seite.de/$_POST['Plattform'] = '1'/xxx/$_POST['Username']  = '1'.png" alt="Titel" height="200" width="285" /></p> 
09.
</div>
Im Script sollen also der "Username" und die "Plattform" an diesen bestimmten stellen stehen wobei für die Plattform die Textbausteine "PC", "360" oder PS3 eingesetzt werden sollen.

Kann mir da bitte jemand weiterhelfen?

LG Kepala
Mitglied: redder
01.11.2011 um 13:34 Uhr
Hallo Kepala,
wo genau liegt das Problem? Funktioniert der erste Teil (das Setzen der POST Variablen)?

Ich sehe dass du beim Script die POST Variablen überschreibst:
01.
$_POST['Username'] = '1'
02.
 
03.
$_POST['Plattform'] = '2'; 
...oder machst du das nur zu Testzwecken?

Weiter würde ich den Link dann so generieren:
01.
<p><img src="http://meine-seite.de/<?php print($_POST['Plattform']);?>/xxx/<?php print($_POST['Username']); ?>.png" alt="Titel" height="200" width="285" /></p>
EDIT: Erklärung nochmal dazu:
Du musst wenn du PHP Variablen verwenden willst ihm immer auch die PHP Tags mitgeben.

geht nicht:
01.
<img src="http://meine-seite.de/$variable.png">

geht:
01.
<img src="http://meine-seite.de/<?php print($variable);?>.png">
EDIT2: Tippfehler^^
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 13:38 Uhr
Hier die Abfrage:
... woher hast Du das? - ich wundere mich etwas, bekommst du Da überhaupt sinnvolle Werte zurück ?

01.
<form action="ausgabe.php" method="post"> 
02.
	<ul> 
03.
		<li><span>Username</span><input type="text" name="Username" value="" /></li> 
04.
		<li><span>PC</span><input value="PC" name="Plattform" type="radio" /></li> 
05.
		<li><span>XBox 360</span><input value="XBOX" name="Plattform" type="radio" /> </li> 
06.
		<li><span>PS 3</span><input value="PS3" name="Plattform" type="radio" /> </li> 
07.
	</ul> 
08.
	<div> <input type="submit" name="Los" value="Los" </div> 
09.
</form>
jetzt sollte dein ausgabe.php Skript auch Werte in $_POST erhalten
01.
$lnk = 'http://wasAuchImmer.blub/'. $_POST['Plattform'] . '/foo/bar/' . $_POST['Username'] .'=flopflop.png'; 
02.
echo <<<__HTML__ 
03.
<img src="$lnk" /> 
04.
__HTML__;
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 13:52 Uhr
Dank Dir schonmal für die schnelle Hilfe werds gleich mal testen... Zu der Frage woher ich das habe...: Selbst irgendwie zusammengebastelt ;)

Rückmeldung kommt gleich...

LG Kepala
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 14:14 Uhr
Also ich habe des mal abgeändert..

Abfrage:
01.
  <ul class="pageitem"> 
02.
    <li class="bigfield"><span>Username</span><input name="Username" value="" type="text" /></li> 
03.
    <li class="checkbox"><span>PC</span><input name="Plattform" value="PC" type="radio" /></li> 
04.
    <li class="checkbox"><span>XBox 360</span><input name="Plattform" value="360" type="radio" /> </li> 
05.
    <li class="checkbox"><span>PS 3</span><input name="Plattform" value="PS3" type="radio" /> </li> 
06.
  </ul>
Script:

01.
<div id="textbox"
02.
<div id="textboxalign"><span class="textboxtitle"></span> 
03.
<p><img src="http://meine-Seite.de/<?php print($_POST['Plattform']);?>/xxx/<?php print($_POST['Username']); ?>.png" alt="Titel" height="200" width="285" /></p> 
04.
</div>
und es geht noch immer nit...

BTW: Die POST Var´s hab ich nur zum testen überschrieben... Sind jetzt raus...

Edit masterG 23.11.2011 14:51: Codeblöcke formatiert
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 14:21 Uhr
01.
error_reporting(E_ALL); 
02.
var_dump( $_POST );
.. kommt denn überhaupt was an?
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 14:23 Uhr
ähm... Was sind das jetz für Befehle? wo müssen die hin?

Ich bekomme nur die Seite wie ich sie haben will mit Bild, aber die Eingaben fehlen...
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 14:30 Uhr
Was sind das jetz für Befehle?
wo müssen die hin?
PHP Befehle - bitte in das php Skript. ... also am besten am Anfang des ausgabe.php Skriptes.

aber die Eingaben fehlen...
... das Formular fehlt oder nur die Werte aus dem Formular? - wenn im HTML Code nur:
01.
<p><img src="http://meine-Seite.de//xxx/.png" alt="Titel" height="200" width="285" /></p>
.. ankommt, dann scheint $_POST leer zu sein.

01.
error_reporting(E_ALL); 
02.
var_dump( $_POST ); 
03.
var_dump( $_REQUEST );
... am Anfang des Skripts einfügen.
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 14:41 Uhr
01.
<?php 
02.
var_dump( $_POST );  
03.
var_dump( $_REQUEST ); 
04.
$_POST['Username'] =  ; 
05.
$_POST['Plattform'] =  ; 
06.
?> 
07.
<div id="textbox"
08.
<div id="textboxalign"><span class="textboxtitle"></span> 
09.
<p><img src="http://meine-seite.de/<?php print($_POST['Plattform']);?>/xxx/<?php print($_POST['Username']); ?>.png" alt="Titel" height="200" width="285" /></p>
so siehts jetz aus...

Bekomme keine Fehlermeldung oder Ähnliches... Und wo seh ich denn was im HTML Code ankommt? Sehe doch nur die Seite wenn ichs teste... Und es sind immernoch keine Daten drin...
Bitte warten ..
Mitglied: redder
01.11.2011 um 14:55 Uhr
Hi,
also die Zeilen
01.
$_POST['Username'] = ; 
02.
$_POST['Plattform'] = ;
würde ich erstmal ganz rausnehmen.

Wenn du dir den Quellcode anzeigen lässt (i.d.R. STRG + U) solltest du zumindest sehen was an HTML Text bei dir ankommt.

Ich weiß nicht wieviel Ahnung du von POST Variablen hast, aber testest du das auch richtig, indem du zuerst dein Formular abschickst und dann die PHP Seite geöffnet wird?
(Wenn du die PHP Seite direkt öffnest sind die POST Variablen immer leer da nichts übergeben wurde)
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 15:07 Uhr
Also mit STRG+U bekomme ich den kompletten HTML TEXT angezeigt GENAUSO wie im Editor... Nur bunt ;) Die Zeilen mit var_dump sind hell rosa der rest hat blaue, schwarze und lila Farben. Es kommt bei dem Link zu keiner Änderung.

Wie gehe ich vor?

Ich nehm die *.html datei, öffne sie im Firefox und mache meine Eingaben. Danach erst auf den Submitbutton und dann sollte die ausgabe.php den Rest machen.

Woran könnte es nun noch liegen?
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 15:07 Uhr
... bei aller liebe aber du musst erst mal die Grundlagen lernen.

Wie redder schon schreibt, überschreibst Du die $_POST Variablen Werte, welche Du auswerten willst.

ich hab mal fix ein Beispiel für dich: (Formular + absenden + anzeige)
01.
<?php 
02.
echo <<<__HTML__ 
03.
<form action="" method="post"> 
04.
	<input type="text" name="param" value="wert" /> 
05.
	<input type="submit" name="action" value="Senden" /> 
06.
</form> 
07.
__HTML__; 
08.
 
09.
if (isset($_POST['action']) && $_POST['action']=='Senden') { 
10.
    $parameter = $_POST['param']; 
11.
    echo <<<__HTML__ 
12.
<hr/> 
13.
<span>$parameter</span> 
14.
__HTML__; 
15.
16.
?>
... hoffe ich hab jetzt kein Tippfehler drin.

wo seh ich denn was im HTML Code ankommt
... rechtsklick - 'Seitenquelltext anzeigen' im firefox - es gibt auch nette Erweiterungen für Firefox: Firebug, Webdeveloper
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 15:10 Uhr
ich nehm die *.html datei, öffne sie im Firefox
.. verdammt nein - das PHP Skript muss auf dem Server ausgeführt werden. zB. http://localhost/ausgabe.php - wenn file:// da steht ist das falsch
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 15:53 Uhr
ok ich bastels mal aufm server ein...
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 16:37 Uhr
So...

Beim Ausführen der ausgabe.php kommt nur folgendes:

array(4) { ["Username"]=> string(8) "Max_Keks" ["Plattform"]=> string(3) "PS3" ["x"]=> string(2) "53" ["y"]=> string(2) "31" } array(8) { ["Username"]=> string(8) "Max_Keks" ["Plattform"]=> string(3) "PS3" ["x"]=> string(2) "53" ["y"]=> string(2) "31" ["__utma"]=> string(53) "90477320.947163394.1291242950.1291242950.1320160775.2" ["__utmb"]=> string(24) "90477320.1.10.1320160775" ["__utmc"]=> string(8) "90477320" ["__utmz"]=> string(102) "90477320.1320160775.2.1.utmcsr=webappbf3.co.de|utmccn=(referral)|utmcmd=referral|utmcct=/www/user.html" }
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 16:42 Uhr
Na sehr gut.
array(4) ... ist deine $_POST Variable - und wie Du sehen kannst mit 'Username' und 'Plattform' gefüllt.
Jetzt kannst du die 'var_dump()' Befehle wieder entfernen und deine Ausgabe generieren.
Bitte warten ..
Mitglied: dog
01.11.2011 um 16:45 Uhr
Und wenn wir dann auch noch die XSS-Lücke beheben...
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 16:49 Uhr
welche xss-lücke? wo ist die?
Bitte warten ..
Mitglied: dog
01.11.2011 um 17:10 Uhr
http://de.wikipedia.org/wiki/Cross-Site-Scripting

Der Abschnitt "Nicht-persistent oder reflexiv" erklärt dein Problem.
Bitte warten ..
Mitglied: Kepala
01.11.2011 um 17:15 Uhr
Nein Nein... Das hat mit meinem Projekt eher weniger zu tun... Es funktioniert aber und ich möchte mich bei allen für die Hilfe bedanken...

Wer ein iPhone o.ä. hat und es sich anschauen möchte: www.webappbf3.co.de

Klar wird noch ein wenig feintuning betrieben aber das Grundprog steht...

LG Kepala
Bitte warten ..
Mitglied: nxclass
01.11.2011 um 21:18 Uhr
Und wenn wir dann auch noch die XSS-Lücke beheben...
welche xss-lücke? wo ist die?
*irgend ein Link den er eh nicht versteht*
Nein Nein... Das hat mit meinem Projekt eher weniger zu tun
... ja - was soll man dazu noch sagen. Kepala bitte teste deinen Code nur lokal auf einem Server !!!

und gibt mal in das 'Username' feld ein:
01.
<script type="text/javascript">alert('Injection');</script>
und sende das Formular
Bitte warten ..
Mitglied: Kepala
02.11.2011 um 11:08 Uhr
ähm... Hab nochmal dran gearbeitet und auch auf der Seite die ich abgreife gelesen, dass die sogar wollen dass man drauf zugreift... Allerdings arbeiten die selbst noch an ihrer Seite so dass es hin und wieder zu Fehlern kommen kann...

Auf deren Seite steht nun auch etwas mit nem Abfrage-Link den ich mal mit eingebaut habe:

So stehts auf deren HP (http://bf3stats.com/api):

player
URL: http://api.bf3stats.com/[Platform]/player/
[Platform] can be pc, 360 or ps3
POST parameters:

player name of a player
opt is a list of [playerOutputOptions]
See below for a list of [playerOutputOptions].

Return parameters:

status can contain pifound, data, notfound or error
pifound only the index data of the player was found
data complete data of the player was found
error is only returned if status is error with one of following error codes:
invalid_platform, invalid_name

So hab ichs eingebaut:

01.
  <li class="menu"><a href="http://api.bf3stats.com/<?php print($_POST['Plattform']);?>/player/<?php print($_POST['Username']);?> opt=all"><img src="awards_s/m50.png" /><span class="name"align="center">Mehr Infos</span> <span class="comment"></span><span class="arrow"></span></a> 
02.
  </li>
Und das bekomme ich raus:

Error reference: REQ20111102095359.112

TypeError: Cannot read property 'length' of null
at [object Object].isNameInvalid (module/bf3/bf3Stats.js:300:9)
at [object Object].handlePlayer (module/bf3/api.js:394:23)
at module/bf3/api.js:54:6
at [object Object].callb (config/global.js:547:22)
at [object Object].run (config/global.js:558:7)
at [object Object].prepareSite (module/bf3/api.js:91:5)
at [object Object].handleModuleCallback (config/request.js:566:9)
at [object Object]. (config/request.js:604:7)
at [object Object].finalcallb (module/bf3/module.js:96:10)
at [object Object].callb (config/global.js:549:8)

Hab ich jetz wieder irgendeinen Gedankenfehler oder liegt das daran dass die noch ihre Api aufbauen?

LG Kepala

EDIT masterG 23.11.2011 14:53: Bitte Formatierungshilfe beachten!
Bitte warten ..
Mitglied: nxclass
02.11.2011, aktualisiert 18.10.2012
Das mach mal bitte in ein neues Thema.

TypeError: Cannot read property 'length' of null
POST parameters: ... opt ...
... dann kannst du 'opt' nicht einfach an die URL hängen - da kommen nur GET Parameter dran.

POST Werte mit Php senden: http://www.administrator.de/forum/post-werte-weitergeben-155867.html#co ...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
gelöst URL Loggen mit PHP? (4)

Frage von 1410640014 zum Thema PHP ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

PHP
gelöst PHP Dropdownmenü mit SQL-Abfrage (4)

Frage von tobmes zum Thema PHP ...

C und C++
gelöst IF Abfrage funktioniert nicht mehr (2)

Frage von pablovic zum Thema C und C ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...