Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[JavaScript] Übergabe Varibale in JS? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[JavaScript] Übergabe Varibale in JS?


 
Morpheus2100
17-12-2007, 14:09 
 
Hallo Jungs und Mädls,

irgendwie such ich was, was ich nicht finde:

alter Code:

onclick=\"mg=$key;get(null,'ajax.accept_policy.php?p_id=$key$ihsession','set_accepted_$key')


Jetzt wollte ich eine Confirm abfragen einbauen, wie schaffe ich es dass mit die var "mg" auch mitgeben wird, so wie bei onclick?


function confirm_policy($mg)
{
var box=window.confirm("Wollen Sie die Policy wirklich akzeptieren?")
if(box==true){
mg=$mg;
alert ($mg);
get(null,'ajax.accept_policy.php?p_id=$key$ihsession','set_accepted_$key');
alert("Policy wurde akzeptiert!");
}
else if(box==false){
alert("Policy wurde abgelehnt!");
}
}

 
Kropff
17-12-2007, 14:21 
 
str='&mg='$mg;
'ajax.accept_policy.php?p_id=$key$ihsession'+str
so was?

gruß
peter

 
Morpheus2100
17-12-2007, 15:45 
 
Hmm mag er irgendwie nicht!

Aktueller CODE:


function confirm_policy(mg)
{
var box=window.confirm("Wollen Sie die Policy wirklich akzeptieren?")
if(box==true){
mg_temp ='&mg='+mg;
//alert (mg_temp);
get(null,'ajax.accept_policy.php?p_id=mg$ihsession','set_accepted_$key');
alert("Policy wurde akzeptiert!");
}
else if(box==false){
alert("Policy wurde abgelehnt!");
}
}


wie schaffe ich es denn Sinngemäß das selbe zu machen wie da:

onclick=\"mg=$key;get(null,'ajax.accept_policy.php?p_id=$key$ihsession','set_accepted_$key')


wie kann ich den die "var mg_temp" in den funktionsaufruf von "get" schreiben so dass es das gleiche ergibt wie bei dem onklick?`

Danke für euere Hilfe!

Schöne Grüße
Morph

 
onemorenerd
17-12-2007, 16:01 
 
Vorher:onclick=\"mg=$key;get(null, 'ajax.accept_policy.php?p_id=$key$ihsession', 'set_accepted_$key')
Zwischendurch:
function confirm_policy() {
get(null, 'ajax.accept_policy.php?p_id=$key$ihsession', 'set_accepted_$key');
}

onclick="confirm_policy();"
Eigentlich schon fertig. Wenn du $key unbedingt als Parameter übergeben willst, dann so:function confirm_policy(mg) {
get(null, 'ajax.accept_policy.php?p_id='+mg+'$ihsession', 'set_accepted_'+mg);
}

onclick="confirm_policy('$key');"
Ist aber Quatsch, denn offensichtlich steht $key schon bei der Ausgabe der JS-Funktion fest und kann daher direkt in den Funktionscode geschrieben werden.

Dein if() kannst du sicher selbst wieder reinbasteln.

 
Kropff
17-12-2007, 16:01 
 
über zeichenkettenverknüpfung:

var blubb = 'blubber';
'ajax.accept_policy.php?mess=' + blubb + '&bla=irgendwas'

außerdem habe ich den eindruck, du schmeißt da php und javascript irgendwie durcheinander. woher kommt denn mg überhaupt?

gruß
peter

 
Morpheus2100
18-12-2007, 08:47 
 
Ich glaub ich bring das irgendwie falsch rüber?

Also nochmal genauer:
Das ist der Code auf einem SPAN, mit welchem ich eine ajax Aktion aufrufen. Wie man sehen kann gebe ich vor dem funktionaufruf eine Variable mg=$key mit!!

//DAS IST IM PHP CODE
onclick=\"mg=$key;get(null, 'ajax.accept_policy.php?p_id=$key$ihsession', 'set_accepted_$key')


und jetzt möchte ich eigentlich nur eine Abfrage mit einbauen:

// DAS IST JS CODE
function confirm_policy(mg,ihsession)
{
var box=window.confirm("Wollen Sie die Policy wirklich akzeptieren?")
if(box==true){
mg_temp ='&mg='+mg;
//alert (mg_temp);
get(null,'ajax.accept_policy.php?p_id='+mg_temp+ihsession','set_accepted_$key');
alert("Policy wurde akzeptiert!");
}
else if(box==false){
alert("Policy wurde abgelehnt!");
}
}


Ich hatte noch einen Fehler mit $ihsession, das hab ich übersehen, was aber nicht wirklich dramatisch ist.

Jetzt rufe ich das ganze so in auf einem SPAN auf:

onclick=\"confirm_policy($key,$ihsession);\"


funktioniert aber immer noch nicht?

Erstens er übergibt $ihsession nicht?? Was is das falsch, und ich hab immer noch das Problem mit der Var übergabe mg!?
Wenn ich es so wie jetzt schreiben, bekomm ich auch noch einen Syntax fehler!??

 
PHP-Desaster
18-12-2007, 08:56 
 
Was steht denn in $key und $ihsession? Dir ist schon klar, dass die beiden Variablen PHP-Seitig ausgewertet werden und am Schluss valides JS rauskommen muss, d.h. Strings in Anführungszeichen, etc.?!

 
Morpheus2100
18-12-2007, 09:10 
 
Ahh vielleicht hab ich da was übersehen?

Also in key ist eine Nummer drinnen!
Und in ihsession sowas "$ihsession = '&TEST='.$sess;" !

Also muss das ganze in "" ?

Mfg
Morph

 
Kropff
18-12-2007, 09:12 
 
als erstes solltest du mal die php-variablen auch per php ausgeben. du kannst das nicht einfach mit javascript wild kombinieren.

gruß
peter

 
Morpheus2100
18-12-2007, 09:20 
 
Original geschrieben von Kropff
als erstes solltest du mal die php-variablen auch per php ausgeben. du kannst das nicht einfach mit javascript wild kombinieren.

gruß
peter

Wie meinst du das? Ausgeben?

 
Kropff
18-12-2007, 09:26 
 
mg_temp ='&mg='+<? echo $mg;?>;
z.b.

gruß
peter

 
Morpheus2100
18-12-2007, 09:33 
 
Original geschrieben von Kropff
mg_temp ='&mg='+<? echo $mg;?>;
z.b.

gruß
peter

ich stell mich da jetzt echt zu blöd an, das hinzu kriegen?

also in $ihsession steht

$ihsession = '&amp;INTERHYP='.$sess;


und aufgerufen wird es so:

$html.= " <div class=\"sendbutton\">
<div id=\"set_accepted_$key\" onclick=\"confirm_policy($key,'$ihsession');\"
class=\"acceptbutton_content\">annehmen</div>
</div></td>";

Man muss vielleicht noch dazu sagen, dass das $html von einer Funktion returnt wird!

Aber eskommt im JS nichts an??? $key kommt an, $ihsession nicht????

 
Kropff
18-12-2007, 09:49 
 
informier dich mal über den unterschied zwischen " und '. was glaubst du, passiert hier?
'$ihsession'
siehe auch zeichenketten (http://www.peterkropff.de/tutorials/php_mysql_bsp/zeichenketten.htm)

gruß
peter

 
PHP-Desaster
18-12-2007, 09:49 
 
Ist die Zuweisung an $ihsession denn auch in der Funktion? error_reporting oben? Was erhälst du denn als JS-Ausgabe?

@Kropff: Die Variable steht schon in doppelten Hochkommata: "...'$ihsession'...", das ist schon ok (wenn auch nicht besonders schön!)

 
Kropff
18-12-2007, 09:57 
 
upsi, übersehen. ich weiss schon, warum ich das so nie schreibe

gruß
peter

 
Morpheus2100
18-12-2007, 10:09 
 
Original geschrieben von PHP-Desaster
Ist die Zuweisung an $ihsession denn auch in der Funktion? error_reporting oben? Was erhälst du denn als JS-Ausgabe?

@Kropff: Die Variable steht schon in doppelten Hochkommata: "...'$ihsession'...", das ist schon ok (wenn auch nicht besonders schön!)

Die $ihsession ist nicht in der funktion aber mit global deklariert:

//wenn ich ein echo rein mach, dann steh sie auch korrekt da!
GLOBAL $ihsession;
$ihsession = '&amp;test='.$sess;


Also js Ausgabe krieg ich eben nichts??? Das is ja das komische!

P.S. wenn ich direkt einen String reinschreibe, dann gehts:

$test = "asdf";
confirm_policy($key,'$test')

 
Kropff
18-12-2007, 10:47 
 
also wenn sie nicht in dieser funktion ist, dann doch in einer anderen, da du sie als global definiert hast. und wo rufst du die funktion auf? btw: mal an $GLOBALS gedacht?

gruß
peter

 
Morpheus2100
18-12-2007, 11:10 
 
Original geschrieben von Kropff
also wenn sie nicht in dieser funktion ist, dann doch in einer anderen, da du sie als global definiert hast. und wo rufst du die funktion auf? btw: mal an $GLOBALS gedacht?

gruß
peter

Sehr guter Tipp, genau das wars! Irgendwie hab ich das übersehen! Also die session gibt er jetzt mit! DANKE!

Jedoch hab ich noch immer das Problem dem "mg" !

WEnn ich das ganze so aufrufe:

get(null,'ajax.accept_policy.php?p_id='+mg+ihsession,'set_accepted_$key');

funktionierts nicht! Ist irgendwie nicht das gleiche wie:


onclick="mg=$key;get(null, 'ajax.accept_policy.php?p_id=$key$ihsession', 'set_accepted_$key')

 
Kropff
18-12-2007, 11:16 
 
weil du wieder mal deine php- und javascript-variablen durcheinander wirfst. schau mal genau hin!

gruß
peter

 
Morpheus2100
18-12-2007, 11:23 
 
Das ist der JS CODE:

GEHT NICHT!

mg_temp ='&mg='+mg;
get(null,'ajax.accept_policy.php?p_id='+mg+ihsession+mg_temp,'set_accepted_$key');



DAS IST IM PHP CODE:
GEHT SCHON!

onclick="mg=$key;get(null, 'ajax.accept_policy.php?p_id=$key$ihsession', 'set_accepted_$key')"


Ich schmeiß ja da nichts durcheinander!

 
Kropff
18-12-2007, 11:43 
 
1. schrei hier nicht rum
2. mal die fehlerkonsole vom firefox benutzt?

peter

 
PHP-Desaster
18-12-2007, 11:44 
 
Ich geb's auf! Ohne vernünftige Informationen lass ich euch alleine!

 
onemorenerd
18-12-2007, 11:46 
 
Gib $key und $ihsession als Javascript-Strings aus, also in ''.

 
Morpheus2100
18-12-2007, 11:51 
 
Original geschrieben von Kropff
1. schrei hier nicht rum
2. mal die fehlerkonsole vom firefox benutzt?

peter

Sorry vergess immer dass ir großschreib als schreien interpretiert! War keine absicht!

Ich entwickle nur im IE, da wir firmen intern nur IE einsetzten! ;-)

 
Morpheus2100
18-12-2007, 11:55 
 
Original geschrieben von onemorenerd
Gib $key und $ihsession als Javascript-Strings aus, also in ''.

Wie meinst du das?

Beim aufruf:
onclick=\"confirm_policy('$key','$GLOBALS[ihsession]');\"


Also ich hab die Variablen im js code, da sind sie vorhanden, jedoch weis ich nicht wie das in reinem js nachbilden könnte?

Ich weis nicht was er hier genau macht??
onclick="mg=$key;get(null, 'ajax.accept_policy.php?p_id=$key$ihsession', 'set_accepted_$key')"

was macht onklick mit der mg=$key; varibale, hänt er sie irgenwo an, speichert er sie in eine session??
Das ist eigentlich alles was mich interssiert.

 
onemorenerd
18-12-2007, 12:03 
 
Da wird onclick einfach die Variable mg (deklariert und) mit dem Wert von $key belegt. Vielleicht wird mg später noch gebraucht, im onclick-Handler jedenfalls nicht, denn da wurde $key direkt hingeschrieben.

 
Morpheus2100
18-12-2007, 12:35 
 
Original geschrieben von onemorenerd
Da wird onclick einfach die Variable mg (deklariert und) mit dem Wert von $key belegt. Vielleicht wird mg später noch gebraucht, im onclick-Handler jedenfalls nicht, denn da wurde $key direkt hingeschrieben.

ja die wird später in einen ajax skript gebraucht! Wie kann ich das denn nachbilden, in meiner "confirm_policy" funktion?

Danke für die Hilfestellung!

 
onemorenerd
18-12-2007, 13:07 
 
Wieso solltest du das in confirm_policy() aufnehmen? Was stört dich daran, wenn es im onClick Handler steht?

 
Morpheus2100
18-12-2007, 13:26 
 
Original geschrieben von onemorenerd
Wieso solltest du das in confirm_policy() aufnehmen? Was stört dich daran, wenn es im onClick Handler steht?

Weils dann leider immer noch ned geht??

onclick=\"mg=$key;confirm_policy('$key','$GLOBALS[ihsession]');\"


Versteh ich jetzt nicht?

 
onemorenerd
18-12-2007, 13:43 
 
Du hast ja inzwischen geschafft, dass das PHP-Script die richtigen Werte ausgibt. Könnten wir uns jetzt darauf einigen, dass du uns nur noch die fertige Ausgabe (Quelltext der HTML-Seite) zeigst? Damit wäre die Verwirrung etwas geringer. *sic*

Geht nicht ist keine Fehlerbeschreibung! Was geht nicht und hängt das wirklich von der Zuweisung an mg ab? Übrigens ist es entweder immer '$key' oder nur $key - nicht mal so und mal so!

 
Morpheus2100
18-12-2007, 14:05 
 
Das ist mein aktueller CODE:


<div onclick="mg=101;confirm_policy('101','&amp;test=2342423dddsdwe);">annehmen</div>

also die ausgabe passt! Jedoch checked er das mit dem mg nicht?

Mfg
Morph

 
onemorenerd
18-12-2007, 14:27 
 
Die Ausgabe passt nicht. Da fehlt ein '.
Fehlermeldungen auf der Javascript-Konsole oder in Firebug?

 
Morpheus2100
18-12-2007, 15:16 
 
Original geschrieben von onemorenerd
Die Ausgabe passt nicht. Da fehlt ein '.
Fehlermeldungen auf der Javascript-Konsole oder in Firebug?

Irgendwie zerhaut das Form den CODE:

<div id="set_accepted_88" onclick="mg=88;confirm_policy('88',&amp;test=e8057dbd820e1a51a090969ef6d35537);"
class="acceptbutton_content">annehmen</div>


Das ist der echte HTML code

 
onemorenerd
18-12-2007, 15:43 
 
Original geschrieben von Morpheus2100
Das ist der echte HTML code
und der ist nicht fehlerfrei.

Um &amp;test=e8057dbd820e1a51a090969ef6d35537 fehlen die Anführungszeichen und - ich wiederhole mich - 88 ist entweder immer eine Zahl oder ein String.


Hast du überhaupt Firebug? Der würde bei sowas sofort rot anzeigen, wo der Fehler steckt.

 
Kropff
18-12-2007, 16:08 
 
hab ich ihm auch schon vorgeschlagen, aber der arbeitet lieber mit dem ie. obwohl es dafür auch eine developer toolbar mit debugger gibt.

gruß
peter

 
Morpheus2100
19-12-2007, 08:32 
 
Guten Morgen,

also die IE Toolbar hab ich , jedoch seh ich da keine Debug funktion?
Vielleicht mach ich mir mal Firefox drauf, wegen diesem Firebug!

Zu den Anführungszeichen, ich hab das doch in einfachen drinnen? Mach ich da was falsch?


$html.= "<div class=\"sendbutton\">
<div onclick=\"mg=$key;confirm_policy($key,'$GLOBALS[ihsession]');\" >annehmen</div>
</div></td>";

 
onemorenerd
19-12-2007, 15:31 
 
Ich habe den Verdacht, dass die zuletzt gepostete Ausgabe nicht die des zuletzt geposteten PHP-Codes ist. Prüfe das mal!

 
Morpheus2100
19-12-2007, 16:19 
 
Hier ist der aktuelle PHP CODE:

$html.= "<div class=\"sendbutton\">
<div id=\"set_accepted_$key\"
onclick=\"mg=$key;confirm_policy($key,'$GLOBALS[ihsession]');\"
class=\"acceptbutton_content\">annehmen</div>
</div></td>";


UND das der erzeugte HTML CODE:

<div id="set_accepted_143" onclick="mg=143;confirm_policy(143,'&amp;test=4317db25c645');" class="acceptbutton_content">
annehmen
</div>

 
onemorenerd
19-12-2007, 23:06 
 
Wußte ich doch! :cool:

Klemmts noch irgendwo oder läuft es jetzt?

 
Morpheus2100
20-12-2007, 08:25 
 
Geht noch immer nicht? keine Ahnung was da nicht stimmt? Wenns nicht will mach ichs ohne überprüfung.

Danke
Mfg
Michael

 
Morpheus2100
20-12-2007, 13:56 
 
Kann mir denn da wirklich keiner helfen?

Mfg
Morph

 
Morpheus2100
20-12-2007, 14:28 
 
Ich habs, das gibts nicht! Ich dreh gleich am RAD!


function confirm_policy(mg,ihsession)
{
var box=window.confirm("Wollen Sie die Policy wirklich akzeptieren?");

if(box==true){
get(null,'ajax.accept_policy.php?p_id='+mg+ihsession,'set_accepted_$key');
alert("Policy wurde akzeptiert!");
}
else if(box==false){
alert("Policy wurde abgelehnt!");
}

}


Da liegt der Hund begraben:

set_accepted_$key


$key in js tu ich mir ziemlich schwer!

get(null,'ajax.accept_policy.php?p_id='+mg+ihsession,'set_accepted_'+mg);


Das wars! DANKE!

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:13 Uhr.