Ik heb het onderstaande script gemaakt vanuit een voorbeeld (alleen het stukje java script). Het script geeft een OK/Cancel button weer op de pagina. Ik vraag het script op via een GET vanaf een andere pagina. Deze code staat hier niet onder

Nu is het vreemde dat als ik de Javascript variabele gebruik in het PHP IF/ELSE stuk dan komt de ELSE loop altijd als uitslag en nooit het IF stuk. Het maakt dus niet uit of ik op OK of de CANCEL button klik. Als ik een print doe van het Javascript stuk krijg ik wel de OKE tekst te zien..?



<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>

<script>

    var x;
    if (confirm("TEST BOX IS OKE") == true) {
        var x = "You pressed OK!";
		var jvalue = 'OKE';
<?php $abc = "<script>document.write(jvalue)</script>"?>  

		
    } else {
        var x 			= "You pressed Cancel!";
		var jvalue = 'CANCEL';
		<?php $abc = "<script>document.write(jvalue)</script>"?>    
				 

    }
    document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>


<?
/*
VARIABLE OUTPUT? COMMENT
$abc = "<script>document.write(jvalue)</script>"
*/


IF ($abc == 'OKE'){
echo "OKE";
}
ELSE{
	echo "ELSE";
	}

?>


/////////////////OUTPUT
You pressed OK!

ELSE
////////////////
Je haalt de manier van werken met PHP en JavaScript door elkaar. PHP wordt door de server uitgevoerd, en JavaScript door de browser van de bezoeker. PHP zelf doet niks met JavaScript.

Uiteindelijk komt het in jouw script erop neer dat je met PHP niet de waarde van een JavaScript-functie op kan roepen, en dat $abc gewoon gelijk blijft staan aan de string: <script>document.write(jvalue)</script>

Daarom kom je altijd op ELSE uit.
$abc = "<script>document.write(jvalue)</script>" dit is dus tekst.

if($abc == 'OKE') geeft uiteraard false want er zitten 39 characters in $abc en geen 3.
Ik heb het nu anders opgelost. Via het onderstaande.

<html>
<body>
<p id="demo"></p>

<script>
var x;
var r=confirm("OK OF CANCEL");
if (r==true)
  {
 window.location=index2.php'; 
  }
else
  {
  x="You pressed Cancel!";
  }
</script>
</body>
</html>
Mooi dat het opgelost is, maar zou je in het vervolg code-tags willen gebruiken?
Alvast bedankt!
Ga ik de volgende keer doen

Reageren