tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
878
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    08154711 08154711 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    218
    Hallo,

    Wie kann ich diesen Code auf der Webseite zentrieren? Da das zum Login gehört sollte ja session_start(); am anfang des Dokuments stehen. Habe das in ein div-tag gepackt aber da kam eine Fehlermeldung.


    PHP-Code:
    <?php
        error_reporting
    (E_ALL);
        include(
    "mysql.php");
        include(
    "functions.php");

        
    // Session starten
        
    session_start();
        include(
    "autologout.php");

        if(isset(
    $_POST['submit']) AND $_POST['submit']=='Einloggen'){
            
    // Falls der Nickname und das Passwort übereinstimmen..
            
    $sql "SELECT
                            ID
                    FROM
                            User
                    WHERE
                            Nickname = '"
    .mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                            Passwort = '"
    .md5(trim($_POST['Passwort']))."'
                   "
    ;
            
    $result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
            
    // wird die ID des Users geholt und der User damit eingeloggt
            
    $row mysql_fetch_assoc($result);
            
    // Prüft, ob wirklich genau ein Datensatz gefunden wurde
            
    if (mysql_num_rows($result)==1){
                 
    doLogin($row['ID'], isset($_POST['Autologin']));
                 echo 
    "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
                 echo 
    "Sie wurden erfolgreich eingeloggt.<br>\n".
                      
    "Zur <a href=\"index.php\">Startseite</a>\n";
            }
            else{
                 echo 
    "Sie konnten nicht eingeloggt werden.<br>\n".
                      
    "Nickname oder Passwort fehlerhaft.<br>\n".
                      
    "Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
            }
        }
        else{
            echo 
    "<form ".
                 
    " name=\"Login\" ".
                 
    " action=\"".$_SERVER['PHP_SELF']."\" ".
                 
    " method=\"post\" ".
                 
    " accept-charset=\"ISO-8859-1\">\n";
            echo 
    "Nickname :\n";
            echo 
    "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
            echo 
    "<br>\n";
            echo 
    "Passwort :\n";
            echo 
    "<input type=\"password\" name=\"Passwort\">\n";
            echo 
    "<br>\n";
            echo 
    "eingeloggt bleiben :\n";
            echo 
    "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
            echo 
    "<br>\n";
            echo 
    "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
            echo 
    "<br>\n";
            echo 
    "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"registrierung.php\">registriert</a>?\n";
            echo 
    "</form>\n";
        }
    ?>
     

  2. #2
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    HTML-Code:
    <div style="text-align: center;"></div>
    Kannst du direkt nach session_start(); aufrufen. Der Endtag muss dann natürlich hinter dem zu zentrierenden Text stehen. Alternativ kannst du nach ob_start(); und ob_end_flush(); nutzen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  3. #3
    08154711 08154711 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    218
    Danke für die schnelle Antwort, kann dem aber nicht folgen. Das Div hinter session_start(); eintragen?
     

  4. #4
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Entweder hinter session_start():
    PHP-Code:
    <?php
    session_start
    ();
    ?>
    <div style="text-align: center;">
    <?php
    //...
    ?>
    </div>
    oder mit den outputbuffering Funktionen
    PHP-Code:
    <?php
    ob_start
    ();
    ?>
    <div style="text-align: center;">
    <?php
    session_start
    ();
    //...
    ?>
    </div>
    <?php
    ob_end_flush
    ();
    ?>
    Hier würde ich zum ersten Codesnippet greifen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  5. #5
    08154711 08154711 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    218
    Habe das erste Beispiel genommen.
    Fehlermeldung
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\xampp\htdocs\login\login.php:6) in C:\xampp\xampp\htdocs\login\login.php on line 8
     

  6. #6
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Vor dem Beispiel darf keinerlei Ausgabe stattfinden. Weder Leerzeichen, Htmlcode oder sonst irgendwas. Das muss praktisch in den ersten Zeilen deines Scriptes stehen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  7. #7
    Avatar von just-click
    just-click just-click ist offline Mitglied Gold
    Registriert seit
    Aug 2008
    Ort
    Karlstadt (Bayern)
    Beiträge
    166
    Deswegen bietet es sich meist an den Code so aufzubauen:
    PHP-Code:
    <?php
        session_start
    ();
        
    // jetzt der ganze Include-Teil
        
    echo "<div style=\"text-align: center\">";
        
    // jetzt der Teil der zentriert sein soll
        
    echo "</div>";
    ?>
    Grundsätzlich, um zur Ausgangsfrage zu kommen, ist dies aber eigentlich kein PHP-Problem.
     
    Wer einmal leckt, der weiß wies schmeckt!

  8. #8
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Aber um deine Frage zu beantworten: In mysql.php oder functions.php wird irgendwo eine Ausgabe direkt gemacht. Das kann z.B. auch dadurch passieren, das du hinter dem Schluss-Tag von PHP ein Return, eine Leerzeile oder der gleichen hast. Sowas fällt dann auch nicht sofort auf.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  9. #9
    08154711 08154711 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    218
    Danke für die Antworten, jetzt ist es mittig muß jetzt noch 400px nach unten.

    ?>
    <div style="text-align: center; margin-top:400px; position: relative; z-index:1000;">
    <?php

    Geht leider so nicht der Content wird ebenfalls nach unten verschoben, dachte das kann ich mit dem z-index kompensieren...
     

  10. #10
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Nimm mal position: absolute; ggf musst du die anderen Elemente dann auch neu positionieren, aber ohne die zu kennen lässt sich da nicht mehr zu sagen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  11. #11
    08154711 08154711 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    218
    Poste hier mal den Code:
    PHP-Code:
    <?php 
        error_reporting
    (E_ALL);
        include(
    "mysql.php");
        include(
    "functions.php"); 
        
        
    // Session starten
        
    session_start();
    ?>
    <div style="text-align:center; z-index:10000; position:absolute;">
    <?php    
        
    include("autologout.php");

        if(isset(
    $_POST['submit']) AND $_POST['submit']=='Einloggen'){
            
    // Falls der Nickname und das Passwort übereinstimmen..
            
    $sql "SELECT
                            ID
                    FROM
                            User
                    WHERE
                            Nickname = '"
    .mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                            Passwort = '"
    .md5(trim($_POST['Passwort']))."'
                   "
    ;
            
    $result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
            
    // wird die ID des Users geholt und der User damit eingeloggt
            
    $row mysql_fetch_assoc($result);
            
    // Prüft, ob wirklich genau ein Datensatz gefunden wurde<?php 
            
            
    if (mysql_num_rows($result)==1){
                 
    doLogin($row['ID'], isset($_POST['Autologin']));
                 echo 
    "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
                 echo 
    "Sie wurden erfolgreich eingeloggt.<br>\n".
                      
    "Zur <a href=\"index.php\">Startseite</a>\n";
            }
            else{
                 echo 
    "Sie konnten nicht eingeloggt werden.<br>\n".
                      
    "Nickname oder Passwort fehlerhaft.<br>\n".
                      
    "Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
            }
        }
        else{
            echo 
    "<form ".
                 
    " name=\"Login\" ".
                 
    " action=\"".$_SERVER['PHP_SELF']."\" ".
                 
    " method=\"post\" ".
                 
    " accept-charset=\"ISO-8859-1\">\n";
            echo 
    "Nickname :\n";
            echo 
    "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
            echo 
    "<br>\n";
            echo 
    "Passwort :\n";
            echo 
    "<input type=\"password\" name=\"Passwort\">\n";
            echo 
    "<br>\n";
            echo 
    "eingeloggt bleiben :\n";
            echo 
    "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
            echo 
    "<br>\n";
            echo 
    "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
            echo 
    "<br>\n";
            echo 
    "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"registrierung.php\">registriert</a>?\n";
            echo 
    "</form>\n";
        }
    ?>
    </div>
    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Testseite</title>
    <link rel="shortcut icon" href="../img/favicon.ico" type="image/x-icon" />
    <link href="../css/layout.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div align="center">
      <div class="box">
        <div><img  class="header" src="http://www.tutorials.de/img/header.jpg" alt="logo" width="800" height="220" usemap="#Map" />
          <map name="Map" id="Map">
            <area shape="poly" coords="610,198,714,209,725,75,622,64" href="http://www.tutorials.de/kontakt/mailform.php" target="_top" title="Zum Kontaktformular" alt="kontaktformular" />
          </map>
        </div>
        <div>
          <ul  id="nav">
            <li id="nav_home"><a href="http://www.tutorials.de/index.html"></a></li>
            </ul>
        </div>
        <br />
        <br />
        <div>
          <h1><strong>Login </strong></h1>
          </div>
          <br />
          <br />
          <br />
          <br />
          <br />
          <div class="footer"></div>
        </div>
      </div>
    </div>
    </body>
    </html>
     

  12. #12
    08154711 08154711 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    218
    Nein geht doch nicht...
    Geändert von 08154711 (14.01.11 um 15:52 Uhr)
     

Ähnliche Themen

  1. Eclipse Include / Code Aufklappen ? Code unleserlich ?
    Von bziegenhagen im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 23.02.08, 12:03
  2. Antworten: 1
    Letzter Beitrag: 09.04.07, 18:44
  3. Antworten: 1
    Letzter Beitrag: 30.10.05, 13:29
  4. Antworten: 3
    Letzter Beitrag: 20.02.05, 20:58
  5. Antworten: 3
    Letzter Beitrag: 22.04.03, 13:10

Stichworte