Ich bin neu in $_SESSIONS
, aber es muss Variablen zwischen verschiedenen PHP-Dateien wiederverwendet werden. Im folgenden Code möchte ich die Variable $word
in einer anderen PHP-Datei verwenden, aber ich bin mir nicht sicher, wie das geht.Verwenden Sie SESSIONS Variablen zwischen verschiedenen PHP-Dateien
Meine php-Datei sieht wie folgt aus:
<?php
if (isset($_POST["search"])) {
//include database connection
$word = mysql_real_escape_string($_POST["search"]);
$word = htmlentities($word);
$sql = ("SELECT task_id, task_date FROM customer JOIN task ON customer.id = task.customer_id WHERE mobil = $word ORDER BY task_date DESC LIMIT 0, 10");
$results = mysql_query($sql);
if (mysql_num_rows($results)==0) {
echo $word, " text bla";
}else {
echo $word, " text bla bla";
while ($row = mysql_fetch_assoc($results)) {
echo '<pre>', print_r($row), '<pre>';
}
}
}?>
Wir freuen uns auf Ihre Anregungen.
--- UPDATE Sessions arbeiten immer noch nicht auf page2.php? ---
Ich verstehe nicht, warum $_SESSION
nicht funktionieren. One page1.php Ich kann echo($_SESSION['word'])
und bekomme den richtigen Wert, aber eine page2.php bekomme ich ('$'."_SESSION['word'] isn't set because you had never been at file one");
Ich testete alle der folgenden Lösungen, aber keiner von ihnen arbeitete = das gleiche Ergebnis auf page2.php.
Meine page1.php Datei.
<?php
session_start();
//if we got something through $_POST
if (isset($_POST["search"])) {
// include database connection
$connect = mysql_connect('localhost', 'root', 'NomiS123') or die(mysql_error());
mysql_select_db('workcard');
// sanitize user input
$word = mysql_real_escape_string($_POST["search"]);
$word = htmlentities($word);
// build search query to the database
$sql = ("SELECT task_id, task_date FROM customer JOIN task ON customer.id = task.customer_id WHERE mobil = $word ORDER BY task_date DESC LIMIT 0, 10");
// get results
$_SESSION['word'] = $word;
$results = mysql_query($sql);
if (mysql_num_rows($results)==0) {
$_SESSION['word'] = $word;
echo($_SESSION['word']. "<br>");
var_dump($_SESSION);
echo "<br>";
echo "link link <br>";
echo "<a href=\"../page2.php/\">new card</a> <br>";
echo "<a href=\"//cykelc/\">New Search</a>";
} else {
echo $word, " bla bla text <br> Create card <br>";
echo "Edit info on: ", $word, "<br>";
echo "<a href=\"//cykelc/\">New Search</a> <br>";
while ($row = mysql_fetch_assoc($results)) {
echo '<pre>', print_r($row), '<pre>';
}
//$results->free();
}
}
// mysql_close($connect);
?>
Meine page2.php Datei.
<?php
session_start();
if(isset($_SESSION['word'])) {
$word = $_SESSION['word'];
echo($word);
} else {
die('$'."_SESSION['word'] isn't set because you had never been at file one");
}
?>
Ich werde verrückt darüber.
UPDATE - GELÖST
ich alle folgenden Vorschläge getestet, aber keiner von ihnen arbeitete was seltsam war, weil ich einstellen könnte und Echo aus den sesson_id()
auf page1.php und page2.php, sondern auf page2. php Ich habe eine andere sesson_id()
. Ich begann meine Einstellungen für die MAMP-Sitzungen zu überprüfen, aber alles war korrekt eingestellt. Die Lösung war "einfach" die session_start();
ganz oben auf page2.php zu platzieren. Und ganz oben meine ich vor alles auch die <!DOCTYPE html>
usw.
Gelöst + Lektion :-)
hilft Ihnen bei Google verboten sind? http://php.net/manual/en/session.examples.basic.php http://www.tizag.com/phpT/phpssessions.php – Cheery
Bitte, [benutzen Sie nicht mysql_ * 'Funktionen] (http : //stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php), Sie werden nicht mehr gewartet und sind [offiziell veraltet] (https://wiki.php.net/ rfc/mysql_deprecation). Erfahren Sie stattdessen [vorbereitete Aussagen] (http://en.wikipedia.org/wiki/Prepared_statement) und verwenden Sie [PDO] (http://us1.php.net/pdo) oder [MySQLi] (http: // us1.php.net/mysqli). [Dieser Artikel] (http://php.net/manual/en/mysqlinfo.api.choosing.php) hilft Ihnen bei der Entscheidung. –
@Cherry Ich (immer und) habe bereits gelesen und getestet basierend auf dem PHP-Handbuch. Aber konnte es nicht funktionieren. – Nomis