PHP μέσα σε Javascript

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από pagman » 23 Ιαν 2010 17:12

Θα ήθελα να εκτελέσω κώδικα PHP μέσα σε javascript. Χρησιμοποιώ την document.write για να περνάω τις εντολές μου επιτυχημένα. Το πρόβλημα όμως είναι ότι στο παρακάτω QUERY πρέπει να χρησιμοποιήσω double quote (") και για το document.write και για το QUERY με αποτέλεσμα να μην εκτελείται η εντολή. Μπορώ να κάνω κάτι άλλο?

Αυτό θέλω να κάνω:

document.write("<?php mysql_query("UPDATE members SET payby ='6' WHERE username = '$myusername'"); ?>");
Εικόνα

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από dva_dev » 23 Ιαν 2010 17:45

Αν το πρόβλημα σου είναι στα εισαγωγικά, βάλε \ πριν το " που θέλεις να παραμείνει ώς έχει.

Κώδικας: Επιλογή όλων

document.write&#40;"<?php mysql_query&#40;\"UPDATE members SET payby ='6' WHERE username = '$myusername'\"&#41;; ?>"&#41;;

vevhlos
Δημοσιεύσεις: 55
Εγγραφή: 01 Μαρ 2008 15:35

PHP μέσα σε Javascript

Δημοσίευση από vevhlos » 23 Ιαν 2010 17:47

Η php είναι server side, ενώ η javascript είναι client side. Αυτό που θές να κάνεις είναι αδύνατο. Δοκίμασε με ajax!

gkalog
Δημοσιεύσεις: 3
Εγγραφή: 12 Δεκ 2009 16:16
Τοποθεσία: Ναξος
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από gkalog » 23 Ιαν 2010 17:48

Αν και δεν έχω προσπαθήσει να κάνω πότε κάτι τέτοιο, δεν νομίζω να γίνεται. Αφού ο php κώδικας εκτελείτε απο τον μεταγλωττιστή της php στον server, ενώ η javascript απο τον browser του πελάτη. Ότι ήταν να γίνει με την php εχει τελείωση όταν εκτελείτε η javascript.
Αυτό που θες να κάνεις μπορείς να το πετύχεις με Ajax.

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

PHP μέσα σε Javascript

Δημοσίευση από dimsis » 23 Ιαν 2010 17:58

Λογικά το αποτέλεσμα (HTML που παράγεται) της php πρέπει να περάσει στις document.write σου και όχι κώδικα php εκεί μέσα.
Από client να τρέξεις server code; χλωμό το βλέπω...

edit: πρόλαβαν και άλλοι βλέπω.. θα συμφωνήσω με τους προηγούμενους

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από pagman » 25 Ιαν 2010 02:53

Δοκίμασα τη λύση του dva_dev και πήρα:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 on line 62

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/public_html/page.php:62) on line 2


Στη γραμμή 62 είναι το document.write
και στην 2 έχω session_start();
Εικόνα

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από dva_dev » 25 Ιαν 2010 08:06

Πρέπει να διαβάσεις πιο προσεκτικά τι είναι αυτό που ρωτάς και τι είναι αυτό που σου έχει απαντήσει ο καθένας. Οι απαντήσεις δίνονται για αυτό που έχει ρωτήσει ο καθένας όχι αυτό που θα ήθελε να ρωτήσει ή αυτό που έχει στο μυαλό του.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από korgr » 25 Ιαν 2010 09:22

Προφανως ο φιλος δεν διατυπωσε σωστα, αλλα οχι και δεν μπορουμε να εχουμε php μεσα σε js! Αλλο το οτι δεν εκτελουνται ταυτοχρονα σε client side. Εκει εκανε λαθος στη διατυπωση...

Φανταστειτε το:

Κώδικας: Επιλογή όλων

<?
$msg = "Hello World";
?>
<script>
alert &#40;"<?=$msg;?>"&#41;;
</script>
και αντιστοιχα το

Κώδικας: Επιλογή όλων

<?
$msg = "Goodbye World";
?>
<script>
alert &#40;"<?=$msg;?>"&#41;;
</script>

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

PHP μέσα σε Javascript

Δημοσίευση από dimsis » 25 Ιαν 2010 09:31

Νότη php μπορείς να έχεις όπως στο παράδειγμα σου, αλλά αν δεις αυτός κάνει document.write την php και προφανώς περιμένει να τρέξει έπειτα αυτό που δείχνει :) ...

πως κάνουμε το syndication και γράφουμε ας πούμε σε ένα .js

test.js
<script>
document.write 'geia soy noti';
</script>

και αν το βάλεις εσύ στο δικό σου site <script type="text/javascript" src="http://www.tade.gr/test.js"></script> αντί να τρέχει javascript και να βγάζει geia soy noti να τρέχει την php στου αλλουνού τον server ... :)
εγώ αυτό κατάλαβα ότι προσπαθεί να κάνει... φαντάσου να γινότανε τι ωραίο security θα είχαμε :p

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από korgr » 25 Ιαν 2010 11:38

Δημητρη μου sorry, τωρα προσεξα πως μεσα στην document.write δεν εχει php echo αλλα ...mysql query :D

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από pagman » 25 Ιαν 2010 19:17

Έχετε απόλυτο δίκιο, είναι τουλάχιστον ηλίθιο από μέρους μου, για λόγους ασφαλείας, που σκέφτηκα να περάσω το Query με αυτό τον τρόπο. Να πω την αλήθεια δεν σκέφτηκα την ασφάλεια καθόλου σε εκείνο το σημείο, απλά έψαχνα για έναν τρόπο...

Υπάρχει πιστεύετε κάποιος άλλος τρόπος να κάνω το query μέσα σε javascript;
Εικόνα

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

PHP μέσα σε Javascript

Δημοσίευση από dimsis » 25 Ιαν 2010 20:02

Περιέγραψε μας τι θέλεις να κάνεις γιατί σίγουρα λάθος μεθοδολογία ακολουθείς.
"Λογικά το αποτέλεσμα (HTML που παράγεται) της php πρέπει να περάσει στις document.write σου και όχι κώδικα php εκεί μέσα. "
Σου το ξαναέγραψα....

Βγάζεις το query σου έξω από το script, φτιάχνεις μια μεταβλητή και εμφανίζεις αυτή τη μεταβλητή που μπορεί να έχει και html tags μέσα, με τη document.write ...
Αλλά sql update?!?!? γιατί;;; που το χρειάζεσαι;

pagman
Δημοσιεύσεις: 210
Εγγραφή: 15 Μάιος 2008 13:29
Επικοινωνία:

PHP μέσα σε Javascript

Δημοσίευση από pagman » 25 Ιαν 2010 20:56

Λοιπόν τα πράγματα έχουν ως εξής:

Τι θέλω να κάνω:
Θέλω πατώντας σε ένα tickbox να γινεται μια εγγραφή στη database μου χωρίς να χρειάζεται να πατήσω ένα submit button. Επειδή το onclick χρησιμοποιεί ρουτίνα javascript το μόνο που μου πέρασε από το μυαλό, καλώς ή κακώς ήταν αυτό...

Καμιά άλλη ιδέα ή πιο λειτουργική μέθοδος?
Εικόνα

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

PHP μέσα σε Javascript

Δημοσίευση από dimsis » 25 Ιαν 2010 21:01

... onclick="document.location.href='selida.php?payby=6'"

και στην selida.php τρέχεις το query σου και τον ξαναγυρνάς έπειτα πίσω...

αν δεν θέλεις να αλλάζεις σελίδες ψάξε για ajax XMLHttpRequest ή διάβασε εδώ http://www.freestuff.gr/forums/viewtopic.php?t=46741

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP μέσα σε Javascript

Δημοσίευση από fafos » 25 Ιαν 2010 21:09

ti einai to tickbox?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης