Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

PHP - Werte von Variablen übergeben

Diskussion: PHP - Werte von Variablen übergeben im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hola, hab da ein kleines Problem =) ich habe hier ein Formular, in welchem Variablen deklariert sind. Sobald ich ...

Antwort
Alt 03.02.05, 12:15   #1 (permalink)
Bastard Operator
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard PHP - Werte von Variablen übergeben

Anzeige

Hola,

hab da ein kleines Problem =)

ich habe hier ein Formular, in welchem Variablen deklariert sind. Sobald ich auf ok klicke rufe ich eine Weiterleitung wie folgt auf:

Code:
echo "<meta http-equiv='refresh' content='0; url=index.php?action=blubb'>";
Auf der darauf folgend erscheinenden Seite sollen die Variablen aus dem vorhergehenden Formular weiterverarbeitet werden. Das Problem ist imho, daß die Variablen über die Meta-Anweisung nicht an die zweite Seite weitergegeben werden können.

Habe es schon mit der $_POST-Anweisung versucht, aber das klappt nicht.
Die zweite Seite will ich aber auch nicht Include, weil dann alles falsch dargestellt wird.

Eine weitere Möglichkeit wäre, es über die Header-Anweisung weiterzuleiten. Da hab ich allerdings das altbekannte Problem mit dem Byte vor der Anweisung und der Fehlermeldung "Cannot modify header information", wo ich mir die Zähne ausbeiße.

Weiß jemand Rat?

Vielleicht hat ja jemand eine alternative Weiterleitung in PHP zu den oben genannten Möglichkeiten.

So long...

Greetz Evil
TheEvilOne ist offline   Mit Zitat antworten
Alt 03.02.05, 13:43   #2 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

an der meta anweisung liegt das nicht. du hast wohl die variable falsch eingelesen.
du schreibst dass du $_POST verwendet hast. da du die variable aber in der url mitgibst, musst du $_GET['action'] verwenden.
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 03.02.05, 14:24   #3 (permalink)
Bastard Operator
Themenstarter
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard

Wenn ich im Zieldokument schreibe:
Code:
echo "Dateigröße: $_GET['dateigroesse'] Byte";
kommt ein parse error. Hab ich mich da irgendwo verschrieben?



Allerdings wenn ich das insofern anders schreibe:
Code:
$dateigroesse=$_GET['dateigroesse'];
und anschließend die Variable aufrufe:
Code:
echo "Dateigröße: $dateigroesse Byte";
funktioniert es auch nicht. Oder muß ich die GET-Anweisung in dem Quell-Dokument einfügen, da der Wert der Variable _mitgegeben_ wird ?
TheEvilOne ist offline   Mit Zitat antworten
Alt 03.02.05, 14:49   #4 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

wenn du ne ältere php version hast, kann sein das er das $_GET nicht kennt.
also versuchs mal so
PHP-Code:
echo "Dateigröße: ".$HTTP_GET_VARS['dateigroesse']." Byte"
und guck mal ob du nicht irgend nen rechtschreibfehler im variablenname (im quelldokument) hast, so dass er die variable nicht findet.
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 03.02.05, 15:08   #5 (permalink)
Bastard Operator
Themenstarter
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard

Ne, funktioniert leider auch nicht. Ich hab jetzt in der Quelldatei einfach mal eine Variable x mit dem Wert 1 deklariert und folgendes ausprobiert:

Quelldatei (funktioniert):
Code:
$x = 1;
echo "$x";
Zieldatei (funktioniert nicht, ohne Fehlermeldung):
Code:
$x=$_GET['x'];
echo "$x";
oder auch in der Zieldatei (funktioniert nicht, mit Fehlermeldung):
Code:
echo "$_GET['x']";
Wenn ich das GET in der Zieldatei in die zweite Zeile mit einbaue, erhalte ich einen Fehler. Ich hab das Gefühl, als ob die Variablen einfach nicht mit übergeben bzw. gespeichert wird.

Btw: Ich hab schon eine etwas neuere PHP-Version, allerdings kennt er die Funktion foreach nicht (Mackz kann davon ein Liedchen singen *zwinker*)
TheEvilOne ist offline   Mit Zitat antworten
Alt 03.02.05, 15:47   #6 (permalink)
Member of Honour
 
Registriert seit: 20.10.01
boppy Leistung: Facit NTK
boppy eine Nachricht über ICQ schicken
Likes: 0
Standard

Also Variableneingang kann wie folgt dargestellt werden:

echo("ich bin {$_GET["name"]} und bin {$_POST["alter"]} Jahre alt und wohne in {$_REQUEST["alter"]}!");

Hier wird der "name" aus der URL genommen und das alter aus POST. Woher er das alter holt ist egal, wobei die reihenfolge, wie ich festegestellt habe, GET vor POST heitß. Post ist also das, was letzten endes gilt.

somit sollte es

echo("Dateigröße: {$_GET["dateigroesse"]} Byte");

heißen. Hier machen auch die " innerhalb des befehls nicht, weil es von PHP durch die {} eh als source gewertet wird...

bgbö
boppy ist offline   Mit Zitat antworten
Alt 03.02.05, 15:51   #7 (permalink)
Moderator
 
Registriert seit: 17.10.01
soox Leistung: Facit NTK
Likes: 0
Standard

was gibt dir (in deinem code)?

PHP-Code:
<?php

error_reporting
(E_ALL);
print_r($_GET);
print_r($_POST);

?>
soox ist offline   Mit Zitat antworten
Alt 03.02.05, 15:51   #8 (permalink)
Bastard Operator
Themenstarter
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard

Jetzt hab ich das Notebook gerade eingepackt, werds aber ausprobieren, sobald ich wieder auf der Arbeit bin.

Bin mal gespannt, ob das an den geschweiften Klammern lag.

Dank Euch schonmal für die Tipps ;-]
TheEvilOne ist offline   Mit Zitat antworten
Alt 07.02.05, 10:45   #9 (permalink)
Bastard Operator
Themenstarter
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard

ein re, ein re und keiner hat ne Flinte ;-]

sorry boppy, das funktioniert auch nicht wirklich.


@soox, ich bekomme folgende Ausgaben:


print_r($_POST);
Ausgabe: Array()

print_r($_GET);
Ausgabe: Array ( [action] => dateiname )
TheEvilOne ist offline   Mit Zitat antworten
Alt 07.02.05, 19:35   #10 (permalink)
 
Registriert seit: 20.01.03
Zwirni Leistung: Z3
Likes: 0
Standard

Code:
print_r($_POST['variablenname']);
Ausgabe: Wert der Variable

Mit count($_POST) kannst du auch die Größe des Arrays ermitteln. $_GET bzw. $_POST Variablen sind nur gesetzt wenn du diese per Formular oder Link an die empfangende Datei schickst, manuell setzen bringt nix

Und das foreach nicht geht kann ich mir auch kaum vorstellen
Zwirni ist offline   Mit Zitat antworten
Alt 07.02.05, 19:45   #11 (permalink)
Administrator
 
Benutzerbild von Mackz
 
Registriert seit: 02.10.01
Mackz Leistung: Pentium IMackz Leistung: Pentium I
Likes: 30
Standard

@ Zwirni:
Evils PHP-Version ist vom Teufel besessen und ich fürchte, da helfen selbst die besten Exorzisten nichts
__________________
RL sux big time... auch 2012!

Deleting pr0n is like killing your best friend

[HaBo] bei Facebook - Werde Fan
Mackz ist offline   Mit Zitat antworten
Alt 07.02.05, 19:50   #12 (permalink)
Moderator
 
Benutzerbild von PuppE
 
Registriert seit: 13.12.04
PuppE Leistung: Facit NTK
Likes: 0
Standard RE: PHP - Werte von Variablen übergeben

kannst du eventuell mal deinen form-tag posten ? ich würd gern mal sehen was du bei action eingetragen hast (nur um alle fehler quellen aus zu schließen)

mfg

püppi
__________________
[Wer glaubt, dass Projektleiter Projekte leiten, glaubt auch, dass Zitronenfalter Zitronen falten.]
PuppE ist offline   Mit Zitat antworten
Alt 14.02.05, 08:23   #13 (permalink)
Bastard Operator
Themenstarter
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard

Also hier mal der Code-Ausschnitt von der ersten Seite inklusive Form-Tag:
Code:
<font size="2"><b>Datei-Upload:</b></font><br><br>
<font size="2">Datei in die Datenbank aufnehmen:</font><br>
<form action="index.php?action=seite1" method="post" enctype="multipart/form-data">
<input type="file" name="datei">
<input type="submit" name="submit" value="Submit">

<?php

    $pfad = "bitmaps/";    // Pfad

    if (isset($_FILES['datei']) && $_FILES['datei']['size'] > 0 ) {

      $maxgroesse = 2000000;
      $tempname = $_FILES['datei']['tmp_name'];
      $dateiname = $_FILES['datei']['name'];
      $dateigroesse = $_FILES['datei']['size'];
      $dateityp = GetImageSize($tempname);

        if ($dateityp[2] == 1 || $dateityp[2] == 2) {    // GIF oder JPEG

           if ($dateigroesse <= $maxgroesse) {    // Datei zu groß?

              if (move_uploaded_file($tempname, $pfad . $dateiname)) {
//                      Dateigröße: <b>$dateigroesse</b> Byte,
//                      Bildname: <b>$dateiname</b><br></p>";

                echo "<meta http-equiv='refresh' content='0; url=index.php?action=seite2'>";

              } else {

              ...
Wenn ich die Kommentarzeilen dort oben entferne, funktioniert es. Allerdings soll das eben in der darauf folgenden Seite angezeigt werden.


Hier der Code von der zweiten Seite, welche über die Metaweiterleitung aufgerufen wird:
Code:
<?php

// $dateigroesse = $_GET['dateigroesse'];
echo "<center><font size='2'>Datei wurde erfolgreich hochgeladen!</font></center><br>";
// echo "<center><font size='2'>Dateigröße: {$_GET["dateigroesse"]} Byte</font></center><br>";
// echo "<center><font size='2'>Dateiname: $_POST['dateiname']</font></center>";
echo "<center><font size='2'>Klicken Sie <a href='index.php?action=bitmaps'><b>hier</b></a>, um zum Formular zurückzukehren</font></center>";

?>
In den Zeilen, welche als Kommentar gesetzt sind, habe ich ein wenig rumprobiert.


Btw: Wenn das net bald klappt, opfer ich ein Huhn auf meinem Notebook und zeichne mit deren Blut ein Pentagramm auf die Frontseite. Soviel dann zur Teufelsaustreibung *g
TheEvilOne ist offline   Mit Zitat antworten
Alt 14.02.05, 10:57   #14 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Über deine Meta Refresh Anweisung wird nur eine Variable weitergegeben, und zwar $action, die anderen Variablen verfallen alle.

Entweder hängst du deine Variablen an die Anweisung an, oder versuchst dein Glück mit Sessions.

Der Hesse

EDIT

Mein Vorschlag:

Im ersten Script dieses ändern

Zitat:
echo "<meta http-equiv='refresh' content='0; url=index.php?action=seite2'>";
in

Code:
echo "<meta http-equiv='refresh' content='0; url=index.php?action=seite2&dateigroesse=$dateigroesse&dateiname=$dateiname'>";
in der zweiten Seite dann folgendes

Zitat:
// echo "<center><font size='2'>Dateigröße: {$_GET["dateigroesse"]} Byte</font></center><br>";
// echo "<center><font size='2'>Dateiname: $_POST['dateiname']</font></center>";
in

Code:
echo "<center><font size='2'>Dateigröße: $_GET["dateigroesse"] Byte</font></center><br>";
echo "<center><font size='2'>Dateiname: $_GET["dateiname"]</font></center>";
derhesse ist offline   Mit Zitat antworten
Alt 14.02.05, 11:23   #15 (permalink)
Bastard Operator
Themenstarter
 
Benutzerbild von TheEvilOne
 
Registriert seit: 02.10.01
TheEvilOne Leistung: Z3
Likes: 16
Standard

Super danke, funktioniert ;-]

Ich mußte bei der zweiten Seite aber folgendes ändern:

Code:
$dateigroesse=$_GET['dateigroesse'];
$dateiname=$_GET['dateiname'];

echo "<center><font size='2'>Dateigröße: $dateigroesse Byte</font></center><br>";
echo "<center><font size='2'>Dateiname: $dateiname</font></center>";
Wenn ich es wie in Deinem Beispiel mache, bekomme ich einen Parse-Error ... warum auch immer, eigentlich sollte er auch das akzeptieren.

Danke fein für eure Hilfe =)
TheEvilOne ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » PHP - Werte von Variablen übergeben
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ajax - Variablen an Server übergeben CentralWay (Web-) Design und webbasierte Sprachen 1 19.07.08 12:14
Simpel Variablen per Formular übergeben U553R §80 (Web-) Design und webbasierte Sprachen 8 26.05.08 02:46
Daten übergeben Prophion Code Kitchen 0 22.04.08 09:54
Post variablen an neues fenster übergeben malloc() (Web-) Design und webbasierte Sprachen 4 21.06.06 18:32
PHP die2., Variablen übergeben niedriger noob (Web-) Design und webbasierte Sprachen 12 05.05.02 05:16


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61