
Carlo
Es scheint ziemlich einfach zu sein, aber ich kann keinen guten Weg finden, es zu tun.
Angenommen, auf der ersten Seite erstelle ich eine Variable
$myVariable = "Some text";
Und die Aktion des Formulars für diese Seite ist “Seite2.php”. Wie kann ich also in Page2.php auf diese Variable zugreifen? Ich weiß, dass ich es mit Sitzungen machen kann, aber ich denke, es ist zu viel für eine einfache Zeichenfolge, und ich muss nur eine einfache Zeichenfolge (einen Dateinamen) übergeben.
Wie kann ich das erreichen?
Danke!

Jrgns
HTML / HTTP ist zustandslos, mit anderen Worten, was Sie auf der vorherigen Seite getan / gesehen haben, ist völlig unabhängig von der aktuellen Seite. Außer wenn Sie so etwas wie Sitzungen, Cookies oder GET / POST-Variablen verwenden. Sitzungen und Cookies sind recht einfach zu verwenden, wobei Sitzungen bei weitem sicherer sind als Cookies. Sicherer, aber nicht vollständig sicher.
Sitzung:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
Denken Sie daran, die auszuführen session_start();
Anweisung auf diesen beiden Seiten, bevor Sie versuchen, auf die zuzugreifen $_SESSION
-Array und auch bevor eine Ausgabe an den Browser gesendet wird.
Plätzchen:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
Der große Unterschied zwischen Sitzungen und Cookies besteht darin, dass der Wert der Variablen auf dem Server gespeichert wird, wenn Sie Sitzungen verwenden, und auf dem Client, wenn Sie Cookies verwenden. Ich kann mir keinen guten Grund vorstellen, Cookies anstelle von Sitzungen zu verwenden, außer wenn Sie möchten, dass Daten zwischen den Sitzungen bestehen bleiben, aber selbst dann ist es vielleicht besser, sie in einer DB zu speichern und sie basierend auf einem Benutzernamen oder einer ID abzurufen.
GET und POST
Sie können die Variable im Link zur nächsten Seite hinzufügen:
<a href="https://stackoverflow.com/questions/871858/page2.php?varname=<?php%20echo%20$var_value%20?>">Page2</a>
Dadurch wird eine GET-Variable erstellt.
Eine andere Möglichkeit besteht darin, ein verstecktes Feld in ein Formular einzufügen, das an Seite zwei gesendet wird:
<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
Und dann auf Seite zwei:
//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
Ändern Sie einfach die Methode für das Formular in post
wenn du es per post machen willst. Beide sind gleichermaßen unsicher, obwohl GET leichter zu hacken ist.
Die Tatsache, dass jede neue Anfrage, mit Ausnahme von Sitzungsdaten, eine völlig neue Instanz des Skripts ist, hat mich überrascht, als ich anfing, in PHP zu programmieren. Wenn man sich daran gewöhnt hat, ist es aber ganz einfach.
Danke für die Antworten oben. Hier ist, wie ich es gemacht habe, ich hoffe, es hilft denen, die folgen. Ich möchte daher eine Registrierungsnummer von einer Seite zur anderen weitergeben RegName und regWert:
Erstellen Sie Ihre erste Seite, nennen Sie sie set_reg.php:
<?php
session_start();
$_SESSION['regName'] = $regValue;
?>
<form method="get" action="get_reg.php">
<input type="text" name="regName" value="">
<input type="submit">
</form>
Erstellen Sie Ihre zweite Seite, nennen Sie sie get_reg.php:
<?php
session_start();
$regValue = $_GET['regName'];
echo "Your registration is: ".$regValue.".";
?>
<p><a href="https://stackoverflow.com/questions/871858/set_reg.php">Back to set_reg.php</a>
Obwohl nicht so umfassend wie die obige Antwort, veranschaulicht dies für meine Zwecke auf einfache Weise die Beziehung zwischen den verschiedenen Elementen.

Paul Dixon
Übergeben von Daten in der Anfrage
Sie können es entweder als ausgeblendetes Feld in Ihr Formular einbetten oder es Ihrer Formularaktions-URL hinzufügen
echo '<input type="hidden" name="myVariable" value="'.
htmlentities($myVariable).'">';
oder
echo '<form method="POST" action="Page2.php?myVariable=".
urlencode($myVariable)."">";
Beachten Sie, dass dies auch die Verwendung von veranschaulicht htmlentitäten und URL-Code bei der Weitergabe von Daten.
Übergeben von Daten in der Sitzung
Wenn die Daten nicht an die Clientseite übergeben werden müssen, sind Sitzungen möglicherweise besser geeignet. Einfach anrufen session_start() am Anfang jeder Seite, und Sie können Daten in das $_SESSION-Array abrufen und setzen.
Sicherheit
Da Sie angeben, dass Ihr Wert tatsächlich ein Dateiname ist, müssen Sie sich der Auswirkungen auf die Sicherheit bewusst sein. Wenn der Dateiname von der Clientseite eingetroffen ist, gehen Sie davon aus, dass der Benutzer den Wert manipuliert hat. Prüfen Sie es auf Gültigkeit! Was passiert, wenn der Benutzer den Pfad zu einer wichtigen Systemdatei oder einer Datei unter seiner Kontrolle übergibt? Kann Ihr Skript verwendet werden, um den Server nach Dateien zu “untersuchen”, die existieren oder nicht existieren?
Da Sie hier offensichtlich gerade erst anfangen, sollten Sie daran erinnern, dass dies für alle Daten gilt, die in $_GET, $_POST oder $_COOKIE ankommen – nehmen Sie an, Ihr schlimmster Feind hat den Inhalt dieser Arrays erstellt, und codieren Sie entsprechend!

Ravi Sharma
Es gibt drei Methoden, um Werte in PHP zu übergeben.
- Per Post
- Durch bekommen
- Indem Sie die Sitzung variabel machen
Diese drei Methoden werden für unterschiedliche Zwecke verwendet. Wenn wir beispielsweise unseren Wert auf der nächsten Seite erhalten möchten, können wir die Methode “post” ($_POST) verwenden als: –
$a=$_POST['field-name'];
Wenn wir den Wert der Variablen auf mehr als einer Seite benötigen, können wir die Sitzungsvariable wie folgt verwenden:
$a=$_SESSION['field-name];
Bevor wir diese Syntax zum Erstellen der SESSION-Variablen verwenden, müssen wir dieses Tag zuerst ganz am Anfang unserer PHP-Seite hinzufügen
session_start();
GET-Methode werden im Allgemeinen verwendet, um Daten auf derselben Seite zu drucken, die früher Eingaben vom Benutzer entgegengenommen hat. Seine Syntax lautet wie folgt:
$a=$_GET['field-name'];
Die POST-Methode ist im Allgemeinen sicherer als die GET-Methode, da sie bei Verwendung der Get-Methode die Daten in der URL-Leiste anzeigen kann. Wenn es sich bei den Daten um sensiblere Daten wie ein Passwort handelt, kann es sich um Inggeris handeln.

Bhargav Chudasama
versuchen Sie diesen Code
Mit verstecktem Feld können wir PHP-Variablen an eine andere Seite übergeben
Seite1.php
<?php $myVariable = "Some text";?>
<form method="post" action="page2.php">
<input type="hidden" name="text" value="<?php echo $myVariable; ?>">
<button type="submit">Submit</button>
</form>
Übergeben Sie die PHP-Variable an den Wert des versteckten Felds, damit Sie auf diese Variable auf einer anderen Seite zugreifen können
Seite2.php
<?php
$text=$_POST['text'];
echo $text;
?>

Alo
Sitzungen wären der einzig gute Weg, Sie könnten auch GET/POST verwenden, aber das wäre potenziell unsicher.

Prafulla Kumar Sahu
**page 1**
<form action="exapmple.php?variable_name=$value" method="POST">
<button>
<input type="hidden" name="x">
</button>
</form>`
Seite 2
if(isset($_POST['x'])) {
$new_value=$_GET['variable_name'];
}
9928000cookie-checkPHP-Variable zur nächsten Seite übergebenyes
Das Beste und Einfachste, Variablen zu übergeben, ist, wie ich es hier erklärt habe: stackoverflow.com/questions/14465464/…
– Jaro
9. Januar 2015 um 3:59 Uhr