Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   PHP Anweisungen funktioniert nicht im Browser (https://www.delphipraxis.net/129852-php-anweisungen-funktioniert-nicht-im-browser.html)

MrSpock 26. Feb 2009 18:34


PHP Anweisungen funktioniert nicht im Browser
 
Hallo,

bin ich zu blöd, oder was? (Bitte jetzt nur höfliche, keine ehrlichen Antworten) :mrgreen:

Also ich versuche immer noch mit Delphi für PHP ein einfaches Beispiel zum Laufen zu bringen.

Dazu habe ich eine neue Anwendung erstellt und 3 Elemente aus der VCL auf das Formular platziert:

Button
Label
Edit

Nach Doppelklick auf den Button folgenden Code eingefügt:

Code:
function Button1Click($sender, $params)
   {
      $this->Label1->Caption = "Hallo" . $sender->Name;
      $this->Edit1->Text = "Hallo auch." . $sender->Name;
   }
Dann F9 gedrückt. FF öffnet und zeigt die 3 Elemente an. Wenn ich jetzt den Button drücke, scheint das Formmular neu geladen zu werden, aber weder die Beschriftung des Labels noch der Text im Editfeld ändert sich. :gruebel:

[edit]Nach Aufforderung vom Moderator Titel geändert. Danke für den Hinweis.[/edit] :mrgreen:

Luckie 26. Feb 2009 18:55

Re: Einfaches Beispiel funktioniert nicht
 
MrSpock, ich muss Sie leider ermahnen und Sie darum bitten einen aussagekräftigen Titel für Ihren Thread zu wählen. Sie könnnen den Titel Ihres Threads ändern, indem Sie Ihren ersten Beitrag entsprechend editieren.

DeddyH 26. Feb 2009 18:59

Re: Einfaches Beispiel funktioniert nicht
 
[OT] :lol: [/OT]

quendolineDD 26. Feb 2009 19:00

Re: Einfaches Beispiel funktioniert nicht
 
Wird die Datei dann auch über einen Interpreter geöffnet? Also im Adressfeld vom FF dann http://localhost/... und nicht C:/Dokumente und Einstellungen/... usw? Der Browser allein kann kein PHP darstellen; PHP ist eine serverseitige Sprache. Eventuell liegt daran das Problem, weil der Rest ja ausgeführt wird.

MrSpock 26. Feb 2009 19:20

Re: PHP Anweisungen funktioniert nicht im Browser
 
Hallo,

in der Adressleiste erscheint:


mkinzler 26. Feb 2009 19:29

Re: PHP Anweisungen funktioniert nicht im Browser
 
Welche D4P-Version?
Wo hast du das eingetragen, bei Events oder JavaScript?

MrSpock 26. Feb 2009 19:33

Re: PHP Anweisungen funktioniert nicht im Browser
 
Version ist Delphi for PHP 2.0 Trial.
Den Code habe ich als Event eingetragen. Wenn ich ihn bei JavaScript eintrage, funktioniert der Code, aber auch ohne Klick, d.h. die Caption bzw. der Text sind von Anfang an modifiziert.

mkinzler 26. Feb 2009 19:38

Re: PHP Anweisungen funktioniert nicht im Browser
 
Bei Events wird die Seite neu geladen ( klassisch) und JavaScript bedeutet per Ajax

MrSpock 26. Feb 2009 19:40

Re: PHP Anweisungen funktioniert nicht im Browser
 
Ja, die Seite wird auch neu geladen, aber die Einträge werden nicht geändert. Bei JavaScript in Verbindung mit dem OnClick Event ist mir nicht klar, warum die Einträge auch ohne Klick auf den Button geändert werden.

mkinzler 26. Feb 2009 19:41

Re: PHP Anweisungen funktioniert nicht im Browser
 
Dürfte eigentlich nicht so sein

MrSpock 10. Mär 2009 18:58

Re: PHP Anweisungen funktioniert nicht im Browser
 
Hallo,

ich versuche hier nochmal mein Glück.

Wie gesagt, ich habe die sehr einfache Anwendung oben. Wenn ich den Schalter betätige, wird die Seite neu geladen, aber die Beschriftung ändert sich nicht. Interessanterweise durchläuft die Anwendung auch die OnClick Methode nicht. Ich kann in D4PHP einen Breakpoint setzen, aber die Anwendung kommt dort irgendwie nicht an.

Im Objektinspektor wird aber die Verknüpfung angezeigt.

Der Quellcode der Seite sieht so aus:

Code:
[xml]<html DIR=ltr >
<head>
<title>Unit1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="file:///C:/Program Files/CodeGear/Delphi for PHP/2.0/vcl/js/common.js"></script>
<script type="text/javascript">var Unit1=new Object(Object);</script>
<script type="text/javascript">
<!--
function Button1ClickWrapper(event, hiddenfield, submitvalue, wrappedfunc)
{

var event = event || window.event;
submit1=true;
submit2=true;
if (typeof(wrappedfunc) == 'function') submit1=wrappedfunc(event);
hiddenfield.value = submitvalue;
form = hiddenfield.form;
if ((form) && (form.onsubmit) && (typeof(form.onsubmit) == 'function')) submit2=form.onsubmit();
if ((submit1) && (submit2)) form.submit();
return false;

}

           function Edit1_updatehidden(event)
            {
               edit=findObj('Edit1');
                hidden=findObj('Edit1_hidden');
                hidden.value=edit.value;
                            }
        -->
</script>
</head>

<body style=" margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; " >
<form style="margin-bottom: 0" id="Unit1" name="Unit1" method="post"  action="/unit1.php"><input type="hidden" id="Button1SubmitEvent" name="Button1SubmitEvent" value="" /><input type="hidden" name="Edit1_hidden" value="">
<table width="800"  style="height:600px" border="0" cellpadding="0" cellspacing="0" ><tr><td valign="top">
<div id="Button1_outer" style="Z-INDEX: 0; LEFT: 64px; WIDTH: 75px; POSITION: absolute; TOP: 48px; HEIGHT: 25px">

<input type="submit" id="Button1" name="Button1" value="Button1" onclick="return Button1ClickWrapper(event, findObj('Button1SubmitEvent'), 'Button1_Button1Click')" style=" font-family: Verdana; font-size: 10px; background-color: #00FF00;height:25px;width:75px;"  tabindex="0"   />
</div>
<div id="Label1_outer" style="Z-INDEX: 1; LEFT: 72px; WIDTH: 75px; POSITION: absolute; TOP: 104px; HEIGHT: 13px">
<div id="Label1" style=" font-family: Verdana; font-size: 10px; height:13px;width:75px;"  >Label1</div>
</div>
<div id="Edit1_outer" style="Z-INDEX: 2; LEFT: 152px; WIDTH: 121px; POSITION: absolute; TOP: 96px; HEIGHT: 21px">
<input type="text" id="Edit1" onchange="return Edit1_updatehidden(event)" name="Edit1" value="" style=" font-family: Verdana; font-size: 10px; height:20px;width:121px;"   tabindex="0"   />
</div>
</td></tr></table>
</form></body>
</html>
Es sieht also zumindest so aus, als sei der Schalter mit der Methode verknüpft. Wer kann erklären, warum diese Anwendung nicht funktioniert?

[edit=mkinzler]Tag korrigiert Mfg, mkinzler[/edit]

peterlepan 10. Mär 2009 20:05

Re: PHP Anweisungen funktioniert nicht im Browser
 
Hallo MrSpock,

wenn Programme aus der IDE von Delphi4php gestartet werden, gibt es ein paar Sicherheitsbeschränkungen, warum weiß ich auch nicht mehr, hab es nur irgendwo gelesen. Die Quelltextdateien müssen auf dem selben Laufwerk liegen, wie die Entwicklungsumgebung. Ansonsten werden auch irgendwelche fehlenden Objekte im Browser angemeckert, zumindest zeigt der Firebug dies dann im Firefox an.

Gruß

peterlepan

MrSpock 10. Mär 2009 20:15

Re: PHP Anweisungen funktioniert nicht im Browser
 
Hallo Peter,

das war's ! :thumb:

Ich speichere die Programme immer auf meinem D-Laufwerk und dann funktioniert es nicht. Auf C funktioniert es.

Da soll man draufkommen!?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 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