PHP-Variable zur nächsten Seite übergeben

Lesezeit: 7 Minuten

PHP Variable zur nachsten Seite ubergeben
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!

  • 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

PHP Variable zur nachsten Seite ubergeben
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, das hat geholfen, das Problem war, dass ich auf der ersten Seite eine Reihe von Variablen hatte, also habe ich ein Array mit all diesen Variablen erstellt und es mithilfe von Sitzungen an die nächste Seite gesendet.

    – Carlo

    19. Mai 2009 um 17:04 Uhr

  • Schweet 🙂 Freut mich, dass ich helfen konnte.

    – Jrgns

    20. Mai 2009 um 2:36 Uhr

  • Nitpick: Sitzungen in PHP werden im Allgemeinen auch von Cookies verwaltet. Das Sitzungscookie ist kein dauerhaftes Cookie und enthält normalerweise einfach nur die Sitzungs-ID. Aber es ist immer noch ein Keks.

    – Anständiger Dabbler

    27. Januar 2010 um 5:26 Uhr

  • Um auf meinen eigenen Kommentar einzugehen. Der Grund dafür ist, dass HTTP, wie Sie sagten, zustandslos ist. Daher benötigt PHP noch eine Möglichkeit, die Sitzung zu identifizieren. Dazu wird auf dem Client ein Cookie mit einer Session-ID gespeichert. Wenn Cookies clientseitig deaktiviert sind, verwendet PHP manchmal $_GET-Variablen, um die Sitzungs-ID an Links zwischen Seiten anzuhängen. Dies gilt jedoch allgemein als unsicher und wird daher von den meisten Webservern (php.ini) generell deaktiviert.

    – Anständiger Dabbler

    27. Januar 2010 um 5:38 Uhr


  • @fireeyedboy PHP-Sitzungen können auch mit GET- und POST-Variablen weitergegeben werden. Am Ende des Tages vereinfachen Sessions das Übergeben von Variablen von einer Seite zur nächsten, da nur ein Datenelement übertragen werden muss: die Session-ID. Diese Sitzungs-ID wird dann verwendet, um die zuvor gespeicherten Daten abzurufen.

    – Jrgns

    9. Februar 2012 um 11:34 Uhr

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.

  • Ihr Beispiel funktioniert auch ohne Sitzungen und erhält die Daten tatsächlich nicht über den Sitzungsmechanismus (in get_reg.php). Sie senden regName über ein Formular mit der get-Methode, wie von Jrgns erklärt. Die Variable ist somit auf der Seite get_reg.php über das Array $_GET zugänglich.

    – Metatron

    11. März 2012 um 14:11 Uhr

1647063252 808 PHP Variable zur nachsten Seite ubergeben
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!

1647063252 895 PHP Variable zur nachsten Seite ubergeben
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.

PHP Variable zur nachsten Seite ubergeben
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;
?>

1647063253 106 PHP Variable zur nachsten Seite ubergeben
Alo

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

1647063253 575 PHP Variable zur nachsten Seite ubergeben
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'];
}

992800cookie-checkPHP-Variable zur nächsten Seite übergeben

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy