Προς το περιεχόμενο

PHP variable parsing σε Javascript


christian-ago

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω λιωσει το google αλλα φαινεται να τα κανουν ολα ομορφα και σωστα σε αλλα φορουμς, αλλα εγω δεν μπορω...

Το προβλημα μου ειναι γνωστο. Πώς μπορω να περασω (parse) μεταβλητες απο php script σε javascript?

Κανω καποια ρυθμιση στο php.ini; Ποιες ειναι προυποθεσεις; Δηλαδη το php script να ειναι στο html αρχειο

ή μπορεί να είναι και σε διαφορετικο; Λιγο τα φωτα σας.

Δημοσ.

Αν κατάλαβα καλά θέλεις να έχεις μεταβλητές στα js αρχεία σου. Αυτό θα γίνει αν το αρχείο είναι php και γράψεις την javascript σου όπως θα την έγραφες inline σε html.

Δημοσ.

Θελω να παρω μεταβλητες απο inline php script σε html και να τρεχουν σε javascript κωδικα που ειναι κι αυτο μεσα στο html.

Δηλαδη μεσα στη σελιδα (ειτε ειναι php ειτε ειναι html) να υπαρχει καπου javascript που να παιρνει τις μεταβλητες που δημιουργηθηκαν σε καποιο php script στην ιδια σελιδα.

Δημοσ.

Υποθέτοντας πως έχεις την μεταβλητή

>$my_value = 15;

και θέλεις να την περάσεις σε JavaScript, μπορείς να κάνεις το ακόλουθο:

><script type="text/javascript>[...]
var my_value = '<?php echo $my_value; ?>';
[...]
</script>

 

Αν κατάλαβα καλά τι θέλεις να κάνεις.

Δημοσ.

Ναι κατι τετοιο θελω να κανω αλλα δε μου δουλευει.

Μεσα στο αρχειο html γραφω κανονικα τη σελιδα μου.

Μετα τρεχω ενα php σεναριο και αποθηκευω το αποτελεσμα σε μια μεταβλητη.

Υστερα τρεχω ενα javascript σεναριο και θελω να παρω τη μεταβλητη απο την php.

Δοκιμαζω τον παραπανω κωδικα που μου εδωσες αλλα δε δουλευει.

Πρεπει να κανω καποια ρυθμιση καπου?

Δημοσ.

Εχω αυτο συμφωνα με το παραδειγμα που μου εδωσε ο φιλος πριν.

><html>
<head></head>
<body>

<?php
$i='1';
?>

<script type="text/javascript">

var my_value = '<?php echo $i; ?>';
alert(my_value);

</script>

</body>
</html>

 

Να σημειωσω οτι δεν χρησιμοποιω web server. Το αρχειο html τρεχει κανονικα απο το δισκο.

Φανταζομαι εκει θα ειναι το προβλημα..

Αλλα και να ειναι σκεφτομαι κατι εναλλακτικο για να μη ταλαιπωρουμαι με php/javascript parsing.

Eιναι δυνατον να εκτελεσω php σεναριο χωρις να το τρεχω απο το server?

Δημοσ.

Δε γίνεται να κατορθώσεις εκτέλεση PHP κώδικα χωρίς να παρεμβληθεί ένας PHP interpreter. Άρα, ξεχνάς το «άνοιγμα HTML κανονικά από το δίσκο»: δεν υπάρχει τίποτα το κανονικό σε αυτό, χρειάζεσαι web server με υποστήριξη PHP οπωσδήποτε...

Δημοσ.

Εστω οτι το php σεναριο τρεχει σε καποιο remote server, σε μια δικη μου ιστοσελιδα για παραδειγμα.

Γινεται με καποιο ασφαλη τροπο να παρω τα δεδομενα καποιων μεταβλητων;

Φανταζομαι αυτο θα γινεται μεσω rss?

Δημοσ.

php script (ας πούμε ότι είναι στο λινκ: http://www.domain.com/script.php)

 

>

<!---  PHP Script  -->
<!---  Location: http://www.domain.com/script.php <- χρησιμοποιώ αυτό το url ως παράδειγμα, εσύ όπου βλέπεις αυτό, θα βάζεις το δικό σου url  -->

<?php $variable ='η τιμή μου'; ?>


<?xml version="1.0" encoding="UTF-8" ?>
<results status='ok'>
 <result id='1'>
   <variable><?php print $variable; ?></variable>
 </result>
</results>

 

>

<!---  HTML Script  -->
<!---  Location: Οπουδήποτε στον υπολογιστή σου  -->

<html>
 <head>
   <title>Η σελίδα μου</title>

   <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
   <script type='text/javascript'>

     var variable

     $.post('http://www.domain.com/script.php', function(data) {

       variable = $(data).find('variable').text()

     });

     $('div#myDiv').html(variable)

   </script>

 </head>

 <body>

   <div id='myDiv'></div>

 </body>
</html>

Δημοσ.

Εστω οτι το php σεναριο τρεχει σε καποιο remote server, σε μια δικη μου ιστοσελιδα για παραδειγμα.

Γινεται με καποιο ασφαλη τροπο να παρω τα δεδομενα καποιων μεταβλητων;

Φανταζομαι αυτο θα γινεται μεσω rss?

Τί εννοείς «ασφαλή τρόπο»; Υπάρχει απαίτηση για authentication; Ή encryption; Ή και τα δύο;

Δημοσ.

Τί εννοείς «ασφαλή τρόπο»; Υπάρχει απαίτηση για authentication; Ή encryption; Ή και τα δύο;

 

Εννοω οτι μπορει ο server να εκλαβει σαν "επιθεση" καποιο προγραμμα που θελει να παρει τιμες απο τις μεταβλητες του php κωδικα του.

Δεν βαζω καμια απαιτηση σχετικα με τα παραπανω.

 

Με το προηγουμενο script φιλε Thanocaster μπορω να κανω parsing JS/Php?

Χρησιμοποιεις Jquery να υποθεσω? Δεν την ξερω καθολου τη γλωσσα. :(

 

EDIT: Λοιπον το ετρεξα.

Ο interpreter στο server μου βγαζει σφαλμα εδω:

><?xml version="1.0" encoding="UTF-8" ?>

Parse error: syntax error, unexpected T_STRING

Δημοσ.

Ίσως θα ήταν καλύτερα να μας εξηγήσεις τι ακριβώς θέλεις να πετύχεις. Νομίζω πως το αντιμετωπίζεις με λάθος τρόπο εντελώς αυτό που θέλεις.

Δημοσ.

Μετα απο πολυ ψαξιμο καταλαβα οτι θελω να υλοποιησω dynamic rss/xml.

Υπαρχει κανενα σοβαρο tutorial για το πως να το κανω;

Δηλαδη, βημα βημα να σου λεει τι να κανεις και χωρις να κανει skip κομματια που θεωρουνται αυτονοητα;

Πραγματικα δεν υπαρχουν καλοι οδηγοι στο net γι αυτο το θεμα!

Δημοσ.

Εννοω οτι μπορει ο server να εκλαβει σαν "επιθεση" καποιο προγραμμα που θελει να παρει τιμες απο τις μεταβλητες του php κωδικα του.

Δεν βαζω καμια απαιτηση σχετικα με τα παραπανω.

 

Με το προηγουμενο script φιλε Thanocaster μπορω να κανω parsing JS/Php?

Χρησιμοποιεις Jquery να υποθεσω? Δεν την ξερω καθολου τη γλωσσα. :(

 

EDIT: Λοιπον το ετρεξα.

Ο interpreter στο server μου βγαζει σφαλμα εδω:

><?xml version="1.0" encoding="UTF-8" ?>

Parse error: syntax error, unexpected T_STRING

 

E, φυσικά σου σπάει, αφού είμαι κόπανος! :P

 

Πρέπει να στείλεις το header του xml σου και να κάνεις print το xml:

 

>
<?php

/*********************************************************************************************************
*
*  PHP Script 
*  Location: http://www.domain.com/script.php <- χρησιμοποιώ αυτό το url ως παράδειγμα,
*  εσύ όπου βλέπεις αυτό, θα βάζεις το δικό σου url
*
********************************************************************************************************/

header('Content-type: application/xml');
$variable ='η τιμή μου';

print $xml =  "<?xml version='1.0' encoding='UTF-8' ?>".
"<results status='ok'>".
 "<result id='1'>".
   "<variable>".$variable."</variable>".
 "</result>".
"</results>";

// Βάζω όλο το xml αρχείο μέσα σε μια μεταβλητή xml, σε περίπτωση που θέλεις να κάνεις και τίποτα 
// άλλο με αυτό (πχ να το σώσεις) εκτός από το να το τυπώσεις. Αν θέλεις μόνο να το τυπώσεις, απλά 
// σβήνεις το '$xml = ' μετά το print.

?>

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...