Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   [PHP] 3 oder 4 Variabel werden nicht gesendet (https://www.tweakpc.de/forum/programmiersprachen/32979-php-3-oder-4-variabel-gesendet.html)

LeoHart 12.02.2006 17:16

[PHP] 3 oder 4 Variabel werden nicht gesendet
 
Hallo,
hab ein Problem mit einen kleinen selbst geschrieben PHP Programm. Eigentlich nichts weltbewegendes. Das Programm funktioniert auch auf dem Webspace von funpic.de aber leider nicht auf dem meines Hosters.

Denke mal das dort eine ältere version läuft aber es muss trotzdem irgendwie funktionieren.

[CODE]<html>
<head>
<title>Kontaktformular</title>
</head>
<body>
<form method="POST" action="Sender.php">
<p>Name:
<input type="text" name="name" size="30">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="reset" value="Reset">
<input type="hidden" name="gesendet" value="1">
</p>
</form>
</body>
</html>[/CODE]

Das Formular soll nur die Variabel $name an das PHP Programm schicken leider passiert das nicht. Wie sieht den die Variabelübergabe bei älteren PHP Versionen aus?

[PHP]
<?php
$a = "teamspeak://XXXXX.XXXXX?nickname=\"$name\"?";
print("<html>");
print("<br>");
print("<head>");
print("<Title>Senden erfolgreich</Title>");
print("<meta http-equiv=\"refresh\" content=\"0; URL=teamspeak://XXXX.XXXX?nickname=$name"?\>");
print("</head>");

print("<center><b>Falls dies nicht funktioniert, klicken sie auf folgenden Link:</b></center><br>");
print("<a href=teamspeak://XXXX?nickname=\"$name\"?><center>$a</center></a>");
print("</body>");
print("</html>");
?> [/PHP]

( ein paar Anführungszeichen könnten falsch gesetzt sein )

Hoffe das einer helfen kann

tele 12.02.2006 17:59

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
moin, scheint mir als ob dir register_globals nix sagt?

ok, also wenn das an ist, was du bequem mit phpinfo(); herausfinden kannst, ist es nicht möglich einfach so variablen zu übernehmen, ohne diese explizit aus den Superglobalen Arrays $_POST oder $_GET zu lesen. also wenn du als übertragungsmethode post verwendest, solltest du in deinem php script nicht mit

$variablen_name

sondern mit

$_POST['variablen_name']

auf die Varible zugreifen.

LeoHart 12.02.2006 18:32

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
[QUOTE] scheint mir als ob dir register_globals nix sagt?[/QUOTE]
Da hast du recht ^^
Danke für den Tipp

Irgendwie will es trotzdem nicht klappen :( Hab mich auch irgendwie mit den Anführugszeichen verfranst. Kann einer aushelfen ? :oops:

tele 12.02.2006 19:43

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
Jo - das eine " war nicht escaped worden - dadurch wurde vielleicht das ?> als php ende interpretiert oder es ging nicht, probiers mal damit:
[PHP]
<?php
$a = "teamspeak://XXXXX.XXXXX?nickname=\"$_POST['name']\"?";
print("<html>");
print("<br>");
print("<head>");
print("<Title>Senden erfolgreich</Title>");
print("<meta http-equiv=\"refresh\" content=\"0; URL=teamspeak://XXXX.XXXX?nickname=$_POST['name']\"?\>");
print("</head>");

print("<center><b>Falls dies nicht funktioniert, klicken sie auf folgenden Link:</b></center><br>");
print("<a href=teamspeak://XXXX?nickname=\"$_POST['name']\"?><center>$a</center></a>");
print("</body>");
print("</html>");
?> [/PHP]

LeoHart 16.02.2006 20:48

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
Danke nochmal für die Fehlersuche :)

Leider ist der Fehler noch immer da. Weiß jetzt auch nicht woran es liegt:

[b][QUOTE] [/b]
[b][b]Parse error[/b]: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in [b]/srv/www/htdocs/web224/html/TeamSpeak/ts-connecter/Sender.php[/b] on line [b]3[/b]
[/QUOTE] [/b]

tele 17.02.2006 11:31

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
dann formulier mal Zeile 3 in diesem Format:


[PHP]$a = 'teamspeak://XXXXX.XXXXX?nickname='.$_POST['name'];[/PHP]

(ist auch schneller, da nicht der " " String nach variablen durchgeguckt werden muss )
hat das Fragezeichen am ende noch iene besondere bewandnis?

LeoHart 17.02.2006 15:43

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
Jetzt hab ich einen fehler in Zeile 8 also da wo der nächste Teamspeak Link steht. Also das mit dem Fragezeichen kann ich dir nicht genau beantworten. Hab es mal irgendwo gesehen das man es so machen sollte warum weshalb k.a.

tele 17.02.2006 18:29

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
okay mal zur Erklärung. anstatt eine Variable in einem String zu lassen, also

[php]$name = "test";

$stringA = "Dies ist ein String mit dem Namen: $name";[/php]

solltest du die Strings und die Variable mit Konkardination zusammenhängen. Der Operator ist, wie du oben schon siehst ein .
Außerdem packst du dann den Rest zwischen einfache anführungszeichen (das überm # auf der deutschen Tastatur), da dann PHP da nciht mehr nach Variablen drin sucht. Einfaches bsp:

[php]echo "Wert von name: $name";[/php]

gibt aus: Wert von test

[php]echo 'Wert von name: $name';[/php]

gibt aus: Wert von $name

also heißt das für z.b. Zeile 8
anstatt
[php] print("<meta http-equiv=\"refresh\" content=\"0; URL=teamspeak://XXXX.XXXX?nickname=$_POST['name']\"?\>")[/php]

kommt hin

[php] echo '<meta http-equiv="refresh" content="0; URL=teamspeak://XXXX.XXXX?nickname='.$_POST['name'].'"?>'[/php]

LeoHart 17.02.2006 21:05

AW: [PHP] 3 oder 4 Variabel werden nicht gesendet
 
Danke, danke :D
Es geht. Dummer print Befehl :-P


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.