PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS (https://www.php-resource.de/forum/html-javascript-ajax-jquery-css-bootstrap-less/)
-   -   Variable von PHP an JS und dann wieder an PHP (https://www.php-resource.de/forum/html-javascript-ajax-jquery-css-bootstrap-less/77978-variable-von-php-an-javascript-und-dann-wieder-an-php.html)

Jache84 13-11-2006 21:10

Variable von PHP an JS und dann wieder an PHP
 
Hallo habe folgenden Code:

PHP-Code:

echo "<form method='get' action='JavaScript:newWindow($id)'>";
echo 
"<input type='submit' name='submit' class='Button' value='upload'><br>";
echo 
"</form>"

meine funktion sieht folgendermaßen aus.

Code:


function newWindow(id2)
    {
      aucWindow = window.open("cover_upload.php?id="+id2, "Cover",
                              "width=350,height=180,toolbar=no,location=yes,
scrollbars=no,left=300, top=200")
      aucWindow.focus()
    }

Wie mache ich es das ich mir noch eine Variable übergebe? Sprich ich habe im PHp eine Variable die heißt $pass. diese möchte ich nun auch an´meine JS Funktion übergeben.

wenn ich es so mache bekomme ich die Fehlermeldung Variable ist nicht definiert.

PHP-Code:

echo "<form method='get' action='JavaScript:newWindow($id, $pass)'>";
echo 
"<input type='submit' name='submit' class='Button' value='upload'><br>";
echo 
"</form>"

Code:


function newWindow(id2, pass)
    {
      aucWindow = window.open("cover_upload.php?id="+id2"&pass="+pass, "Cover",
                              "width=350,height=180,toolbar=no,location=yes,
scrollbars=no,left=300, top=200")
      aucWindow.focus()
    }

Einer eine Idee?

Hoffe auf Hilfe
Danke

Kropff 13-11-2006 21:13

PHP-Code:

"cover_upload.php?id="+id2+"&pass="+pass 

benutze die javascript-konsole vom firefox, der sagt dir das.

peter

wahsaga 13-11-2006 21:14

Re: Variable von PHP an JS und dann wieder an PHP
 
Zitat:

Original geschrieben von Jache84
wenn ich es so mache bekomme ich die Fehlermeldung Variable ist nicht definiert.
Von wem - PHP, Javascript?


Generell sehe ich nicht, wo das Problem sein soll.
PHP erzeugt Javascript-Code, Javascript ruft über URL PHP-Script auf.
Ich verstehe echt nicht, warum es zu so einem simplen Thema immer wieder Fragen gibt.


Vielleicht betrachtest du mal den Code, der im Browser ankommt, anstatt uns irgendeinen PHP-Kram zu präsentieren - wie oft muss man das eigentlich noch sagen ...

Jache84 13-11-2006 21:17

ich bekomme die fehlermeldung vom Javascript. sprich es geht erst gar nicht das popup auf, somit kann ich nicht prüfen ob die variable ankommt.

danke und gruß

Kropff 13-11-2006 21:32

und dann bemühst du mal die javascript-konsole vom firefox. und was sagt die dir? mit sicherheit, dass es einen fehler hier gibt:
PHP-Code:

aucWindow window.open("cover_upload.php?id="+id2"&pass="+pass, ... 

PHP-Code:

"cover_upload.php?id="+id2+"&pass="+pass 

peter

Jache84 13-11-2006 21:50

hm, also daran kann esirgendwie nicht liegen:

denn wenn ich nur das habe, ist eine testdatei und sieht folgendermaßen aus:

PHP-Code:


<?
echo "<html>";
echo 
"<head>";
echo 
"<title>MP3 Datenbank</title>";
?>
<script  TYPE='text/javascript'>
    function newWindow(id2, pass)
    {
      aucWindow = window.open("cover_upload.php?id="+id2, "Cover",
                              "width=350,height=180,toolbar=no,
                            location=yes,scrollbars=no,left=300, top=200")
      aucWindow.focus()
    }
    </script>
    <?
   
echo "</head>";
   echo 
"<body>";
$id 1;
$pass1 "hallo";
$up $id."_".$pass1;
echo 
"<form method='get' action='JavaScript:newWindow($id, $pass1)'>";
echo 
"<input type='submit' name='submit' class='Button' value='upload'><br>";
echo 
"</form>";
echo 
"</body";
echo 
"</html>";
?>

Ich bekomme dann den Fehler im Javascript:

Fehler: 'hallo' ist undefiniert

was meint der damit?

wahsaga 13-11-2006 21:56

Ich sagte dir bereits, dass du bitte verflixt noch mal den Code betrachten sollst, der im Browser ankommt - was ist daran so schwer zu kapieren?

Und dann sollte auch klar werden, wo hallo steht und was daran falsch ist ... (Grundwissen in Javascript vorausgesetzt, aber ich hege Zweifel ...)

Kropff 13-11-2006 22:00

hallo ist ein string also:
PHP-Code:

echo '<form method="get" onsubmit="newWindow('.$id.','."'".$pass1."'".');">'

peter

Jache84 13-11-2006 22:15

@Kropff Vielen Vielen Dank. Das wußte ich nicht. Habe wieder was neues gelernt.
aber wieso geht es das ich den echo Befehl in einfach ehochkommatas schreiben kann und keine Anführungsstriche benötige?

@wahsaga Toll das du alles so gut kannst. Steht irgendwo in dem Forum das hier nur profis teilnehmen dürfen? Tut mir leid das ich nicht das Grundwissen (Deine Wortlaute) habe was hier von Nöten ist. Außerdem habe ich mir den Quellcode angeschaut, nur wenn ich dort nicht weiterkomme, er mir meine Variable $pass auflöst und diese aber nicht weiter verarbeitet, weiß ich nicht weiter da ich eben KEIN profi bin. Ich wußte nicht das es in JS unterschiede gibt zwischen einer Zahl und einem String. Dank Kropff weiß ich es jetzt.

Kropff Danke noch mal!

Kropff 13-11-2006 22:17

Zitat:

aber wieso geht es das ich den echo Befehl in einfach ehochkommatas schreiben kann und keine Anführungsstriche benötige?
zeichenketten
gilt auch für javascript, dann musst du das kombinieren.

peter

Jache84 13-11-2006 22:26

okay das habe ich soweit verstanden. Wird sich in den nächsten Tagen udn Wochen zweigen wenn ich das alles wieder brauche.

Allerdings hast du mir das Beispiel gezeit mit onSubmit

ich brauche aber weiterhin das ganze mit action=

Ist das ein großer Unterschied.

habe jetzt folgendes versucht allerdings bekomme ich folgenden Fehler:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\Programme\XAMPP\xampp\htdocs\pages\mp3\datenbank.php on line 788


Hier mein Codeschnipsel:

PHP-Code:

echo "<form method='get' action='JavaScript:newWindow('.$id.','."'".$pass1."'".');'>"


Kropff 13-11-2006 22:34

wenn du ein formular per js verarbeiten willst, nimmt du onsubmit. wenn du es serverseitig, z.b. mit php verarbeiten willst, gibst du bei action den pfad zur entsprechenden datei an.

was genau willst du eigentlich :confused:

btw: deine zeichenkettenverknüpfung ist müll. du hast dir meine seite NICHT durchgelesen. das ist grundlagenwissen.

peter

wahsaga 13-11-2006 22:37

Zitat:

Original geschrieben von Jache84
Ich wußte nicht das es in JS unterschiede gibt zwischen einer Zahl und einem String.
Das ist aber auch echt 'ne Überraschung ... ist ja auch nur in fast allen anderen Scriptsprachen genauso.
Zitat:

habe jetzt folgendes versucht allerdings bekomme ich folgenden Fehler:
Ach, mit Strings in PHP kannst du also auch noch nicht umgehen ... wie wär's denn, wenn du dich erst mal mit den Grundlagen einer der beiden Techniken vertraut machst, und nicht vollkommen ohne Ahnung mit beiden gleichzeitig rumspielst?

:rtfm: http://www.php.net/manual/de/language.types.string.php


Und jetzt editierst du bitte erst mal deine bisherigen Postings so, dass der Code nicht mehr Überbreite hat, so dass man nicht querscrollen muss.

Jache84 13-11-2006 22:44

Also ich weiß nicht ob du jetzt das hier:
Zitat:

"Und jetzt editierst du bitte erst mal deine bisherigen Postings so, dass der Code nicht mehr Überbreite hat, so dass man nicht querscrollen muss."
einfach geschriben hast um mich zu ärgern. Allerdings ist kein einziges Posting von mir zu breit, selbst auf meinem 14" Laptop TFT muss ich nur bei den normalen texten quer scrollen und nicht einmal bei meinem Code.

Aber vieleicht hast du schlecht Laune, ich weiß es nicht. :rolleyes:

Okay habe es gefunden. Mir return false; verhindere ich das abschicken des Formulars.

Danke trotzdem

wahsaga 13-11-2006 22:57

Zitat:

Original geschrieben von Jache84
selbst auf meinem 14" Laptop TFT muss ich nur bei den normalen texten quer scrollen und nicht einmal bei meinem Code.
Normale Texte erzeugen keine Überbreite, sondern nur präformatierter Text in [code]- oder [php]-Tags - wenn du also selbst auch scrollen musstest, dann weil der Code zu breit war.
Hast du nur vermutlich nicht gemerkt - in deinem Eingangsposting war vor den "scrollbars=..."-Teilen in den beiden window.open-Befehlen kein Zeilenumbruch drin, und deshalb standen die ganz weit rechts.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:22 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG