Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Bei Änderung kommt Fehlermeldung (https://www.gegen-bilderklau.net/thread.php?threadid=172506)


Geschrieben von Paty am 22.06.2010 um 18:24:

 

jetzt hab ich mir wirklich jedes einzelne zeichen auf denen beiden seiten angesehen,ich verstehe es aber eigentlich immer noch nicht,ich verstehe nicht was an meinem code falsch ist..kann mir bitte jetzt jemand helfen?



Geschrieben von Paty am 22.06.2010 um 19:02:

 

Ok,also ich hab jetzt mal auf jeder Seite die Schriftart verändert.Dann kommt eine Fehlermeldung.So..ja..jetzt hab ich mal im Login alles schön angepasst.

Login[Einloggen NICHT möglich!]
fehler Code:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/kunterbunt/www/login.php:4) in /users/kunterbunt/www/login.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /users/kunterbunt/www/login.php:4) in /users/kunterbunt/www/login.php on line 4

Code:
php:
1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <?php session_start(); // Startet die Session      include("header.php");      include("db.php");      include("functions.inc.php");      if(isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt          if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) { // Wenn Mitglied mit dem Namen und Passwort existiert! und wenn keine falschen logins in den letzten 30 Min. Wieso? um die Seite sicherer zu machen sonst können bruteforcer leicht hacken!              $eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); // Eintrag in Login!                           $abfrage = "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";              $ergebnis = mysql_query($abfrage);              while($row = mysql_fetch_object($ergebnis))              {                  $_SESSION["login"] = $row->id; // Loggt einen ein!              }              echo "<meta http-equiv="refresh" content="0; URL=memberarea.php">"; // Weiterleitung zur Memberarea          } else { // Wenn falsch eingeloggt              $eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')"); // Eintrag in Login!              ?>   <title>login</title> </head> <body> Login schlug fehl.<?php }      } else { // Formular ->          ?> <form action="login.php" method="post">   <table width="90%">     <tbody>       <tr>         <td style="font-family: Century Gothic;" width="50%"><small>         <b>Name:</b> </small></td>         <td width="50%"> <input name="name"  type="text"> </td>       </tr>       <tr>         <td style="font-family: Century Gothic;" width="50%"><small>         <b>Passwort:</b> </small></td>         <td width="50%"> <input name="passwort"  type="password"> </td>       </tr>       <tr>         <td colspan="2" width="100%"> <input  value="Login" name="submit" type="submit"> </td>       </tr>     </tbody>   </table> </form> <?php }      include("footer.php");  ?> </body> </html>



Geschrieben von Paty am 22.06.2010 um 19:23:

 

Neue Fehlermeldung bei Login:
Parse error: syntax error, unexpected T_STRING in /users/kunterbunt/www/login.php on line 2

Derzeitiger code:
<?php session_start()
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
include("header.php");
include("db.php");
include("functions.inc.php");
if(isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt
if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) { // Wenn Mitglied mit dem Namen und Passwort existiert! und wenn keine falschen logins in den letzten 30 Min. Wieso? um die Seite sicherer zu machen sonst können bruteforcer leicht hacken!
$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); // Eintrag in Login!

$abfrage = "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$_SESSION["login"] = $row->id; // Loggt einen ein!
}
echo "<meta http-equiv=\"refresh\" content=\"0; URL=memberarea.php\">"; // Weiterleitung zur Memberarea
} else { // Wenn falsch eingeloggt
$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')"); // Eintrag in Login!
?>
<title>login</title>
</head>

<body>
Login schlug fehl.
<?php }
} else { // Formular ->
?>

<form action="login.php" method="post">

<table width="90%">

<tbody>
<tr>

<td style="font-family: Century Gothic;" width="50%"><small>
<b>Name:</b>
</small></td>

<td width="50%">
<input name="name" type="text">
</td>

</tr>

<tr>

<td style="font-family: Century Gothic;" width="50%"><small>
<b>Passwort:</b>
</small></td>

<td width="50%">
<input name="passwort" type="password">
</td>

</tr>

<tr>

<td colspan="2" width="100%">
<input value="Login" name="submit" type="submit">
</td>

</tr>


</tbody>
</table>

</form>

<?php }
include("footer.php");
?>
</body>
</html>



Geschrieben von Stelo am 22.06.2010 um 19:27:

 

Bitte achte darauf den Code auch in die PHP-Tags zu setzen.

Du machst hier übrigens 5 mal den selben Fehler, kopier doch einfach mal, was die ein paar Beiträge vorher gezeigt wurde.
Du musst <?php natürlich auch wieder schließen, wenn du es einmal geöffnet hast, vor allem wenn danach HTML-Code folgt.



Geschrieben von Paty am 22.06.2010 um 19:31:

 

Neues Problem: Parse error: syntax error, unexpected '}' in /users/kunterbunt/www/login.php on line 28

COde:
<?php session_start()
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
include("header.php");
include("db.php");
include("functions.inc.php");
if(isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt
if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) { // Wenn Mitglied mit dem Namen und Passwort existiert! und wenn keine falschen logins in den letzten 30 Min. Wieso? um die Seite sicherer zu machen sonst können bruteforcer leicht hacken!
$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); // Eintrag in Login!

$abfrage = "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$_SESSION["login"] = $row->id; // Loggt einen ein!
}
echo "<meta http-equiv=\"refresh\" content=\"0; URL=memberarea.php\">"; // Weiterleitung zur Memberarea
} else { // Wenn falsch eingeloggt
$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')"); // Eintrag in Login!
?>
<title>login</title>
</head>

<body>
Login schlug fehl.
<?php }
} else { // Formular ->
?>

<form action="login.php" method="post">

<table width="90%">

<tbody>
<tr>

<td style="font-family: Century Gothic;" width="50%"><small>
<b>Name:</b>
</small></td>

<td width="50%">
<input name="name" type="text">
</td>

</tr>

<tr>

<td style="font-family: Century Gothic;" width="50%"><small>
<b>Passwort:</b>
</small></td>

<td width="50%">
<input name="passwort" type="password">
</td>

</tr>

<tr>

<td colspan="2" width="100%">
<input value="Login" name="submit" type="submit">
</td>

</tr>


</tbody>
</table>

</form>

<?php }
include("footer.php");
?>
</body>
</html>



Geschrieben von brain_surgery am 22.06.2010 um 19:35:

 

Ich nehme mal ganz kühn an, dass es nicht geht dass du einfach den php-Tag schließt solange eine Klammer noch offen ist...versuch es mal so:

} else { // Wenn falsch eingeloggt
$eintragen = mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR";)."', '".time()."', 'nein')";);
// Eintrag in Login!

echo" Login schlug fehl.";
} else { // Formular ->
echo:
<form action=\"login.php\" method=\"post\">

<table width=\"90%\">
usw usw"; } ?>

Das ganze Formular müsste dann quasi in einem echo stehen. Vor " musst du dann jedesmal ein \ einfügen!

EDIT: ein bissl unverschämte Eigenwerbung: vll solltest du dir mal mein Login-Tut anschauen, das könnte evtl helfen: link



Geschrieben von brain_surgery am 22.06.2010 um 19:49:

 

Funktionieren tun meine Codes jedenfalls :P
Ich hab den hier auch nur kurz überflogen, ist ja nicht so übersichtlich...



Geschrieben von Paty am 22.06.2010 um 19:49:

 

Schon wieder ne fehlermeldung=/



Geschrieben von brain_surgery am 22.06.2010 um 19:50:

 

Kannst du vielleicht mal die Datei als Angang hochladen?



Geschrieben von Paty am 22.06.2010 um 20:05:

 

ok..ich hab mal die memberarea dazu hochgeladen,weil bei der gehts ja auch nicht.. =/



Geschrieben von brain_surgery am 22.06.2010 um 20:11:

 

Danke smile So gehts gleich viel besser.
Auf den ersten Blick sind da ein Haufen Fehler drin...Ich versuch mal, es auszubessern.

Nochmal @BlackTear: Ich geh auch gern auf Nummer sicher.

EDIT: Hab jetzt einmal die Memberarea angehängt. So müsste sie funktionieren. An login.php kau ich noch rum :/



Geschrieben von Paty am 22.06.2010 um 20:17:

 

ok danke smile



Geschrieben von brain_surgery am 22.06.2010 um 20:24:

 

So, jetzt müsste der Login auch klappen...Auch wenn das ganze ein bisschen verwirrend ist...Es wär vielleicht sinnvoller, das Formular auf eine eigene Seite zu packen, so wäre das ganze etwas übersichtlicher, aber das bleibt natürlich dir überlassen. Probiers halt einmal aus ob die Seite jetzt funktioniert ._.

Für den Memberbereich siehe Edit voriger Post



Geschrieben von Paty am 22.06.2010 um 20:28:

 

@BlackTear: Jetzt kommt das: Parse error: syntax error, unexpected T_ELSE in /users/kunterbunt/www/login.php on line 32



Geschrieben von Oli am 22.06.2010 um 20:33:

 

Noch nicht ganz Augenzwinkern . Hier die korrigierte Version. (Ich hoffe es stimmt jetzt, hab nur überflogen.)

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php
    include("header.php");
    include("db.php");
    include("functions.inc.php");
    if(isset($_REQUEST["submit"])) {
        if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && 
        anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) {
        $eintragen mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES
        ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')");
            
            $abfrage "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
            $ergebnis mysql_query($abfrage);
            while($row mysql_fetch_object($ergebnis))
            {
                $_SESSION["login"] = $row->id// Loggt einen ein!
            }
            echo "<meta http-equiv="refresh" content="0URL=memberarea.php">"// Weiterleitung zur Memberarea
        } else {
            $eintragen mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')");
            echo "Login schlug fehl";
        } //diese klammer hatte gefehlt
            ?>
<title>login</title>
</head>

<body>
        
<form action="login.php" method="post">
            
  <table width="90%">

                <tbody>
      <tr>

                    <td style="font-family: Century Gothic;" width="50%"><small>
                        <b>Name:</b>
                    </small></td>

                    <td width="50%">
                        <input name="name" type="text">
                    </td>

                </tr>

                <tr>

                    <td style="font-family: Century Gothic;" width="50%"><small>
                        <b>Passwort:</b>
                    </small></td>

                    <td width="50%">
                        <input name="passwort" type="password">
                    </td>

                </tr>

                <tr>

                    <td colspan="2" width="100%">
                        <input value="Login" name="submit" type="submit">
                    </td>

                </tr>

            
    </tbody>
  </table>

        </form>

<?php
}
include("footer.php");
?>
</body>
</html>


Edit: Moment mal, grundlegendes Problem. Das Formular wird nur angezeigt, wenn man es bereits abgesendet hätte... Ich korrigier das nochmal, wenn mir niemand zuvor kommt Augenzwinkern .

(Weitere Edits: Tippfehler)



Geschrieben von Paty am 22.06.2010 um 20:36:

 

Jetzt kommt gottseidank keine Fehlermeldung,jetzt kommt NICHTS,leere Seite._.



Geschrieben von Oli am 22.06.2010 um 20:37:

 

Zitat:
Original von Paty_Pu
Jetzt kommt gottseidank keine Fehlermeldung,jetzt kommt NICHTS,leere Seite._.


Siehe mein Edit. Mir ist das Problem schon aufgefallen Augenzwinkern

Zitat:
Moment mal, grundlegendes Problem. Das Formular wird nur angezeigt, wenn man es bereits abgesendet hätte... Ich korrigier das nochmal, wenn mir niemand zuvor kommt Augenzwinkern .



Geschrieben von Paty am 22.06.2010 um 20:39:

 

ok..



Geschrieben von Oli am 22.06.2010 um 20:40:

 

So sollte es eigentlich funktionieren, auch wenn der entstehende HTML-Code nicht sonderlich korrekt sein dürfte... Evtl. häng ich nochmal ne Version dran, je nach Zeit.
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php
    include("header.php");
    include("db.php");
    include("functions.inc.php");
    if(isset($_REQUEST["submit"])) {
        if(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."'") && 
        anzahl("login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) {
        $eintragen mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES
        ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')");
            
            $abfrage "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
            $ergebnis mysql_query($abfrage);
            while($row mysql_fetch_object($ergebnis))
            {
                $_SESSION["login"] = $row->id// Loggt einen ein!
            }
            echo "<meta http-equiv="refresh" content="0URL=memberarea.php">"// Weiterleitung zur Memberarea
        } else {
            $eintragen mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) VALUES ('".strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'nein')");
            echo "Login schlug fehl";
        }
    } else {
            ?>
<title>login</title>
</head>

<body>
        
<form action="login.php" method="post">
            
  <table width="90%">

                <tbody>
      <tr>

                    <td style="font-family: Century Gothic;" width="50%"><small>
                        <b>Name:</b>
                    </small></td>

                    <td width="50%">
                        <input name="name" type="text">
                    </td>

                </tr>

                <tr>

                    <td style="font-family: Century Gothic;" width="50%"><small>
                        <b>Passwort:</b>
                    </small></td>

                    <td width="50%">
                        <input name="passwort" type="password">
                    </td>

                </tr>

                <tr>

                    <td colspan="2" width="100%">
                        <input value="Login" name="submit" type="submit">
                    </td>

                </tr>

            
    </tbody>
  </table>

        </form>

<?php
    }
include("footer.php");
?>
</body>
</html>



Geschrieben von Paty am 22.06.2010 um 20:48:

 

Es funktioniert!!!!
DAAAANKEEEEE großes Grinsen


Forensoftware: Burning Board, entwickelt von WoltLab GmbH