Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Mal ne ganz dooofe Frage zu echo :( (https://www.delphipraxis.net/53523-%5Bphp%5D-mal-ne-ganz-dooofe-frage-zu-echo.html)

Assun 18. Sep 2005 11:36


[PHP] Mal ne ganz dooofe Frage zu echo :(
 
Hi.

Sorry wenn ich euch mal wieder nerven muss aber ich hab mir mittlerweile massige PHP Tuts angezeigt aber folgende Problematik kann ich trotzdem net lösen :(

Wenn ich das mache :

Code:
echo '<BODY onLoad="window.open('http://Download.com','Tuts','width=300, height=300')">';
Dann kommt n fetter php error :( woran liegt das denn schon wieder ?

Vielen vielen dank im Voraus und ich hoffe dass das die letzte änderung am Code von http://Assun.de wird :roll:

Gruß Assun :-)

[edit=alcaeus]Quote- durch code-Tags ersetzt. Mfg, alcaeus[/edit]

S2B 18. Sep 2005 11:39

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Schon mal was von escapen gehört? :wink: Allerdings würde ich in solch einem Fall den Code direkt ins Dokument schreiben, da es dadurch wesentlich übersichtlicher wird und es auch als html gehighlightet wird. :wink:

Lösung 1:
Code:
echo '<BODY onLoad="window.open(\'http://Download.com\',\'Tuts\',\'width=300, height=300\')">';
Lösung 2:
Code:
<?php
// dein Code...
?>
<BODY onLoad="window.open('http://Download.com','Tuts','width=300, height=300')">
<?php
// dein Code...
?>

alcaeus 18. Sep 2005 11:40

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Zitat:

Zitat von Assun
Dann kommt n fetter php error :( woran liegt das denn schon wieder ?

Code:
Fatal error: DP-Post #429548 not finalized: error message is missing. Please try again
Soll heissen: Lerne bitte endlich, Fehlermeldungen zu posten. Du glaubts ja gar nicht, wieviele php-Fehler ich jeden Tag sehe, soll ich dich mal raten lassen, was es ist? :roll:
Weiters sind diese Fehlermeldungen ziemlich aussagekraeftig.

Aber nachdem ich in Spiel-Laune bin, sag ich dir die Fehlermeldung: "Unexpected T_STRING in line ..." oder sowas, richtig? Wow..und das ganz ohne PHP anzuwerfen. Ich sag nur: Anfuehrungszeichen escapen. Guck dir die Zeile doch mal an :roll:

Greetz
alcaeus

[edit]Ach Simon...du nimmst mir die ganze Freude :([/edit]

Assun 18. Sep 2005 11:46

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
hmmm also es will immernoch nicht so recht klappen :(

Mein Code sieht so aus :

Code:
<?php
include('Visitor/counter.inc.php');

$prog_name = (isset($_GET['id'])) ? $_GET['id'] : '';

if (!$prog_name)
{
   exit;
}

$no_close = true;
include("db.php");

$query = "SELECT prog_filename FROM prog_dl WHERE prog_name = '$prog_name'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
$prog_filename = mysql_result($result, 0);
mysql_free_result($result);

$query = "UPDATE prog_dl SET prog_dl_count = prog_dl_count + 1 WHERE prog_name = '$prog_name'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

mysql_close($db_link);

echo "<meta http-equiv=\"refresh\" content=\"0; url=$prog_filename\">";

echo '<BODY onLoad="window.open(\'$prog_filename\',\'Tuts\',\'width=300, height=300\')">';

echo "Der Download startet in Kürze...";

echo "

Falls der Download nicht starten sollte, klicken Sie bitte <a href=\"$prog_filename\" class=url >hier</a></p>";

echo '


<a href="javascript:history.back()" class=url >zur&uuml;ck</a</p>';

?>

Es kommt nun keine Fehlermeldung mehr aber es wird das neue fenster zwar geöffnet aber statt auf die Datei zeigt das neue fenster auf $prog_filename

derpepe 18. Sep 2005 11:48

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Mach mal n ZIP mit den ganzen Dateien, dann bieg ich Dir das kurz hin.

alcaeus 18. Sep 2005 11:50

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
1: es gibt Code-Tags. Rate mal wofuer die sind :roll:
2: ich sehe immer noch keine Fehlermeldung. Sollen wir hier raten, wo der Wurm begraben liegt?

Also bitte, streng dich wenigstens an und mach es uns ein bisschen leichter.

Greetz
alcaeus

Assun 18. Sep 2005 11:50

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Edit // Zu spät..

sry, post wurde geändert.Problem besteht weiterhin...

S2B 18. Sep 2005 11:52

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Zitat:

Zitat von Assun
das worauf es ankommt hab ich oben gepostet :-)

Und das, worauf es bei der Lösung ankommt, steht in meinem Post, sogar mit Beispielcode. :wall:

Assun 18. Sep 2005 11:54

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
ich hab doch deinen code verwendet ! gugg dir den code den ich gepostet hab doch an da steht dein beispielcode auch drin aber es wird wie gesagt auch n fenster geöffnet allerdings kommt funpic 404 weil das neue fenster statt der datei einfach http://assun05.as.funpic.de/$prog_filename anzeigt !

alcaeus 18. Sep 2005 11:55

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Zitat:

Zitat von Assun
Es kommt nun keine Fehlermeldung mehr aber es wird das neue fenster zwar geöffnet aber statt auf die Datei zeigt das neue fenster auf $prog_filename

Schon besser. Kennst du den Unterschied ziwschen den beiden Codes:
Code:
$foo = 'bar';
$bar = 'This is $foo';
Code:
$foo = 'bar';
$bar = "This is $foo";
Nein? Ich sag ihn dir: bei einem String, der von ' umschlossen wird, werden Variablen nicht geparst, dies geschieht nur bei ". So, den Fehler lass ich dich selbst raussuchen, das solltest du schaffen.

Greetz
alcaeus

S2B 18. Sep 2005 11:57

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Und jetzt nochmal was dazu: Ich würde dir empfehlen, den Code direkt in die Datei zu schreiben (s. Beispiel 2), das ist wesentlich übersichtlicher und du baust keine solchen Fehler ein...

Assun 18. Sep 2005 12:03

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
ok jetzt hab ich die zweiter variante verwendet.

Code:
<?php
include('Visitor/counter.inc.php');

$prog_name = (isset($_GET['id'])) ? $_GET['id'] : '';

if (!$prog_name)
{
   exit;
}

$no_close = true;
include("db.php");

$query = "SELECT prog_filename FROM prog_dl WHERE prog_name = '$prog_name'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
$prog_filename = mysql_result($result, 0);
mysql_free_result($result);

$query = "UPDATE prog_dl SET prog_dl_count = prog_dl_count + 1 WHERE prog_name = '$prog_name'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

mysql_close($db_link);

echo "<meta http-equiv=\"refresh\" content=\"0; url=$prog_filename\">";

echo "Der Download startet in Kürze...";

echo "

Falls der Download nicht starten sollte, klicken Sie bitte <a href=\"$prog_filename\" class=url >hier</a></p>";

echo '


<a href="javascript:history.back()" class=url >zur&uuml;ck</a</p>';

?>

?>
<BODY onLoad="window.open('$prog_filename','Tuts','width=300, height=300')">
<?php
Doch es ist der gleiche fehler wie vorher :(

Neuni 18. Sep 2005 12:12

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Dann schreib doch bitte den Fehler dazu und in welcher Zeile der auftritt.

Assun 18. Sep 2005 12:23

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
muss mich verbessern...es kommt zwar kein PHP fehler, aber es wird wie schon gesagt im popup immer

http://assun05.as.funpic.de/$prog_filename aufgerufen statt der datei, auf die $prog_filename zeigen soll...

Neuni 18. Sep 2005 12:32

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Dann nimm mal:
Code:
echo '

Falls der Download nicht starten sollte, klicken Sie bitte [url="'.$prog_filename.'"]hier[/url]</p>';

Puhbaehr 18. Sep 2005 12:36

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Hey!

Versuch es doch mal so:

Alles was PHP ist schließt du in die <?PHP ?> Tags ein. Und alles was reines HTML ist schreibst du außerhalb dieser PHP-Tags. Ein Beispiel:

Code:
[color=#A00000]<?PHP

// Dein PHP-Code (Datenbank usw.)

?>[/color]
<html>

<head>
...
</head>

<body onLoad="window.open('[color=#A00000]<?PHP echo $prog_filename; ?>[/color]','Tuts','width=300, height=300')">
...
[color=#A00000]<?PHP

// PHP-Code

?>[/color]

<table border=0 cellpadding=0 cellspacing=0 width=100%>
[color=#A00000]<?PHP
// PHP-Code, z.B.
for ($i = 1; $i <= 10; $i++)
 {
?>[/color]
<tr>
<td style="font-family: Verdana; font-size:8pt; color:#FF0000;">
[color=#A00000]<?PHP
 
  echo $i;
 
?>[/color]
</td>
</tr>
[color=#A00000]<?PHP
 } 

// Vorallem schließende geschweifte Klammern nicht vergessen in PHP-Tags zu setzen!
?>[/color]
</table>

</body>

</html>
[color=#A00000]<?PHP

// PHP-Code

?>[/color]
Wenn du also die PHP-Tags erst dann öffnest wenn du sie beötigst kannst du dir den Ärger mit denn ' und den " sparen. Zudem ist es wesentlich übersichtlicher!
Merke dir: HTML außerhalb der PHP-Tags! Und wenn PHP benötigt wird (z.B. eine Varible) innerhalb der PHP-Tags!
Am Anfang hab ich mich auch gesträubt die PHP-Tags so anzuwendenn. Zudem wird es am Anfang nicht gerade einfach sein das richtig zuzuordnen. Aber umsoeher du damit anfängst umso schneller hast es im Blut!
Versuch es mal bitte.

Gruß und viel Erfolg noch, Robert

Assun 18. Sep 2005 12:39

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Das Problem ist dass ich die ganzen dateien include und ich somit 2 header etc. hätte und das bissl unmachbar is.

Edit : IT WORKS !!! THX @ all

Code:
<?php
include('Visitor/counter.inc.php');

$prog_name = (isset($_GET['id'])) ? $_GET['id'] : '';

if (!$prog_name)
{
   exit;
}

$no_close = true;
include("db.php");

$query = "SELECT prog_filename FROM prog_dl WHERE prog_name = '$prog_name'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
$prog_filename = mysql_result($result, 0);
mysql_free_result($result);

$query = "UPDATE prog_dl SET prog_dl_count = prog_dl_count + 1 WHERE prog_name = '$prog_name'";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

mysql_close($db_link);

echo "<meta http-equiv=\"refresh\" content=\"0; url=$prog_filename\">";

echo "Der Download startet in Kürze...";

echo "

Falls der Download nicht starten sollte, klicken Sie bitte <a href=\"$prog_filename\" class=url >hier</a></p>";

echo '


<a href="javascript:history.back()" class=url >zur&uuml;ck</a</p>';

?>


<body onLoad="window.open('<?PHP echo $prog_filename; ?>','Tuts','width=300, height=300')">

Puhbaehr 18. Sep 2005 12:46

Re: [PHP] Mal ne ganz dooofe Frage zu echo :(
 
Dann setzt den Header in eine neue Datei und bindest die mit include_once (); ein ;)
Es findet sich immer eine Lösung.
Und wenn du mal wirklich so einen ungünstigen Fall hast in dem es nicht geht, dann machst halt mal eine Ausnahme und kombinierst beides.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz