Post Μεταβλητές και Redirect

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

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

Απάντηση
freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Post Μεταβλητές και Redirect

Δημοσίευση από freds » 16 Δεκ 2005 10:29

Καλημέρα

Να ρωτήσω κάτι. Πως μπορώ να μεταφέρω τιμές μεταβλητών από μία σελίδα σε μία άλλη με redirect και με χρήση της post και όχι της get

Δηλαδή αν γράψω το παρακάτω θα πρέπει να γράψω στην mypage.php $metabliti=$_GET["metabliti1"] για να πάρω την τιμή της μεταβλητής.

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

  $redirect = "mypage.php?metabliti1=timi1";

  header(sprintf("Location: %s", $redirect ));
Με αυτό τον τρόπο η τιμή της μεταβλητής φαίνεται στο address bar του browser. Αν θέλω όμως η τιμή της μεταβλητής να είναι κρυφή (hidden) τι κάνω; Μάλλον πρέπει να την στείλω με Post. Αλλά αυτό στο συγκεκριμένο πως γίνεται;

Δεν χρειάζεται να γίνει μόνο με την redirect εντολή. Αν υπάρχει άλλος τρόπος όπως με αυτόματο submit κάποιας φόρμας. Αυτό που θέλω δηλαδή είναι να γίνονται κάποια πράγματα σε μια σελίδα και μετά αυτόματα να μεταφέρεται ο χρήστης σε μια άλλη αλλά χωρίς να φαίνεται η τιμή της μεταβλητής στο address bar.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από Rapid-eraser » 16 Δεκ 2005 11:04

meso tou header() function exw tnv evtiposi pos dev mporeis va dimiourgiseis post method.
Opote 8a prepei va katafigeis se alli me8odo...
kavovtas get kai apo8ikebovtas tis metablites se eva session px
n se eva flat file

n kavovtas eva curl request ( pou ekei exeis post efkola ) kai dixvovtas to apotelesma stov xristi (dev 8a allaksei bebea etsi to url kai 8a paramivei to palio kribovtas stnv ousia to url pou ekaves to post. )

Telos gia tou hardcore xristes iparxei kai to fopen (Paradigma apo Zend) :P
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Post Μεταβλητές και Redirect

Δημοσίευση από skeftomilos » 16 Δεκ 2005 12:36

Πώς θα γίνει η μετακίνηση από τη μια σελίδα στην άλλη; Θα πατήσει ο χρήστης κάποιο link; Αν, ναι, μπορεί τότε να γίνει ένα post request με JavaScript.

Πάντως προτιμώ να αποφεύγω τα πολλά post requests. Αν μετά ο χρήστης πάει να κάνει refresh, του βγαίνει ένα αποκρουστικό μήνυμα.

Εικόνα
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από Rapid-eraser » 16 Δεκ 2005 12:50

malov evoei redirect mesa stov kodika
stelvovtas stous headers tou respond tou server side
meso header() ...
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Post Μεταβλητές και Redirect

Δημοσίευση από freds » 16 Δεκ 2005 14:05

To ψάχνω λίγο ακόμα και θα σας πω.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από ThyClub » 16 Δεκ 2005 14:21

Προσωπικά πιστεύω οτι ενα session θα ταίριαζε γάντι στην περίπτωση σου :wink:

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από Basilakis » 16 Δεκ 2005 15:26

Egw pali ++fwnw me ton rapido. Poo efkolo kai grhgoro. Afou thelei na exei kai tis metablhtes!

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Post Μεταβλητές και Redirect

Δημοσίευση από skeftomilos » 16 Δεκ 2005 16:34

Στην ASP και ASP.NET υπάρχουν οι μέθοδοι Response.Redirect και Server.Transfer.

1) H Response.Redirect στην ουσία στέλνει έναν header 'Location' στον browser. Το redirect γίνεται client-side.

2) Η Server.Transfer μεταφέρει το processing σε άλλη σελίδα server-side. Είναι πιο γρήγορη γιατί είναι πιο άμεση. Τα POST data διατηρούνται και είναι διαθέσιμα στη δεύτερη σελίδα. Η διεύθυνση που βλέπει ο χρήστης δεν αλλάζει, δηλαδή όπως περιγράφει και ο Rapid με την CURL.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από ThyClub » 16 Δεκ 2005 17:37

Τι πιο εύκολο και γρήγορο απο ενα :
<?php

session_start();
$_SESSION['timi1']=$_GET['timi1'];
ktl ktl

...

redirect = "mypage.php";

header(sprintf("Location: %s", $redirect ));

?>
:wink:

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Post Μεταβλητές και Redirect

Δημοσίευση από freds » 16 Δεκ 2005 17:53

ok guys Το έκανα με GET τελικά.

Βρήκα και το παρακάτω που ίσως να έκανε την δουλειά αυτή.

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

<form action="mypage.php" method="post" name="myForm">
  <input type="hidden" name="metavliti1" value="timi1">
<input type="submit" name="autoLoader" value="NULL">
</form>

<script>
document.myForm.autoLoader.click&#40;&#41;; 
</script>
Μάλλον θα λειτουργούσε. Αλλά το πρόβλημα είναι ότι εμφανίζει το κουμπί. Αν έγραφα document.myForm.Submit(); χωρίς να εμφάνιζα κάποιο κουμπί
ίσως να μην υπήρχε πρόβλημα αλλά δεν το προσπάθησα καθόλου.

Με Session ίσως να γινότανε αλλά υπήρχε στο ενδιάμεσο αλλαγή domain και δεν ήξερα πως θα λειτουργούσε.

Αυτά.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από ThyClub » 16 Δεκ 2005 21:47

Σ αυτό :

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

<input type="submit" name="autoLoader" value="NULL">
κάντο :

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

<input type="submit" name="autoLoader" value="NULL" style="display&#58;none">
και δεν θα φαίνεται ούτε το κουμπί. :wink:

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Post Μεταβλητές και Redirect

Δημοσίευση από skeftomilos » 17 Δεκ 2005 09:55

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

document.forms&#91;'myForm'&#93;.submit&#40;&#41;
ThyClub το style="display:none" θα μπορούσε να μπει και στη φόρμα! :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Post Μεταβλητές και Redirect

Δημοσίευση από cherouvim » 18 Δεκ 2005 18:54

I JS lysi doulevei alla mono me javascript enabled. Skeftomai pios einai o kalyteros tropos mias kai ego se ligo kairo tha hriastei na ftiakso mia forma i opoia molis ginete submit sto script mou sto server mou, tha apothikevei ta dedomena sti vasi alla meta thelo na kano redirect to idio request se ena allo script ekso apo ton server mou.

Απάντηση

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

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

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