Frage

Ich mag auf Benutzereingaben auf einer Seite, zu speichern, die in einer PHP-Variablen und verwenden Sie es in einer anderen PHP-Seite zu bekommen. Ich habe versucht, ‚Sitzungen‘ verwenden, aber es scheint nicht zu funktionieren. Gibt es eine andere sichere Alternative? Diese Informationen sind wahrscheinlich Benutzernamen und Passwörter sein.

War es hilfreich?

Lösung

Versuchen Sie, Ihren Session-Code zu ändern, da dies der beste Weg ist, dies zu tun.

Zum Beispiel:

index.php

<?php
session_start();

if (isset($_POST['username'], $_POST['password']) {
    $_SESSION['username'] = $_POST['username'];
    $_SESSION['password'] = $_POST['password'];
    echo '<a href="nextpage.php">Click to continue.</a>';
} else {
    // form
}
?>

nextpage.php

<?php
session_start();

if (isset($_SESSION['username'])) {
    echo $_SESSION['username'];
} else {
    header('Location: index.php');
}
?>

Allerdings würde ich wahrscheinlich etwas sicherer wie eine Benutzer-ID in einer Sitzung speichern, anstatt die Anmeldedaten des Benutzers.

Andere Tipps

ich mit carson Agree, Sitzungen sollten für diese Arbeit. Stellen Sie sicher, dass Sie fordern session_start () bevor irgendetwas anderes auf jeder Seite, um die Session-Variablen verwenden möchten.

Auch würde ich nicht durch ein Passwort speichert Infos direkt, sondern eine Art von Authentifizierungs-Token-Mechanismus verwenden. IMHO ist es nicht intrinsisch unsichere Passwortdaten in einer Sitzung zu speichern, aber wenn es keine Notwendigkeit, dies zu tun ist, sollten Sie vielleicht versuchen, es zu vermeiden.

Es gibt mehrere Möglichkeiten:

  • verwenden Sitzungen (aber vergessen Sie nicht, rufen < a href = "http://de2.php.net/manual/en/function.session-start.php" rel = "nofollow noreferrer"> session_start () auf jeder Seite finden Sie die Sitzungsdaten verwenden Shop ( $ _SESSION ))
  • Ihre Daten an die Query-String der "nächsten" Seite anhängen ( $ _ GET )
  • Geben Sie Ihre Daten an den "nächsten" Seite ( $ _POST )

Der Session-Weg ist der einzige Weg, auf das die Daten auf den Server nicht „verlassen“, wie es auf dem Server selbst gespeichert ist. Für alle anderen Möglichkeiten, über die Sie erwähnt haben, kümmern Hygienisierung und die Daten auf der Empfangsseite validiert werden.

Der einfachste Weg wäre

//page1.php
session_start();
$_SESSION['user']='user';
$_SESSION['password']='password';

//page2.php
session_start();
echo $_SESSION['user'] . ' ' . $_SESSION['password'];

Sie können versuchen, POST und GET-Methoden für die Benutzereingaben in PHP-Skripten zu übertragen.

PHP GET

PHP POST

ich auch zustimmen, Sitzungen sind die beste Lösung. Sehen Sie dieses Kapitel von Webdatenbank-Applikationen mit PHP & MySQL für einige Beispiele.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top