Antworten

Thema: Problem mit PHP Einloggen -> Dateidownload

Nachricht

Klicke hier, um dich anzumelden

 

Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.

Zusätzliche Einstellungen

  • Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].

Thema bewerten

Wenn du möchtest, kannst du dieses Thema bewerten.

Übersicht (Neuester Beitrag zuerst)

  • 06.02.2008
    Hm naja eigendlich hab ich vorher immer nur mit html gearbeitet, und wollte mir nun hier ein paar sachen von php zusammensuchen... das loginscript war ein Beispiel von irgend einer Website, und wegen meines Unwissens kam es zu diesem Durcheinander.. Aber der Beitrag in Wikipedia ist schon nich schlecht, soweit ich das verstehe werd ich da vllt später ma Vorteile raus ziehen. Danke
  • 05.02.2008
    terra-power
    Hallo,

    es gibt keinen Grund sich zu entschuldigen. Habe dir ja nur Hinweise gegeben, wie du die Chancen erhöhst, dass jemand auf deine Beiträge antwortet.

    Noch einen Tipp zu dem Code: Mit unleserlich meine ich nicht die formatierung des Codes, sondern die Code organisation. Ich schreibe Code immer streng nach MVC patterns, damit ist ein debugging einfach. In php geht das leider nicht ganz so einfach, ist aber auch möglich. was ich damit meine ist, dass mich im php code html nun mal nicht interesiert und der mix aus php code und html macht es generell schwer zu lesen. deswegen sollte man sich von vorn herein eine gute code struktur angewöhnen. Mehr Informationen zum MVC pattern findest du hier: http://de.wikipedia.org/wiki/MVC

    lg,

    marc
  • 05.02.2008
    Ok, danke!!
    Ich finde es gut, dass ich jetzt direkt ne Antwort bekommen hab, deswegen werd ich mich bei meinen nächsten Fehlern präziser ausdrücken und so, wie Du halt gesagt hast.

    Ich hab bisher meine Scripts immer mit notepad.exe geschrieben, und es so gut wie ich es kann formatiert, aber dann werd ich mal nen Formatierer verwenden.

    Ich hoffe, dass ich trotz der Unannehmlichkeiten hier, für die ich mich noch ma entschuldigen wollte, noch Fragen in diesem Forum posten kann.

    P.S.: meine "Problemlösung" sieht so aus: Ich hab nach dem Login direkt auf die Datei in dem komischen Verzeichnis verlinkt

    Also nochmals Danke für eine Antwort, ich denke jetzt kann man ich glaub... closen?


    Netter Gruß Florian
  • 04.02.2008
    terra-power
    Hallo,

    ich geb mir immer Mühe ein Programmiererthema fachgerecht und schnell zu beantworten, in deinem Fall, habe ich das Thema auch gleich nach dem ersten Tag gelesen aber nicht geantwortet, aus folgenden Gründen:

    * Zu viel Quellcode, ich habe leider nicht die Zeit mich 30 min mit einem code zu beschäftigen, eh ich den fehler gefunden habe
    * das eine frage nach dem Motto "es geht nicht, bitte helft mir ist". Ich bin kein bug-finder und möchte nicht nur diese arbeit machen
    * das programm nicht nach MVC pattern gestaltet ist und es somit ne zumuntung ist zu lesen (das liegt wohl an php)
    * das programm leicht sinnlos ist, da der download nicht dynamisch generiert wird, sondern alles im verzeichnis b84d7af02c6138098c7e76ab7c1ed722 liegt

    Wie gesagt, dass ist meine rein persönliche meinung. Ein solches Problem lässt sich nicht lösen in dem dir jemand den Code bug-fixt, sondern in dem du selbst gerhirnschmalz investierst und tiefgründige ansätze findest. Kleine, kurze, präzise fragen und probleme beantworte ich immer gerne und schnell und auf wunsch, kann man mich sogar telefonisch erreichen, wenns etwas länger dauert. aber ich bin kein beta tester :/ sorry, wenn ich deine illusion entäuscht haben sollte ... es dauert einfach zu lange, sich in den code, der über 2 seiten geht, einzuarbeiten.
  • 04.02.2008
    Hey ho,

    da ich in 3 Foren gepostet habe, aber nur in 1 eine Antwort erhalten habe mit Titel "Crossposting", wollt ich mich für das Crossposten zwar entschuldigen, aber dennoch besitze ich hier Zweifel...

    Meiner Erkenntnis nach müsst Ihr Hilfsleister entweder alle Kollegen/ Bekannte sein, oder Ihr schaut einfach nur zu gerne in Google, bevor Ihr ein Problem anpackt.

    Ich habe dies in einem der beiden anderen Hilfsforen auch schon geschrieben heute und ich werde es hier auch anfragen, also sorry für das zweite Crossposting.

    Kann mir einer sagen, wie das bei euch normalerweise läuft?

    Ich bin schon länger als "2 Wochen" in Hilfeforen gewesen und bisher habe ich immer die gleiche Erfahrung gemacht.

    Ein ma für Visual Basic 2005 ne Frage gestellt, das war letztes Jahr... der Thread ist immer noch da und immer noch nicht beantwortet.
    Ne andere Frage für VB05 und eine für HTML in andere Foren gestellt, nix da.
    Diesma kam es lustig: in diesem VB05 - Hilfeforum bekam ich zur Antwort "tut mir leid, da kann ich dir nich weiterhelfen. gruß".

    Allein aus dieser Voreinstellung gegenüber Hilfeforen hab ich Crossposting gemacht, doch selbst da passiert nix.

    Wenn mir hier auch nur Irgend Jemand antwortet, bitte bringt keine lasche Ausrede "Du warst halt nur zur falschen Zeit am falschen Ort", oder sonst was - ich fühl mich weniger im Fehler, dafür mehr vergackeiert ( will ja keine Fekalwörter benutzen ).

    Ich brauche hier keine Hilfe mehr zu dem Thema, aber vllt bräuchte ich für den 2ten Fehler noch Hilfe, doch ich denke selbst dann bekäme ich keine Antwort - nich ma mit nem neuen Account in einem anderen Forum.

    Bitte sagt mir, wenn Ihr mir was schreiben wollt, was der Sinn von einem Hilfeforum ist, in dem nur ausgewählte User Hilfe erhalten?
    Oder
    Bitte sagt mir, wie ich das in Zukunft besser machen kann.
    den Code farblich hervorheben, ganz viele smileys rein packen, einen screenshot von der angezeigten seite machen und uploaden, vielleicht nicht sagen "ich steh unter zeitdruck", mehr fällt mir beim besten willen nich ein...
    Und wenn man diese "Fehler" hat, kann man trotzdem sagen: "Du sorry, aber ich nehme mich nur Codes an, die so und so aussehen, etc.". Also zweifel ich, dass es daran liegt.

    Wie gesagt, wer mir schreiben will, der soll es nicht unterlassen, und mir möglichst noch vor der Jahrhundertwende antworten.

    Ich denke Ihr könnt das durchaus noch schaffen


    Mit freundlichen Grüßen


    Florian
  • 27.01.2008
    Hey ho,
    ich habe ein ( / zwei ) komische(s) Problem(e).
    Ich bin Einsteiger in PHP, kenn mich quasi nich mit mysql aus und hab deshalb ein Loginscript mit festen usernamen und pw gemacht.
    Das loginscript / logoutscript funktioniert einwandfrei.
    ich habe auch eine seite für nen Dateidownload gemacht ( download.php ), die nur eingeloggt zugänglich ist.
    Über ein dlmngr.php will ich z.B. eine Lizenzvereinbarung für das Produkt anzeigen.
    Dabei soll widerrum abgefragt werden, ob ich eingeloggt bin oder nicht.
    Sonst könnte man dlmngr.php öffnen und die datei ohne login downloaden.

    Also hab ich die gleiche abfrage wie bei download.php wieder rein gemacht.
    Doch wenn ich dlmngr.php öffne, sagt er mir immer, ich wäre nicht eingeloggt, obwohl ich die gleiche abfrage verwende.
    Dies wäre mein 1. Problemchen...

    Code von login.php:
    <?

    session_start();

    $user_name = "test";
    $user_pass = "123456";
    $user_name1 = "test2";
    $user_pass1 = "654321";


    if (!isset($_SESSION['user'], $_SESSION['pw']))
    {
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Login script</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="stylesheet2.css">
    </head>
    <body bgcolor="#FFB41A"><h1>Login Script</h1>';


    $user = $_POST['user'];
    $pw = $_POST['pw'];


    if (isset($user, $pw))
    {
    if ($user == "" OR $pw == "")
    {
    echo "<b>Bitte fülle beide Felder aus!</b><br>";
    echo "<a href='javascript:history.back()'>zur&uuml;ck</a>";
    }

    elseif ($user == $user_name AND $pw == $user_pass)
    {
    $_SESSION['user'] = $user;
    $_SESSION['pw'] = $pw;
    }
    elseif ($user == $user_name OR $pw == $user_pass)
    {
    echo "<b>Falschen Benutzernamen oder falsches Passwort eingegeben!</b><br>";
    echo "<a href='javascript:history.back()'>zur&uuml;ck</a>";
    }


    elseif ($user == $user_name1 AND $pw == $user_pass1)
    {
    $_SESSION['user'] = $user;
    $_SESSION['pw'] = $pw;
    }
    elseif ($user == $user_name1 OR $pw == $user_pass1)
    {
    echo "<b>Falschen Benutzernamen oder falsches Passwort eingegeben!</b><br>";
    echo "<a href='javascript:history.back()'>zur&uuml;ck</a>";
    }



    else
    {
    echo "<b>Falschen Benutzernamen und falsches Passwort eingegeben!</b><br>";
    echo "<a href='javascript:history.back()'>zur&uuml;ck</a>";
    }
    }



    if (!isset($user, $pw))
    {
    echo '<form name="login" method="post" action="'.$_SERVER['PHP_SELF'].'"> Name:<font color="#FFBB22">......</font><input type="text" name="user"><br>Passwort: <input type="password" name="pw">
    <input type="submit" name="Submit" value="einloggen">
    </form>';

    }

    echo '</body>
    </html>';
    }

    if (isset($_SESSION['user'], $_SESSION['pw']))
    {
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Login script</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="stylesheet2.css">
    </head>
    <body bgcolor="#FFB41A">';


    echo "<b>Wunderbar, $user! Dein Login war erfolgreich, du kannst nun in den Downloadbereich!</b>";
    }
    echo '</body>
    </html>';
    ?>
    Code von download.php:
    <?
    session_start();
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Downloadbereich</title>
    <link rel="stylesheet" type="text/css" href="stylesheet2.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FFB41A"><h1>Downloadbereich</h1>

    if (!isset($_SESSION['user'], $_SESSION['pw']))
    {
    echo '<b>Du musst dich erst einloggen um in den Geschützen Bereich zu kommen!</b>';
    }

    if (isset($_SESSION['user'], $_SESSION['pw']))
    {
    echo "<a href=\"meineseite/download/dlmngr.php?aname=abcde&fname=abcde.msi\">Download der alten Version</a>";
    }
    echo '</body>
    </html>';
    ?>
    Code von dlmngr.php:
    <?
    session_start();
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html><head>
    <title>Download</title>
    <link rel="stylesheet" type="text/css" href="stylesheet2.css">
    </head>
    <body bgcolor="#FFB41A">';
    if (!isset($_SESSION['user'], $_SESSION['pw']))
    {
    echo '<b>Du musst dich erst einloggen um in den Geschützen Bereich zu kommen!</b>';
    }

    if (isset($_SESSION['user'], $_SESSION['pw']))
    {
    $filename = $_GET['fname'];
    $articlename = $_GET['aname'];
    $_SESSION["artikel"] = $articlename;
    echo'<b><u>Wenn Du $articlename downloaden willst, klicke bitte auf Weiter.</b></u>';
    echo"<a href=\"meineseite/download/b84d7af02c6138098c7e76ab7c1ed722/$filename\">WEITER</a>";
    }
    echo '</body>
    </html>';
    ?>
    Wenn ihr mir hier so schnell wie möglich helfen könntet, wäre ich euch sehr verbunden!
    Ich habe ein Ankündigungsdatum für diese Software einzuhalten... und dafür brauch ich das Script baldest möglich.


    Netter Gruß und Danke im Voraus

    Florian

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Ja
  • Beiträge bearbeiten: Ja
  •