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

Ich brauche Hilfe!

iFrey

Neues Mitglied
Hey, da ich noch ein Anfänger in PHP bin bräuchte ich jemanden der meine Scripts ansehen könnte und evtl. korrigieren.
Ich hätte ein Login Script da, ein Register,ein Donate und ein Vote, die alle bräuchte ich um auf einen Root zu connecten.
Wäre toll, wenn mir wer helfen könnte!!
 
Hallo iFrey,
wir sind keine kostenlose, private Nachhilfe, sondern ein Support-Forum für Fragen rund um Webentwicklung. Wenn du jemanden brauchst, der für dich ganz persönlich da ist, dann ist die Jobbörse etwas für dich. Wenn du kostenlose Hilfe möchtest, dann poste hier bitte deinen Code, sodass später auch andere Leute noch etwas aus diesem Thema lernen können.

Gruß
Körnerbrötchen

//edit: Wir legen übrigens Wert auf aussagekräftige Thementitel. Für sowas wie das hier wird man im Normalfall… naja. Du weiß schon…
 
Hallo iFrey,
wir sind keine kostenlose, private Nachhilfe, sondern ein Support-Forum für Fragen rund um Webentwicklung. Wenn du jemanden brauchst, der für dich ganz persönlich da ist, dann ist die Jobbörse etwas für dich. Wenn du kostenlose Hilfe möchtest, dann poste hier bitte deinen Code, sodass später auch andere Leute noch etwas aus diesem Thema lernen können.

Gruß
Körnerbrötchen

//edit: Wir legen übrigens Wert auf aussagekräftige Thementitel. Für sowas wie das hier wird man im Normalfall… naja. Du weiß schon…


Sorry, musste schnell gehen, aber bin dann auch nicht mehr zum Editieren gekommen >.<

mein Code wäre (Login):

PHP:
<?php
    session_start();
    
    include("../modules/include/Config.php");
    require_once("../modules/include/Security.php");
    require_once("../modules/include/sqlConn.php");
    
    $dblink = odbc_connect("host", "username", "password");
    $mysql_select_db("$dbName",$dblink); or die ("Couln't select database $dbName");
    $qry = mssql_query($sql_statement,$dblink);
    
    if(isset($_SESSION['loggedin'])) {
        header("location:./../");
    } else {
        if(isset($_POST['submit'])) {
            
            $check = new security();
            
            $message = null;
            if($check->is_secure($_POST['username']) == false) $message[] = "";
            if($check->is_secure($_POST['password']) == false) $message[] = "";
            
            if(count($message) > 0) {
                for($i = 0; $i < count($message); $i++) {
                    print $message[$i];
                    header("location:./../?invalidData");
                }
                return;
            } else {
                $username = $_POST['username'];
                $password = $_POST['password'];
                $password = md5($password);
                $verifyAccount = mssql_num_rows(mssql_query("select * from TB_User where StrUserID = '$username' AND password = '$password'"));
                if($verifyAccount <= 0) {
                    header("location:./../?failedLogin");
                } else {
                    $_SESSION['loggedin'] = "YES";
                    $_SESSION['name'] = $username;
                    header("location:./../");
                }
            }
            
        }
    }
?>

Fehler ist aber dann:
Parse error
: syntax error, unexpected T_LOGICAL_OR in C:\Inetpub\vhosts\test\httpdoc\user\login.php on line 9

Ich komm da irgendwie nicht weiter... hab auch schon versuch es zu googlen aber da raff ich nicht wirklich viel <.<

Ich freue mich über jede Hilfe und danke schon mal im Vorraus!!
 
Ersetze
PHP:
    $mysql_select_db("$dbName",$dblink); or die ("Couln't select database $dbName");
durch
PHP:
    $mysql_select_db("$dbName",$dblink) or die("Couln't select database $dbName");
 
Hallo iFrey
such den Code
PHP:
$mysql_select_db("$dbName",$dblink) or die("Couln't select database $dbName");
und ersetz ihn durch
PHP:
$mysql_select_db($dbName,$dblink) or die("Couln't select database: " .$dbName);
 
Danke für die Antworten!!
Trotz ausbessern kam aber leider dann der Fehler :

Fatal error: Function name must be a string in C:\Inetpub\vhosts\test\httpdoclogin.php on line 9

Also habe ich es mit diesem Code versucht zu ersetzen:



PHP:
<?php
    session_start();
    
    include("../modules/include/Config.php");
    require_once("../modules/include/Security.php");
    require_once("../modules/include/sqlConn.php");
    
    $connect = mssql_connect("host", "username", "password");
    mssql_select_db('[Database_Name]', $connect) or die ("Couln't select database $dbname");
    
    if(isset($_SESSION['loggedin'])) {

        if(isset($_POST['submit'])) {
            
            $check = new security();
            
            $message = null;
            if($check->is_secure($_POST['username']) == false) $message[] = "";
            if($check->is_secure($_POST['password']) == false) $message[] = "";
            
            if(count($message) > 0) {
                for($i = 0; $i < count($message); $i++) {
                    print $message[$i];
                    header("location:./../?invalidData");
                }
                return;
            } else {
                $username = $_POST['username'];
                $password = $_POST['password'];
                $password = md5($password);
                $verifyAccount = mssql_num_rows(mssql_query("select * from TB_User where StrUserID = '$username' AND password = '$password'"));
                if($verifyAccount <= 0) {
                    header("location:./../?failedLogin");
                } else {
                    $_SESSION['loggedin'] = "YES";
                    $_SESSION['name'] = $username;
                }
            }
            
        }
    }
?>

Das blöde ist, er Logt ein, dann kommt aber "Database_Name was not found", ich bin aber Eingeloggt und es wird nach dem "Einloggen" leider nicht weitergeleitet auf die Homepage/Main Page -_-
irgendwo hab ich wieder, was reingebastelt was ich nicht finde....

(Selbstverständlich steht der Code für jeden zur Verfügung, sobald es läuft.)
 
es sieht eher so aus als ob Du das script von irgendwo her kopiert hast, richtig? Wenn ja, dann ersetze [Database_Name] durch den Namen der Datenbank zu der Du verbinden willst, denn [Database_Name] ist nur als Platzhalter gedacht...
 
öhm...

und bei:
PHP:
$connect = mssql_connect("host", "username", "password");
hast Du auch die Daten eingetragen die Du von Deinem hoster bekommen hast, damit Du dich korrekt auf Deine Datenbank verbinden kannst?

... Ist nur so ein Gedanke....
 
Es sieht so aus...
error.png
 
Dann steckt der Fehler definitiv hier drin:
Code:
    $dblink = odbc_connect("host", "username", "password");
    $mysql_select_db("$dbName",$dblink); or die ("Couln't select database $dbName");
Das müsste am Ende bei dir irgendwie so aussehen:
Code:
    $dblink = odbc_connect("localhost", "ifrey", "m_J?aslJma1");
    $mysql_select_db("$dbName",$dblink); or die ("Couln't select database $dbName");
Aber wo hast du denn den Datenbanknamen angegeben? Das müsste irgendwo vorher geschehen. Am besten schreibst du folgenden Code vor diese beiden Zeilen (Großgeschriebenes bitte ersetzen):
Code:
$dbName = "DEINEDATENBANK";

Gruß
 
Ich hab nun etwas "rumgespielt" den Code

PHP:
    $connect = mssql_connect("host", "username", "password");
    mssql_select_db('[Database_Name]', $connect) or die ("Couln't select database $dbname");

habe ich mit dem ersetzt:

PHP:
    mssql_select_db("$dbName1", $dbConn) or die ("Couln't select database $dbName1");

dann habe ich in der Index.php auch den DB Namen eingefügt, nun connected er über die sqlConn.php und Config.php auf den gegebenen Pfad in der index.php, trotzdem hab ich mir da irgendwo nen "header" Error geholt -.-


Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\vhosts\test\httpdocs\modules\include\Security.php:1) in C:\Inetpub\vhosts\test\httpdocs\user\login.php on line 37

//
Selbes Theater auch bei der reg.php -.- da ist 'n kleiner Fehler, den ich wiedermal nicht finde ~.~

Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\vhosts\test\httpdocs\modules\include\sqlConn.php:1) in C:\Inetpub\vhosts\test\httpdocs\modules\reg.php on line 11

//
Logout geht aber nicht, was schade ist... Ich sollte denk ich mal ein paar Guides lesen :/
 
Eigentlich steht der Fehler ja schon da. Der header wurde bereits versendet. Weiss jetzt nicht ob dass des Problems lösung ist aber steht die session start ganz am anfang?
 
Wenn's dir hilft, so sieht die Komplette Login.php aus:

PHP:
<?php
    session_start();
    
    include("../modules/include/Config.php");
    require_once("../modules/include/Security.php");
    require_once("../modules/include/sqlConn.php");
    
    
    mssql_select_db("$dbName1", $dbConn) or die ("Couln't select database $dbName1");
    
    if(isset($_SESSION['loggedin'])) {
        header("location:./../");
    } else {
        if(isset($_POST['submit'])) {
            
            $check = new security();
            
            $message = null;
            if($check->is_secure($_POST['username']) == false) $message[] = "";
            if ($check->is_secure($_POST['password']) == false) $message[] = "";
            
            if(count($message) > 0) {
                for($i = 0; $i < count($message); $i++) {
                    print $message[$i];
                    header("location:./../?invalidData");
                }
                return;
            } else {
                $username = $_POST['username'];
                $password = md5($_POST['password']);
                $verifyAccount = mssql_num_rows(mssql_query("select * from TB_User where StrUserID = '$username' AND password = '$password'"));
                if($verifyAccount <= 0) {
                    header("location:./../?failedLogin");
                } else {
                    $_SESSION['loggedin'] = "YES";
                    $_SESSION['name'] = $username;
                    header("location:./../");
                }
            }
            
        }
    }
?>

sqlConn.php:

PHP:
<?php
    include("../modules/include/Config.php");
    $dbConn = mssql_connect($serverIp, $userName, $password) or die ("Couldn't connect to server $serverIp"); 
?>

Config.php:

PHP:
<?php
    $serverIp    = "SERVER";
    $userName    = "USER";
    $password    = "PASS";
    $dbName1    = "DB1";
    $dbName2    = "DB2";
?>

Wäre ein Beispiel :D vllt. hilft's wem ja ^^
 
schau mal zeile 11 und 37 weiss ja nicht aber meiner meinung nach hat header nichts dort verloren da der header ja bereits gesendet wurde kannst du ja nicht per header weiterleiten.
Korrigiert mich bitte wenn ich falsch liege so bewandert bin ich au noch nicht und ich möchte dich ja nicht in die irre führen.
 
Warning: Cannot modify header information - headers already sent by ......


Ich sollte denk ich mal ein paar Guides lesen :/
Serlbsterkenntnis ist der erste Weg

Irgendwo wird an den Browser eine Ausgabe gestartet, oftmals ist hinter dem <?PHP ein Leerzeichen.

PHP:
print $message[$i];
header("location:./../?invalidData");
Wird den selben Mist inizieren, da du vor dem header() Befehl eben dieses print ausgibst, was nunmal nicht sein darf. Im Idealfall siehst du den Fehler nur nicht, da über den header-Befehl ein Refresh der Seite angeschubst wird.

Die Fummelei oben um zu "connecten" ist ja auch nicht das Gelbe vom Ei. Mit den richtigen Einstellungen und eventuell einem echo auf ein paar Vraiablen müsstest du dein Problem selber lösen können.
Nich böse sein, aber der Fehler sitzt definitiv an der Tastatur.

Ich hab nun etwas "rumgespielt" den Code

PHP:
    $connect = mssql_connect("host", "username", "password");
    mssql_select_db('[Database_Name]', $connect) or die ("Couln't select database $dbname");

habe ich mit dem ersetzt:
PHP:
mssql_select_db("$dbName1", $dbConn) or die ("Couln't select database $dbName1");
kann auch nicht viel gebracht haben, es sei denn, du hast $dbConn nun richtig konfiguriert.

$connect = mssql_connect("host", "username", "password"); ist definitiv FALSCH.
Da gehören deine Datenbank Informationen rein.

Deinem letzten Post nach würde ich sagen:
PHP:
mssql_connect($serverIp, $userName, $password);
Aber mittlerweile weiss ich garnicht mehr, was du nun wo in deinem Code stehen hast.
 
Zuletzt bearbeitet von einem Moderator:
Benutzte statt "Header" bitte folgende HTML Zeile:


<meta http-equiv="refresh" content="5; URL=http://dein-weiterleitungslink.de/">
content="5" | gibt an nach wievielen Sekunden weitergeleitet werden soll.
URL = ... | gibt an auf welche Seite weitergeleitet werden soll.
 
Zurück
Oben