[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

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

Απάντηση
Άβαταρ μέλους
billaki84
Δημοσιεύσεις: 38
Εγγραφή: 28 Μαρ 2011 15:45

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από billaki84 » 20 Απρ 2012 02:54

Καλησπέρα και χρόνια πολλά,
Πως μπορώ να μεταφέρω τη τιμή που βρίσκεται μέσα στο span από τη σελίδα xxxx.php στην yyy.html;

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

<div class="name">
  <span id="number">0</span>
</div>
Τελευταία επεξεργασία από το μέλος billaki84 την 23 Απρ 2012 18:51, έχει επεξεργασθεί 1 φορά συνολικά.

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

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από korgr » 20 Απρ 2012 09:58

Με session variable
Θα βάλεις πάνω πάνω στον κώδικά σου το

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

session_start&#40;&#41;;
και μετά μπορείς να ορίζεις τις μεταβλητές που θες να υπάρχουν σε όλες τις σελίδες με

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

$_SESSION&#91;'theNumber'&#93; = "η τιμή που θες";
Στη θέση της theNumber βάλε το δικό σου όνομα μεταβλητής
Όταν θέλεις να την καλέσεις στην επόμενη σελίδα

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

<div class="name"> 
  <span id="number"><?php echo $_SESSION&#91;'theNumber'&#93;;?></span> 
</div> 

Άβαταρ μέλους
billaki84
Δημοσιεύσεις: 38
Εγγραφή: 28 Μαρ 2011 15:45

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από billaki84 » 20 Απρ 2012 12:34

korgr έγραψε:Με session variable
Θα βάλεις πάνω πάνω στον κώδικά σου το

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

session_start&#40;&#41;;
και μετά μπορείς να ορίζεις τις μεταβλητές που θες να υπάρχουν σε όλες τις σελίδες με

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

$_SESSION&#91;'theNumber'&#93; = "η τιμή που θες";
Στη θέση της theNumber βάλε το δικό σου όνομα μεταβλητής
Όταν θέλεις να την καλέσεις στην επόμενη σελίδα

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

<div class="name"> 
  <span id="number"><?php echo $_SESSION&#91;'theNumber'&#93;;?></span> 
</div> 

Τέλεια!! Δεν ήξερα καθόλου ότι μπορεί να γίνει με session. Ευχαριστώ.
Αλλά ας πούμε ότι εκτός από σταθερές τιμές, θέλω να μεταφέρω και κάποια τιμή την οποία θα την πάρει εκείνη τη στιγμή το span, δηλαδή δεν την καθορίζω εγώ από την αρχή. Σε αυτή την περίπτωση tι γίνεται;

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

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από korgr » 20 Απρ 2012 13:34

Θα την μεταφέρεις από την μία σελίδα στην άλλη είτε μέσω κάποιας φόρμας με POST ή μέσω κάποιου link με GET. Μετά στην επόμενη σελίδα θα ενημερώσεις την session var με την τιμή που θα έχεις με πάρει με $_POST ή με $_GET αντίστοιχα.

Παράδειγμα με GET:

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

<a href="page2.php?theNumber=5">Go to next page</a>
Παράδειγμα με POST:

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

<form action="page2.php" method="post">
<input type="text" name="theNumber">
<input type="submit" value="Go to next page">
</form>

Άβαταρ μέλους
billaki84
Δημοσιεύσεις: 38
Εγγραφή: 28 Μαρ 2011 15:45

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από billaki84 » 20 Απρ 2012 17:01

Προσπαθώ τόση ώρα και έχω κολλήσει. Μέσω φόρμας με submit button το έχω κάνει και στο παρελθόν αλλά επειδή εδώ δεν χρησιμοποιώ φόρμα έχω μπερδευτεί.
Καταρχάς ας το πάρουμε λίγο ανάποδα. Το δεύτερο κομμάτι, δηλαδή να "τραβάω" μια τιμή που θα έχει το url το πετυχαίνω.

Εστω το url της δεύτερης σελίδας είναι αυτής της μορφής (έδωσα χειροκίνητα την τιμή "5" από την πρώτη σελίδα για να δω τη λειτουργία):

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

page2.php?value1=5
Παίρνω την τιμή και ενημερώνω τη session με αυτό τον τρόπο:

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

<?php
session_start&#40;&#41;; // start up your PHP session! 
$value1 = $_GET&#91;'value1'&#93;;
$_SESSION&#91;'accuracyVal'&#93; = $value1;
?>
Και στη συνέχεια την αποδίδω εκεί που θέλω έτσι:

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

<input type="text" value="<?php echo $_SESSION&#91;'accuracyVal'&#93;;?>"/><br />
Η τελική τιμή του textbox είναι value =5

Οσο αφορά την πρώτη σελίδα και εδώ είναι που έχω το πρόβλημα.
Η τιμή που θέλω να στείλω στη δεύτερη σελίδα, δηλαδή να αποδώσω με τη μέθοδο GET εξαρτάται από το id που έχει το span (ξεκινάει με 0 και αυξάνει, μέχρι που καταλήγει σε κάποια και αυτή θέλω να στείλω).

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

<span id="accuracyValue">0</span>
Κανω το span έτσι:

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

<span id="accuracyValue"><?php echo $_SESSION&#91;'accuracyVal'&#93;;?></span>
Η session της πρώτης σελίδας είναι αυτής της μορφής;

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

<?php
session_start&#40;&#41;; 
$value1 = $accuracyValue;
$_SESSION&#91;'accuracyVal'&#93; = $value1; 
?>
Και το url της μορφής αυτής:

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

page2.php?value1=
Δεν μου αποδίδει την τιμή στη value1 και την αφήνει κενή.

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

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από korgr » 20 Απρ 2012 19:26

Κατ' αρχήν το

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

page2.php?value1= 
αυτό λέει, πως η μεταβλητή $value1 δεν έχει τιμή (λογικό να είναι κενή).

Πρέπει να γίνεις πιο συγκεκριμένος!
Από που αρχικά έχεις την πληροφορία του αριθμού των spans? Από που προκύπτει?
Αν τα spans δημιουργούνται στο DOM με client side ενέργειες (πχ με javascript), τότε είναι πιο σύνθετα τα πράγματα αφού έχεις μόνο δύο επιλογές:

1. Να αναλάβει την μετάβαση στην επόμενη σελίδα η javascript, η οποία γνωρίζει τον αριθμό των spans (τον αποθηκεύεις σε μεταβλητή της Javascript).
Αν για παράδειγμα η μεταβλητή αυτή λέγεται numberOfSpans:

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

document.location.href ="page2.php?value1=" + numberOfSpans;
2. Αποθηκεύεις τον αριθμό numberOfSpans, όποτε αυτή μεταβάλλεται, σε ένα cookie μέσω javascript και το διαβάζεις στην επόμενη σελίδα. Εναλλακτικά ενημερώνεις on the fly ένα php αρχείο μέσω ajax που με τη σειρά του ενημερώνει την session variable.


Γενικά καλύτερα να μας εξηγήσεις ποιος είναι ο αντικειμενικός στόχος της εφαρμογής μήπως μπορέσουμε να προτείνουμε και κάποια άλλη λύση.

Άβαταρ μέλους
billaki84
Δημοσιεύσεις: 38
Εγγραφή: 28 Μαρ 2011 15:45

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από billaki84 » 20 Απρ 2012 19:54

korgr έγραψε:Κατ' αρχήν το

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

page2.php?value1= 
αυτό λέει, πως η μεταβλητή $value1 δεν έχει τιμή (λογικό να είναι κενή).

Πρέπει να γίνεις πιο συγκεκριμένος!
Από που αρχικά έχεις την πληροφορία του αριθμού των spans? Από που προκύπτει?
Αν τα spans δημιουργούνται στο DOM με client side ενέργειες (πχ με javascript), τότε είναι πιο σύνθετα τα πράγματα αφού έχεις μόνο δύο επιλογές:

1. Να αναλάβει την μετάβαση στην επόμενη σελίδα η javascript, η οποία γνωρίζει τον αριθμό των spans (τον αποθηκεύεις σε μεταβλητή της Javascript).
Αν για παράδειγμα η μεταβλητή αυτή λέγεται numberOfSpans:

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

document.location.href ="page2.php?value1=" + numberOfSpans;
2. Αποθηκεύεις τον αριθμό numberOfSpans, όποτε αυτή μεταβάλλεται, σε ένα cookie μέσω javascript και το διαβάζεις στην επόμενη σελίδα. Εναλλακτικά ενημερώνεις on the fly ένα php αρχείο μέσω ajax που με τη σειρά του ενημερώνει την session variable.


Γενικά καλύτερα να μας εξηγήσεις ποιος είναι ο αντικειμενικός στόχος της εφαρμογής μήπως μπορέσουμε να προτείνουμε και κάποια άλλη λύση.
Ωραία ας τα πάρουμε τα πράγματα με τη σείρα. Γιατι νομίζω δεν εξηγήθηκα σωστά.

Εχω δύο σελίδες την index.php και την forma.php.
Στην index.php έχω ένα textbox όπου πληκρολογώ στοιχεία. Ταυτόχρονα με την πληκτρολόγηση τρέχει και μια συνάρτηση, με αποτέλεσμα να ενεργοποιεί το μετρητή του span:

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

<span id="accuracyValue">0</span>
Ουσιαστικά η τιμή του span καθορίζεται από την πληκτρολόγηση στο textbox, γιατί η συνάρτηση που τρέχει μετράει την ακρίβεια της πληκτρολόγησης που κάνω στο textbox.
Τώρα ο μόνος τρόπος να καλέσω την δεύτερη σελίδα, την forma.php είναι όταν τελειώσω με την πληκτρολόγηση στο textbox. "Πετάγεται" ένα popup message το οποίο με ενημερώνει ότι τελείωσα με την πληκτρολόγηση, και πατώντας το "οκ", κάνει redirect στην forma.php. Σε αυτή τη φόρμα θέλω να φωρτώσω σε ένα πεδίο την τιμή του span.

Η συνάρτηση είναι σε javascript

Άβαταρ μέλους
billaki84
Δημοσιεύσεις: 38
Εγγραφή: 28 Μαρ 2011 15:45

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από billaki84 » 20 Απρ 2012 20:18

Το δοκίμασα έτσι:

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

"page2.php?value1=" + μεταβλητή που καθορίζει την τιμή;
Και δείχνει να δουλεύει. Τουλάχιστον βλέπω ότι περνάει την τιμή που φαίνεται στο span. Υπάρχει περίπτωση να έχω κάποιο πρόβλημα στην πορεία με τον τρόπο αυτό;

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

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από korgr » 20 Απρ 2012 20:24

Ε τότε χρησιμοποιείς στο redirect κάτι σαν

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

document.location.href ="page2.php?value1=" + numberOfSpans;
έτσι κι αλλιώς την τιμή που θες να περάσεις την έχεις σε js

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

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από korgr » 20 Απρ 2012 20:24

edit
τώρα είδα πως το έκανες έτσι
Όχι δεν θα έχεις πρόβλημα.

Άβαταρ μέλους
billaki84
Δημοσιεύσεις: 38
Εγγραφή: 28 Μαρ 2011 15:45

[SOLVED]Μεταφορά τιμής από τη μια σελίδα στην άλλη!

Δημοσίευση από billaki84 » 20 Απρ 2012 20:26

korgr έγραψε:edit
τώρα είδα πως το έκανες έτσι
Όχι δεν θα έχεις πρόβλημα.
Ευχαριστώ πάρα πολύ για το χρόνο σου και τη βοήθεια φίλε. Να' σαι καλά!

Απάντηση

Επιστροφή στο “HTML και XHTML”

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

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