Der Inhalt des Cookies 'phpCookie':
Aufteilung des Arrays $pa
0)
Der Inhalt des Cookies 'jsCookie':
Aufteilung des Arrays $pa
0)
// setcookie("phpCookie","Sergio");
//setrawcookie("phpCookie,Sergio,0,/prg/php,infoseca.ch,false,false,strict");
// bool setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false [, string $samesite = "" ] ]]]]]] )
ini_set('display_errors', 'on');
error_reporting(E_ALL);
?>
Arrays & Cookies
Datenaustausch zwischen PHP und JavaScript
Tabelle als Formular, Tabellenwerte in PHP (POST) auch über JS auswerten
Array-Darstellung beim Start
PHP
var_dump($phpArray):
array(1) {
[2]=>
array(1) {
[2]=>
string(0) ""
}
}
JS
jsArray: im JS muss der Array deklariert sein (a = new Array(5);)
Array-Initialisieren
PHP
$phpArray[0][0] = "p0-Zero" ;
$phpArray[0][1] = "p0-Uno" ;
$phpArray[1][0] = "p1-Zero" ;
$phpArray[1][1] = "p1-Uno" ;
JS
jsArray[0][0] = "j0-Zero" ;
jsArray[0][1] = "j0-Uno" ;
jsArray[1][0] = "j1-Zero" ;
jsArray[1][1] = "j1-Uno" ;
Array-Darstellung nach dem Initialisieren
PHP
var_dump($phpArray):
array(3) {
[2]=>
array(1) {
[2]=>
string(0) ""
}
[0]=>
array(2) {
[0]=>
string(7) "p0-Zero"
[1]=>
string(6) "p0-Uno"
}
[1]=>
array(2) {
[0]=>
string(7) "p1-Zero"
[1]=>
string(6) "p1-Uno"
}
}
JS
jsArray:
Cookie setzen
PHP
setcookie("CookieName",Wert,0);:
Mit php können Cookies nur gaaaaanz am Anfang der Seite gesetzt werden
Sonst kommt die folgende Warnung
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/js2php2js.php:3) in /home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/js2php2js.php on line 116
Zuerst muss das PHP-Array nach JS 'kopiert' werden
0)
array(1) {
[2]=>
string(0) ""
}
Laenge von $a = 1
Inhalt von $an =
1)
array(2) {
[0]=>
string(7) "p0-Zero"
[1]=>
string(6) "p0-Uno"
}
Laenge von $a = 2
Inhalt von $an = p0-Zero
Inhalt von $an = p0-Uno
2)
array(2) {
[0]=>
string(7) "p1-Zero"
[1]=>
string(6) "p1-Uno"
}
Laenge von $a = 2
Inhalt von $an = p1-Zero
Inhalt von $an = p1-Uno
$w = p0-Zero,p0-Uno,p1-Zero,p1-Uno)
Beispiel: Array mir 2 Dimensionen in eine liniare Variable
$w = "";
foreach($phpArray as $a)
{
foreach($a as $an)
{
if(strlen($an) > 0)
{
$w .= (strlen($w)>0)?",".$an:"".$an;
}
}
}
Nach dem "Laden" der (Array)Variablen geht das Cookie-Setzen NUR über JS
document.cookie = Bezeichner + "=" + <?php echo $w ?> + "; expires=" + Auszeit.toGMTString() + ";SameSite=Strict;";
JS
document.cookie = Bezeichner + "=" + Wert + "; expires=" + Auszeit.toGMTString() + ";SameSite=Strict;";
Cookie lesen
PHP
Die Cookies befinden sich in der globalen Variable $GLOBALS['_COOKIE']
$cookie = $_COOKIE["phpCookie"];
Der Inhalt des Cookies 'phpCookie':
Aufteilung des Arrays $pa
0)
Der Inhalt des Cookies 'jsCookie':
Aufteilung des Arrays $pa
0)
JS
bisquit = document.cookie();
Tabelle auslesen
Tabelle
PHP
JS
ENDE
PHP-Ausgabe: $_COOKIE
array(0) {
}
ODER: $GLOBALS['_COOKIE']
array(0) {
}
PHP-Ausgabe: $GLOBALS
array(18) {
["_GET"]=>
array(0) {
}
["_POST"]=>
array(0) {
}
["_COOKIE"]=>
array(0) {
}
["_FILES"]=>
array(0) {
}
["_SERVER"]=>
array(41) {
["USER"]=>
string(8) "infoseca"
["HOME"]=>
string(30) "/home/httpd/vhosts/infoseca.ch"
["PATH_TRANSLATED"]=>
string(60) "/home/httpd/vhosts/infoseca.ch/httpdocs/VerbindungPHP-JS.php"
["PATH_INFO"]=>
string(21) "/VerbindungPHP-JS.php"
["SCRIPT_NAME"]=>
string(22) "/prg/php/js2php2js.php"
["REQUEST_URI"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_METHOD"]=>
string(3) "GET"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["REMOTE_PORT"]=>
string(5) "37641"
["SCRIPT_FILENAME"]=>
string(61) "/home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/js2php2js.php"
["SERVER_ADMIN"]=>
string(14) "root@localhost"
["CONTEXT_DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["CONTEXT_PREFIX"]=>
string(0) ""
["REQUEST_SCHEME"]=>
string(5) "https"
["DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["REMOTE_ADDR"]=>
string(14) "216.73.217.126"
["SERVER_PORT"]=>
string(3) "443"
["SERVER_ADDR"]=>
string(12) "80.74.147.24"
["SERVER_NAME"]=>
string(11) "infoseca.ch"
["SERVER_SOFTWARE"]=>
string(6) "Apache"
["SERVER_SIGNATURE"]=>
string(0) ""
["PATH"]=>
string(49) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
["HTTP_HOST"]=>
string(11) "infoseca.ch"
["HTTP_ACCEPT_ENCODING"]=>
string(23) "gzip, br, zstd, deflate"
["HTTP_USER_AGENT"]=>
string(103) "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
["HTTP_ACCEPT"]=>
string(3) "*/*"
["proxy-nokeepalive"]=>
string(1) "1"
["SSL_TLS_SNI"]=>
string(11) "infoseca.ch"
["HTTPS"]=>
string(2) "on"
["PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PERL5LIB"]=>
string(49) "/usr/share/awstats/lib:/usr/share/awstats/plugins"
["UNIQUE_ID"]=>
string(27) "aeMNUcrV@RiHY3Zcf@OuKgAAAAU"
["FCGI_ROLE"]=>
string(9) "RESPONDER"
["PHP_SELF"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["REQUEST_TIME_FLOAT"]=>
float(1776487761.967)
["REQUEST_TIME"]=>
int(1776487761)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["_REQUEST"]=>
array(0) {
}
["_ENV"]=>
array(41) {
["USER"]=>
string(8) "infoseca"
["HOME"]=>
string(30) "/home/httpd/vhosts/infoseca.ch"
["PATH_TRANSLATED"]=>
string(60) "/home/httpd/vhosts/infoseca.ch/httpdocs/VerbindungPHP-JS.php"
["PATH_INFO"]=>
string(21) "/VerbindungPHP-JS.php"
["SCRIPT_NAME"]=>
string(22) "/prg/php/js2php2js.php"
["REQUEST_URI"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_METHOD"]=>
string(3) "GET"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["REMOTE_PORT"]=>
string(5) "37641"
["SCRIPT_FILENAME"]=>
string(61) "/home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/js2php2js.php"
["SERVER_ADMIN"]=>
string(14) "root@localhost"
["CONTEXT_DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["CONTEXT_PREFIX"]=>
string(0) ""
["REQUEST_SCHEME"]=>
string(5) "https"
["DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["REMOTE_ADDR"]=>
string(14) "216.73.217.126"
["SERVER_PORT"]=>
string(3) "443"
["SERVER_ADDR"]=>
string(12) "80.74.147.24"
["SERVER_NAME"]=>
string(11) "infoseca.ch"
["SERVER_SOFTWARE"]=>
string(6) "Apache"
["SERVER_SIGNATURE"]=>
string(0) ""
["PATH"]=>
string(49) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
["HTTP_HOST"]=>
string(11) "infoseca.ch"
["HTTP_ACCEPT_ENCODING"]=>
string(23) "gzip, br, zstd, deflate"
["HTTP_USER_AGENT"]=>
string(103) "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
["HTTP_ACCEPT"]=>
string(3) "*/*"
["proxy-nokeepalive"]=>
string(1) "1"
["SSL_TLS_SNI"]=>
string(11) "infoseca.ch"
["HTTPS"]=>
string(2) "on"
["PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PERL5LIB"]=>
string(49) "/usr/share/awstats/lib:/usr/share/awstats/plugins"
["UNIQUE_ID"]=>
string(27) "aeMNUcrV@RiHY3Zcf@OuKgAAAAU"
["FCGI_ROLE"]=>
string(9) "RESPONDER"
["PHP_SELF"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["REQUEST_TIME_FLOAT"]=>
float(1776487761.967)
["REQUEST_TIME"]=>
int(1776487761)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["GLOBALS"]=>
array(18) {
["_GET"]=>
array(0) {
}
["_POST"]=>
array(0) {
}
["_COOKIE"]=>
array(0) {
}
["_FILES"]=>
array(0) {
}
["_SERVER"]=>
array(41) {
["USER"]=>
string(8) "infoseca"
["HOME"]=>
string(30) "/home/httpd/vhosts/infoseca.ch"
["PATH_TRANSLATED"]=>
string(60) "/home/httpd/vhosts/infoseca.ch/httpdocs/VerbindungPHP-JS.php"
["PATH_INFO"]=>
string(21) "/VerbindungPHP-JS.php"
["SCRIPT_NAME"]=>
string(22) "/prg/php/js2php2js.php"
["REQUEST_URI"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_METHOD"]=>
string(3) "GET"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["REMOTE_PORT"]=>
string(5) "37641"
["SCRIPT_FILENAME"]=>
string(61) "/home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/js2php2js.php"
["SERVER_ADMIN"]=>
string(14) "root@localhost"
["CONTEXT_DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["CONTEXT_PREFIX"]=>
string(0) ""
["REQUEST_SCHEME"]=>
string(5) "https"
["DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["REMOTE_ADDR"]=>
string(14) "216.73.217.126"
["SERVER_PORT"]=>
string(3) "443"
["SERVER_ADDR"]=>
string(12) "80.74.147.24"
["SERVER_NAME"]=>
string(11) "infoseca.ch"
["SERVER_SOFTWARE"]=>
string(6) "Apache"
["SERVER_SIGNATURE"]=>
string(0) ""
["PATH"]=>
string(49) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
["HTTP_HOST"]=>
string(11) "infoseca.ch"
["HTTP_ACCEPT_ENCODING"]=>
string(23) "gzip, br, zstd, deflate"
["HTTP_USER_AGENT"]=>
string(103) "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
["HTTP_ACCEPT"]=>
string(3) "*/*"
["proxy-nokeepalive"]=>
string(1) "1"
["SSL_TLS_SNI"]=>
string(11) "infoseca.ch"
["HTTPS"]=>
string(2) "on"
["PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PERL5LIB"]=>
string(49) "/usr/share/awstats/lib:/usr/share/awstats/plugins"
["UNIQUE_ID"]=>
string(27) "aeMNUcrV@RiHY3Zcf@OuKgAAAAU"
["FCGI_ROLE"]=>
string(9) "RESPONDER"
["PHP_SELF"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["REQUEST_TIME_FLOAT"]=>
float(1776487761.967)
["REQUEST_TIME"]=>
int(1776487761)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["_REQUEST"]=>
array(0) {
}
["_ENV"]=>
array(41) {
["USER"]=>
string(8) "infoseca"
["HOME"]=>
string(30) "/home/httpd/vhosts/infoseca.ch"
["PATH_TRANSLATED"]=>
string(60) "/home/httpd/vhosts/infoseca.ch/httpdocs/VerbindungPHP-JS.php"
["PATH_INFO"]=>
string(21) "/VerbindungPHP-JS.php"
["SCRIPT_NAME"]=>
string(22) "/prg/php/js2php2js.php"
["REQUEST_URI"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_METHOD"]=>
string(3) "GET"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["REMOTE_PORT"]=>
string(5) "37641"
["SCRIPT_FILENAME"]=>
string(61) "/home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/js2php2js.php"
["SERVER_ADMIN"]=>
string(14) "root@localhost"
["CONTEXT_DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["CONTEXT_PREFIX"]=>
string(0) ""
["REQUEST_SCHEME"]=>
string(5) "https"
["DOCUMENT_ROOT"]=>
string(39) "/home/httpd/vhosts/infoseca.ch/httpdocs"
["REMOTE_ADDR"]=>
string(14) "216.73.217.126"
["SERVER_PORT"]=>
string(3) "443"
["SERVER_ADDR"]=>
string(12) "80.74.147.24"
["SERVER_NAME"]=>
string(11) "infoseca.ch"
["SERVER_SOFTWARE"]=>
string(6) "Apache"
["SERVER_SIGNATURE"]=>
string(0) ""
["PATH"]=>
string(49) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
["HTTP_HOST"]=>
string(11) "infoseca.ch"
["HTTP_ACCEPT_ENCODING"]=>
string(23) "gzip, br, zstd, deflate"
["HTTP_USER_AGENT"]=>
string(103) "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
["HTTP_ACCEPT"]=>
string(3) "*/*"
["proxy-nokeepalive"]=>
string(1) "1"
["SSL_TLS_SNI"]=>
string(11) "infoseca.ch"
["HTTPS"]=>
string(2) "on"
["PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY"]=>
string(1) "0"
["PERL5LIB"]=>
string(49) "/usr/share/awstats/lib:/usr/share/awstats/plugins"
["UNIQUE_ID"]=>
string(27) "aeMNUcrV@RiHY3Zcf@OuKgAAAAU"
["FCGI_ROLE"]=>
string(9) "RESPONDER"
["PHP_SELF"]=>
string(43) "/prg/php/js2php2js.php/VerbindungPHP-JS.php"
["REQUEST_TIME_FLOAT"]=>
float(1776487761.967)
["REQUEST_TIME"]=>
int(1776487761)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["GLOBALS"]=>
*RECURSION*
["cookie"]=>
NULL
["pa"]=>
array(1) {
[0]=>
string(0) ""
}
["i"]=>
int(1)
["ja"]=>
array(1) {
[0]=>
string(0) ""
}
["phpArray"]=>
array(3) {
[2]=>
array(1) {
[2]=>
string(0) ""
}
[0]=>
array(2) {
[0]=>
string(7) "p0-Zero"
[1]=>
string(6) "p0-Uno"
}
[1]=>
array(2) {
[0]=>
string(7) "p1-Zero"
[1]=>
string(6) "p1-Uno"
}
}
["n"]=>
string(9) "phpCookie"
["w"]=>
string(29) "p0-Zero,p0-Uno,p1-Zero,p1-Uno"
["v"]=>
int(1776491361)
["a"]=>
array(2) {
[0]=>
string(7) "p1-Zero"
[1]=>
string(6) "p1-Uno"
}
["an"]=>
string(6) "p1-Uno"
}
["cookie"]=>
NULL
["pa"]=>
array(1) {
[0]=>
string(0) ""
}
["i"]=>
int(1)
["ja"]=>
array(1) {
[0]=>
string(0) ""
}
["phpArray"]=>
array(3) {
[2]=>
array(1) {
[2]=>
string(0) ""
}
[0]=>
array(2) {
[0]=>
string(7) "p0-Zero"
[1]=>
string(6) "p0-Uno"
}
[1]=>
array(2) {
[0]=>
string(7) "p1-Zero"
[1]=>
string(6) "p1-Uno"
}
}
["n"]=>
string(9) "phpCookie"
["w"]=>
string(29) "p0-Zero,p0-Uno,p1-Zero,p1-Uno"
["v"]=>
int(1776491361)
["a"]=>
array(2) {
[0]=>
string(7) "p1-Zero"
[1]=>
string(6) "p1-Uno"
}
["an"]=>
string(6) "p1-Uno"
}
Tabelle als Formular, Tabellenwerte in PHP (POST) auch über JS auswerten
Die Felder dieser Tabelle werden unterschiedlich 'ausgelesen'
-
Ein JS teilt dem verborgenen INPUT den Text zu, der im Tabellenfeld sichtbar ist
-
Im PHP wird mit JS einer PHP Variablen der Text zugeteilt, der im Tabellenfeld sichtbar ist
-
Das INPUT wird "normal" ausgewertet. Es wird ohne Rand und nur lesen dargestellt.
PHP
1) TDValue:
2) TDValue2: Wert:
3) InputValue:
Codes:
<form action="js2php2js.php#BS2026" method="post" >
<table border=1 style="font-size:1.5em;">
<tr><td id="TDValue" ><input type=hidden id="InputTDValue" name="TDValue" />Hallo Velo! mit JS-Umweg </td></tr>
<tr><td id="TDValue2" >Zweites Tabellenfeld. </td></tr>
<tr><td><input type=text name="InputValue" value='3. Feld' style="border:none;outline:none;color:black;" readonly /></td></tr>
</table>
<br><input type="Submit" value="Beispiel Starten: " />
</form>
<script>
// Darstellung
document.write("<br><b>JS:</b> <br>1) " + document.getElementById('TDValue').innerText + "<br>2) " + document.getElementById('TDValue2').innerText + "<br>3) Der Wert wird beim ersten Laden der Seite von PHP noch nicht verwertet" );
// TD an INPUT
document.getElementById('InputTDValue').value = document.getElementById('TDValue').innerText;
</script>
<?php
$td2 = "Wert: " . "<script>document.write(document.getElementById('TDValue2').innerText );</script>" ;
echo "<br><br><b>PHP</b>";
echo "<br>1) TDValue: " . $_POST['TDValue'] ;
echo "<br>2) TDValue2: " . $td2 ; // "<script>document.write(document.getElementById('TDValue2').innerText );</script>" ;
echo "<br>3) InputValue: " . $_POST['InputValue'] ;
?>