• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

einen login mit php

Und was ist da das Problem? Abgesehen davon, dass immernoch das echo fehlt und der HTML-Code absolut falsch ist sehe ich keinen gravierenden Fehler in der php-Programmierung.
 
Werbung:
@ threadi: Ich verstehe nicht, wo das problem liegt, wenn da
PHP:
<?php $PHP_SELF; ?>
steht. Ich meine, das ist keine Erfindung von mir. Ich habe es nur aus diversen Turtorials übernommen. Selbst in Fachbüchern steht das so drinne. Meines Wissens nach würde auch die Variable an sich reichen und das echo bezweckt nur, dass der Variableninhalt auch im Quellcode den der Users bekommt steht. Es funktioniert auch ohne echo.
 
Werbung:
Ich geb euch mal den Ganzen HTML Quelltext:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
<title>login selsCT</title>
 <meta name="author" content="selsCT">
   <meta name="editor" content="html-editor phase 5">
   <meta name="page-type" : content="Private Homepage">
   <meta name="audience" : content="all ">
   <meta name="robots" : content="index,follow">
    <content-language : content="de (Deutsch)">
  <div style="background-image:url(selsCT-logo-final.gif); margin:1px; padding:36px; padding top:30px; ">
    </div>
   <style type="text/css">
     /*Credits: CSSpplay */
     /*URL: http://www.cssplay.co.uk/menus/pro_one */
     .menu1 {padding:0 0 0 32px; margin:0; list-style:none; height:35px; background:#fff url(button1.gif); position:relative; border:1px solid #000; border-width:0 1px; border-bottom:1px solid #444;}
     .menu1 li {float:left;}
     .menu1 li a {display:block; float:left; height:35px; line-height:35px; color:#aaa; text-decoration:none; font-size:11px; font-family:arial, verdana, sans-serif; font-weight:bold; text-align:center; padding:0 0 0 8px; cursor:pointer;}
     .menu1 li a b {float:left; display:block; padding:0 16px 0 8px;}
     .menu1 li.current a {color:#fff; background:url(button3.gif);}
     .menu1 li.current a b {background:url(button3.gif) no-repeat right top;}
     .menu1 li a:hover {color:#fff; background:#000 url(button2.gif);}
     .menu1 li a:hover b {background:url(button2.gif) no-repeat right top;}
     .menu1 li.current a:hover {color:#fff; background:#000 url(button3.gif); cursor:default;}
     .menu1 li.current a:hover b {background:url(button3.gif) no-repeat right top;}
    </style>
     </head>
  <ul class="menu1">
    <li><a href="selsCT Home.html"><b>Home</b></a></li>
    <li><a href=""><b>Über uns</b></a></li>
    <li><a href=""><b>Einige unserer Webseiten</b></a></li>
    <li><a href=""><b>Kontakt</b></a></li>
    <li><a href=""><b>selsCT Graphics</b></a></li>
   </ul>
 <center>
      <p style="width:1240spx; margin:1px; padding:100px; border: 1px solid #9D9DA1;">
      <font face="Arial">
      <div id="inhalt">
 <b>Du kannst diese Seite ohne ein Passwort nicht sehn!!!</b>
 <p>
  </p>
   <p>
    </p>
<form action="<?php $_SERVER["PHP_SELF"]; ?>" method="post">
    <input type="password" name="login" />
    <input type="submit" value="Login" />
</form>
<?php
if(!empty($_POST['login']))
    {if($_POST['login']=="23568")
         {setcookie('uspw','1',0,'/');

          header("Location:selsCT login ok.php");}
     else
         {echo "<img src="warning.gif">Das Passwort war falsch!";}
?>
</div>
  </font>
      </font>
      </p>
       <br/>
       <br/>
     </center>
     <body style="background-image:url(selsCT-background2.gif)">

      <div id="footer">
      <font face ="Arial">
    <br>
     <br>
      <br>
       <br>
        <br>
     <div id="footerMainlinks">
   <strong>
     <font size="-2">
       <div align="\&quot;center\&quot;"> <a href="" target="_blank">Entwickler</a> &nbsp;  | &nbsp; <a href="" target="_blank">Impressum</a>  &nbsp; |  &nbsp; <id="version_info">     <a href="mailto:[email protected]">Fragen?</a> &nbsp; | &nbsp; <a href="http://selscomputertutorial.blog-service.de/">Blog</a>    &nbsp; | &nbsp;  <a href="">Login</a>
        </div>
        <div id="footerAddition">
        <br>
       <p class="copyright"> © 2010-2011 selsCT
        </p>
        <div id="hrFooterMainlinksToFooterAddition" class="hr"><hr></div>
         </div>
        </font>
        </strong>
          </div>
          </font>
         </div>
       </body>
</html>
Auf der Seite sieht das dann so aus

" method="post">
PASSWORT ZEILE LOGIN BUTTON
Das Passwort war falsch!";} ?>
 
Himmel, dann schreib doch endlich

Code:
<form action="<?php [COLOR="red"]echo[/COLOR] $_SERVER["PHP_SELF"]; ?>" method="post">
 
threadi, pass auf mit deinen AAnführungszeichen! Die heben sich an Stellen aus, wo sie dass nicht sollten. Ich denke, da sollte eher
PHP:
<form action='<?php echo $_SERVER["PHP_SELF"]; ?>' method="post">
stehen.
@vitus37: Danke für die Aufklärung :-)
 
Werbung:
Falsch. Der Code zwischen <?php und ?> wird ja vom php-Parser ersetzt. D.h. wenn das

Code:
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

im Quellcode einer php-Datei mit Namen index.php steht, kommt im Browser das

Code:
<form action="index.php" method="post">

an. Keine Probleme mit Anführungszeichen oder ähnlichem. So wie Du es umgebaut hast ist es eher falsch, denn HTML-Attribute werden in doppelte Anführungszeichen gesetzt - völlig unabhängig davon woher die Werte der Attribute kommen.
 
komisch, du hast recht. Das verwirrt mich nun ein bisschen, aber verständlich ist es.

Ich nehm alles zurück, was ich behauptet habe. Meine Syntaxhervorhebung hat an dieser Stelle mal ausgesetzt.

Grüße
Stromi
 
Ich hab euch verstanden!OK OK... aber könnte mir jetzt jemand endlich mal den gesamten (richtigen)php code geben!(Ich kenne mich nun mal mit php kein bisschen
aus)
Ich danke schon mal im vorraus!!!
 
Werbung:
PHP:
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">            //Beim absenden des Formulars übergibt er die Eingabedaten an sich selber(./index.php)
    <input type="password" name="login" />                 //ein Eingabefeld erzeugen, das mit dem Namewert login versehen ist und die Eingabe maskiert
    <input type="submit" value="Login" />                  //absendebutton - sendet das formular ab ;-)
</form>
<?php                                                      //PHP einbinden...
if(!empty($_POST['login']))                               //die eingabe in das Login-Feld über $_POST abfangen und überprüfen,ob etwas eingegeben wurde
    {if($_POST['login']=="DEIN PASSWORT")             //Überprüfen, ob dass Passwort,welches ja in dem Array $_POST steht, dem erwarteten PW entspricht
         {setcookie('uspw','1',0,'/');                //Cookie setzten, mit dem Inhalt 1, einfach nur, um den Passwortgeschützten Seiten
                                                      //mitzuteilen,dass das Passwort richtig eingegeben wurde
          header("Location:./DEINPFAD/DEINESTARTSEITE.PHP");}  //dann auf die Startseite der Passwortgeschützten Seite umleiten mittels header()
     else                                             //wenn das Passwort falsch ist, dann soll er folgendes machen:
         {echo "Das Passwort war falsch!";}           //User darauf hinweisen via echo()
?>

Das ist deine index.php-Datei. Die andere Datei bleibt wie sie ist. An ihr hat sich nichts geändert.

Jetzt gibts aber mal ein lautes: "Danke, Meister!" für threadi und mich ;-D

Grüße
Stromi
 
Werbung:
Zurück
Oben