[PHP] Variable wird nicht weitergegeben (noch eine Frage!)

Drrichardfahrer

Well-known member
ID: 207405
L
20 April 2006
7.060
691
Ich hab folgende Datei 1 mit der Frameanweisung:

Code:
echo "<frame src='datei_2.php?user=$user&id=$id&zeit=$mail[zeit]' name='check' scrolling='NO'>";

Dann hab ich Datei 2 mit folgender Zeile:

Code:
$zeit = $_GET['zeit'];
$user = $_GET['user'];
$id = $_GET['id'];
echo "<meta http-equiv=\"refresh\" content=\"$zeit; URL=$PHP_SELF?user=$user&id=$id&zeit=$zeit&step=1\">";

Komischerweise wird nur die Variable "zeit" mitgegeben, aber "User" und "ID" nicht, das heißt in der Frame steht dann bei Meta nur: "datei_2.php?user=&id=&zeit=100" :(

Was mach ich falsch???
 
Hi,

Das ganze muss z.B. so aussehen:

PHP:
<?php
echo '<a href="https://example.org?foo='.$foo.'&bar='.$bar.'>Link</a>';

// oder

echo "<a href='https://example.org?foo=".$foo.">Link</a>";
?>

Arrays können denke ich auch in einfachen Ticks angegeben werden. Würde ich aber nicht so machen ;)
 
Zuletzt bearbeitet:
@Johnson: Ich glaub, du hast mich missverstanden. Ich will keinen Link machen, sondern bei Datei 1 wird ein Frameset gebildet, wo in einem Frame eben die Datei 2 reingeladen wird. Datei 2 besitzt einen Refresh-Meta, wo sie sich selbst erneut aufrufen soll (nach einer gewissen Zeit), nur hinten dran noch die Variable step=1 einfügen soll.
 
man sieht schon am Highlighting, dass das falsch ist

und selbst jetzt ist es noch falsch, da man die Tags nicht beenden muss

Sry, funktioniert einwandfrei. Wo ist das Problem ? Hatte es auch gesehen am Highlighting und geändert.

Den Rest verkneif ich mir heute mal.

edit: Seit wann muss man das a-Tag nicht schließen ? Ist das etwa schon wieder ein Standard von den allwissenden W3Clern ?

@Threadersteller: Ist doch vom Prinzip das Gleiche.
 
Moin,
weiß ja nicht, is vllt. register_globals off? Einfach mal gucken, und nächstes mal gleich mit Superglobale GET ($_GET['var']) arbeiten, falls es daran liegt. Kannst ja vllt. mal den Code der Datei posten, mit der du das Frame erstellst.

*edit*
lol, hast ja, sag nix mehr :ugly: :wall:
 
Zuletzt bearbeitet:
Ja, Register Globals ist bei meinem Anbieter soweit ich weiß auf OFF.

Alles hat ja bis vor der Umstellung von PHP 4 auf PHP 5 funktioniert...nur jetzt funktioniert das nicht.

Und bei meinem Frame steht noch oben alles richtig, es wird nur nicht in den Meta-Tag übernommen...
 
Ja, Register Globals ist bei meinem Anbieter soweit ich weiß auf OFF.

Alles hat ja bis vor der Umstellung von PHP 4 auf PHP 5 funktioniert...nur jetzt funktioniert das nicht.

Und bei meinem Frame steht noch oben alles richtig, es wird nur nicht in den Meta-Tag übernommen...

hm komisch schonmal so versucht ?
PHP:
echo "<meta http-equiv=\"refresh\" content=\"$_GET[zeit]; URL=$PHP_SELF?user=$_GET[user]&id=$_GET[id]&zeit=$_GET[zeit]&step=1\">
";

Kommen die überhaubt an in der Datei?
Also hast mal eine Test Ausgabe gemacht?
 
Sry, funktioniert einwandfrei....
scheinbar nur bei dir
Seit wann muss man das a-Tag nicht schließen ?...
man muss die Tags schon schließen, aber nicht so

der o.g. Code ergibt nämlich:
<a href="https://example.org?foo="1"&bar="2">Link</a>
ich bezweifle mal, dass das ein Link ist :roll:

Von der Idee her würde ich natürlich ähnlich machen:
PHP:
echo '<meta http-equiv="refresh" content="'.$zeit.'; URL='.$_SERVER['PHP_SELF'].'?user='.$user.'&id='.$id.'&zeit='.$zeit.'&step=1">';
 
scheinbar nur bei dir
man muss die Tags schon schließen, aber nicht so

der o.g. Code ergibt nämlich:
<a href="https://example.org?foo="1"&bar="2">Link</a>
ich bezweifle mal, dass das ein Link ist :roll:

Stimmt, der Link der rauskam war nicht das gewünschte Ergebnis, hab mich vertan.

Es ist allerdings immer noch ein gültiger Link, und mittels " wird auch kein Tag geschlossen ;)
 
hm komisch schonmal so versucht ?
PHP:
echo "<meta http-equiv=\"refresh\" content=\"$_GET[zeit]; URL=$PHP_SELF?user=$_GET[user]&id=$_GET[id]&zeit=$_GET[zeit]&step=1\">
";

Kommen die überhaubt an in der Datei?
Also hast mal eine Test Ausgabe gemacht?

Ich hab jetzt mit isset() eine Überprüfung der Variablen gemacht. Es kommt nur "zeit" rüber in die Datei 2, aber nicht "user" und "id".
 
OK, ich poste die 2 Dateien (das Wichtige):

1. Datei:

PHP:
include('config.inc.php');
include('db.php');

$tabelle = 'mail_'.mysql_real_escape_string($_GET['id']);

$mail = mysql_fetch_array(mysql_query("SELECT * FROM ".$tabelle." WHERE username='".mysql_real_escape_string($_GET['username'])."'"));

echo mysql_error();

echo "<title>Datei 1: $Titel</title>";
echo "<frameset rows='*,100' bordercolor=\"black\" border=\"0\">
      <frame src='$mail[url]' name='No Name' noresize>
      <frame src='datei_2.php?username=$username&id=$id&zeit=$mail[zeit]' name='check' scrolling='NO'>


      </frameset>";

2. Datei:

PHP:
<?
if(!$_GET['step']){
?>

<html>
<head>
<title>Datei_2</title>
<?
echo '<meta http-equiv="refresh" content="'.$zeit.'; URL='.$_SERVER['PHP_SELF'].'?username='.$username.'&id='.$id.'&zeit='.$zeit.'&step=1">'; 

 ?>
</head>
Bald kommt der Weihnachtsmann.<br>
<?
}elseif($_GET['step']==1){

Beim Aufruf der 1. Datei steht in der URL-Leiste noch schön:

https://www.irgendetwasstehthier.at/datei_1.php?id=63&username=Tester

Allerdings steht dann im Quelltext des einen Frames folgendes:

HTML:
<html>
<head>
<title>Datei 2</title>
<meta http-equiv="refresh" content="; URL=/datei_2.php?username=&id=&zeit=&step=1"></head>
Bald kommt der Weihnachtsmann.<br>
 
Jo, einfach mal Superglobale GET benutzen, weil so wie ichs se kommt $username über die URL, und da du gesagt hast register_globals is off, gehts halt net, oder???
 
OK, hab ich gemacht - es geht immer noch net - nur bei der zeit...

Was ist denn da bitte los??? :(

Hier das Aktuelle:

PHP:
<?
if(!$_GET['step']){
?>

<html>
<head>
<title>Datei 2</title>
<?

$zeit = $_GET[zeit];
$username = $_GET[username];
$id = $_GET[id];

echo '<meta http-equiv="refresh" content="'.$zeit.'" URL='.$_SERVER['PHP_SELF'].'?username='.$username.'&id='.$id.'&zeit='.$zeit.'&step=1">'; 

 ?>
 
Danke!!! Es funktioniert! Ich bin echt zu doof...darauf hätte ich selber kommen können. Hab da schon einen Tag herumgesucht und herumprobiert...danke an alle, die mir geholfen haben!

@Tester, gib mir deine Klamm ID - Lose kommen ;)