php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.10.2009, 16:57  
Benutzer
 
Registriert seit: 30.03.2009
Beiträge: 57
PHPcreator befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] if abfrage -> seite einbinden

Servus,

is der letzte beitrag für heute bin dann am Ende meiner Nerven

Hintergrund zu dem doch nicht Aussagekräftigen Thread ist folgendes:

1) Ich habe eine PW-Abfrage gemacht mit dem POST-Method
2) jetzt habe ich geprüft obs PW stimmt.
3) Falls es stimmt (PW und User), dann soll er eine komplette seite angezeigt bekommen, welche IM Quelltext integriert ist. Mit dieser Seite kann man Termine bearbeiten oder erstellen

Problem ist jetzt, wenn ich die Seite einfach so einfüge if (username == username && pw = pw) { SEITENQUELLCODE } dann geht das beim Editieren von den Terminen in die hose weil er IMMER die Abfrage tätigen will!

versteht ihr was ich meine?

hier nen ausschnitt:

anmelden.php
PHP-Code:
<form action="check.php" method="POST">
<
font face="Arial"><b>AdministrationsbereichAnmeldung erforderlich...<br><br></b></font>
<
table>
<
tr>
<
td>
<
font face="Arial">Benutzername: </font>
</
td>
<
td>
<
input type="text" name="user">
</
td>
</
tr>
<
tr>
<
td>
<
font face="Arial">Passwort: </font>
</
td>
<
td>
<
input type="password" name="pass">
</
td>
</
tr>
<
tr>
<
td>
&
nbsp;
</
td>
<
td>
<
input type="submit" name="absenden" value="Anmelden">
</
td>
</
tr>
</
table>
</
form


check.php (Teilauszug)
PHP-Code:
<?php
error_reporting
(E_ALL);

$passwort "test";
$username "admin";

$user $_POST['user'];
$pass $_POST['pass'];

if (
$user == $username && $pass == $passwort)
{


require_once(
"einstellungen.inc.php");
$diese_datei basename($_SERVER["SCRIPT_NAME"]);

$p_beschreibung = (isset($_POST["beschreibung"]) ? $_POST["beschreibung"] : "");
$p_zusatz = (isset($_POST["zusatz"]) ? $_POST["zusatz"] : ""); [...] //jetzt wird nur noch die seite dargestellt
folgenden Code hab ich gebastelt


Sollte ich dann einen Termin ändern, will er ja die [Erledigt] if abfrage -&gt; seite einbinden und sucht immer nach $_POST["user"] und $_POST["pass"]

Klar, kann ichs mit nem include machen - aber dann ist ja die seite wo man es editiert nicht passwortgeschützt und über ne URL erreichbar!

Oder kann man auf der seite prüfen, dass man von der check.php kommt und sie dann für einen sichtbar wird? Wenn ja, wie soll das funktionieren?

Ihr seht ich hab mir ja schon gedanken gemacht.

danke,
creator
PHPcreator ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.10.2009, 17:29  
Erfahrener Benutzer
 
Registriert seit: 18.01.2009
Beiträge: 128
PHP-Kenntnisse:
Fortgeschritten
CPCoder wird schon bald berühmt werden
Standard

Stichwort: Sessions
CPCoder ist offline  
Alt 12.10.2009, 17:29  
Neuer Benutzer
 
Benutzerbild von mixas
 
Registriert seit: 12.10.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
mixas befindet sich auf einem aufstrebenden Ast
Standard

versuch mal mit $_SESSION.

benutzername un passwort korrekt - setze eine session-variable z.b. $_SESSION['logged_in'] = 1;

und weiter brauchst Du nur abzufragen ob die variable gesetzt war oder nicht
mixas ist offline  
Alt 13.10.2009, 16:39  
Benutzer
 
Registriert seit: 30.03.2009
Beiträge: 57
PHPcreator befindet sich auf einem aufstrebenden Ast
Standard

hey mixas,

danke! Ich habe jetzt auf der anmeldeseite die session[logged_in] auf 0 gesetzt. dann kommt er bei richtiger eingabe von user und PW auf die seite check.php, welche so aussieht:

PHP-Code:
<?php
error_reporting
(E_ALL);

$passwort "test";
$username "admin";

$user $_POST['user'];
$pass $_POST['pass'];

if (
$user == $username && $pass == $passwort)
{
$_SESSION['logged_in'] = 1;
include 
"edit.php";
}
else
{
  echo 
"Zugriff verweigert";
}
?>
jetzt included er die edit.php (wo man das termine bearbeiten kann) OK.

Der anfang der edit.php schaut so aus:

PHP-Code:
<?php
error_reporting
(E_ALL);
if (
$_SESSION['logged_in'] = 1)
{
require_once(
"einstellungen.inc.php");
$diese_datei basename($_SERVER["SCRIPT_NAME"]);
er zeigt die auch an, ABER rufe ich die edit.php auf ohne mich anzumelden, zeigt er sie mir auch an und gibt für die VAR $_SESSION["logged_in"] den Wert 1 aus?

Ich habe leider noch nicht mit Sessions gearbeitet ist ne feine Sache und sobald ich das Problem hier durch habe werde ich mir alles genauer anschauen und experimentieren. Leider eilt das Problem aber gerade sehr

Ich müsste ja die Session so verwenden, dass sie irgendwie wo zwischengespeichert wird! und dann nen button ausloggen, wo sie auf 0 gesetzt wird...
aber wie speicher ich die andauernd zwischen?

Geändert von PHPcreator (13.10.2009 um 16:48 Uhr).
PHPcreator ist offline  
Alt 13.10.2009, 17:42  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Ich müsste ja die Session so verwenden, dass sie irgendwie wo zwischengespeichert wird! und dann nen button ausloggen, wo sie auf 0 gesetzt wird...
aber wie speicher ich die andauernd zwischen?
Genau das ist der Sinn von Sessions und passiert quasi automagisch.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 13.10.2009, 17:47  
Neuer Benutzer
 
Benutzerbild von mixas
 
Registriert seit: 12.10.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
mixas befindet sich auf einem aufstrebenden Ast
Standard

in edit php ist die if-abfrage falsh.
anstatt if ($_SESSION['logged_in'] = 1) sollte man if ($_SESSION['logged_in'] == 1) schreiben
und noch besser am anfang jeder datei, die nur für eingeloggte user aufgerufen werden darf, füge eine zeile ein:

if(!isset($_SESSION['logged_in']) or empty($_SESSION['logged_in'])) { header("location:http://www.deine-seite.de"); exit; }
mixas ist offline  
Alt 13.10.2009, 18:25  
Benutzer
 
Registriert seit: 30.03.2009
Beiträge: 57
PHPcreator befindet sich auf einem aufstrebenden Ast
Standard

jopp mit dem isset hab ich grad in nem session tutorial gelesen THX

jetzt fehlt mir nur noch ein schritt... wie bekomme ich am BESTEN die Session mitgenommen von der einen auf die andere seite (sind immer formulare..) muss ich die als input hidden mitnehmen?
PHPcreator ist offline  
Alt 13.10.2009, 18:33  
Neuer Benutzer
 
Benutzerbild von mixas
 
Registriert seit: 12.10.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
mixas befindet sich auf einem aufstrebenden Ast
Standard

das passiert automatisch. vergiss aber nich am anfang der datei
session_start();
mixas ist offline  
Alt 14.10.2009, 18:12  
Benutzer
 
Registriert seit: 30.03.2009
Beiträge: 57
PHPcreator befindet sich auf einem aufstrebenden Ast
Standard

füge ich folgendes ein kommt es zum fehler: Parse error:syntax error, unexpected T_LOGICAL_OR also mit dem isset

Geändert von PHPcreator (14.10.2009 um 18:17 Uhr).
PHPcreator ist offline  
Alt 14.10.2009, 18:18  
Neuer Benutzer
 
Benutzerbild von mixas
 
Registriert seit: 12.10.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
mixas befindet sich auf einem aufstrebenden Ast
Standard

was fügste ein?
mixas ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe, Seite im Internet Explorer Buggy trowman HTML, Usability und Barrierefreiheit 4 15.09.2008 08:32
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
MySQL Abfrage macht Seite langsam Datenbanken 11 19.10.2006 19:38
externe PHP Seite in HTML-Tabelle einbinden meisterigel PHP Tipps 2006 1 03.07.2006 21:58
Abfrage ob Seite am Server vohanden. fender PHP Tipps 2006 2 18.06.2006 11:03
wie php in nicht-php seite einbinden janni PHP Tipps 2005 9 09.05.2005 20:31
Die DB Abfrage bringt mich nicht auf die richtige Seite PHP Tipps 2005 12 23.04.2005 21:24
Bild aus DB in Seite einbinden PHP Tipps 2005 8 10.04.2005 15:30
Seite in Seite PHP-Fortgeschrittene 3 15.03.2005 19:27
[Erledigt] MYSQL Abfrage -&gt; Ergebnisse auf anzahl per seite begrenze PHP Tipps 2004-2 2 21.11.2004 21:28
Google und DMOZ in meine Seite einbinden PHP Tipps 2004 1 10.09.2004 16:06
functionen in ein andere seite einbinden... imported_DJ Nuno PHP Tipps 2004 10 18.08.2004 11:59
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00
"NEWS-SCRIPT" in eine Seite einbinden: Aber wie ? PHP Tipps 2004 2 03.07.2004 16:33
[Erledigt] PHP Eine neue PHP seite automatisch öffnen PHP Tipps 2004 1 19.06.2004 12:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php seiten einbinden if, if abfrage in html code einbetten, html in php if einbinden, php if in html einbinden, seite einbinden php if, if abfrage seite öffnen php, bei richtiger antwort andere seite einbinden php, anfrage als html einbinden

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum