Zum Inhalt springen

Da_Ill

Mitglieder
  • Gesamte Inhalte

    69
  • Benutzer seit

  • Letzter Besuch

Beiträge von Da_Ill

  1. hallo!

    also irgendwie bzw. irgendwo hab ich da immernoch ein problem mit der session! ich poste mal den quellcode von den ersten zwei seiten. die zweite seite habe ich vereinfacht, um jetzt nur die session zu berücksichtigen!

    seite 1:

    <?php

    session_start();

    ?>

    <html>

    <head>

    </head>

    <body bgcolor=#000000

    text=#FFFFFF

    link=#FFFFFF

    vlink=#FFFFFF

    alink=#FF0000>

    <?php

    echo "<font face=Verdana size=2>";

    echo "<p><p>";

    echo "<center><img src=images/intranet_login.jpg width=306 height=92>";

    echo "<p>";

    echo "<form action=login_ok_testsession.php mehthod=post>";

    echo "<b>Name:</b><font color=#000000>......</font><input size=15 name=login_id>";

    echo "<br><b>Passwort:</b> <input type=password size=15 name=password>";

    echo "<p><input type=submit name=login_submit value=Login>";

    echo "</form>";

    if($login_submit)

    {

    $_SESSION['userName'] = $login_id;

    $_SESSION['userPass'] = $password;

    $_SESSION['login_submit'] = $login_submit;

    }

    ?>

    </body>

    </html>

    quellcode seite 2 (login_ok_testsession.php):

    <?php

    session_start();

    ?>

    <html>

    <head>

    </head>

    <body>

    <?php

    echo "" . $_SESSION['userName'];

    ?>

    </body>

    </html>

    gibt es da einen grundsätzlichen fehler den ich da gemacht habe? der username wird auf jeden fall nicht ausgegeben! wie gesagt ich habe vorher noch nie mit sessions gearbeitet und soviel mit php habe ich auch noch nicht gemacht!

    also ich habe es auch schon mit $HTTP_SESSION_VARS versucht, aber daran liegts nicht!

    gruss

    da_ill

  2. danke! das hilft mir schon viel weiter!

    ich bekomme aber immer die fehlermeldung "cannot send cache limiter - headers already send bla bla bla"!

    muss ich die session im header starten oder im body oder wo? denn wenn ich sie im header starte dann bekomme ich die gleiche fehlermeldung! ín den links kann ich leider nur etwas finden über "cannot send cookie ..." aber nicht über "cache limiter"!

    gruß

    da_ill

  3. ähm... also ich komme von einer seite ganz ohne frames! und von dieser linke ich ja schon auf die wo die frames definiert sind! dabei übergebe ich schon werte! nur jetzt habe ich diese ja auf der seite die nur die frames definiert und nicht auf der jeweiligen frame-seite selber! von dort muss ich die werte dann ja z. B. auf den Hauptframe weiterleiten!

    ps: nein ich arbeite nicht mit templates!

  4. ich habe die seiten jetzt wieder zur ausgangsposition zurück gesetzt!

    das ist die seite ohne frame: (also der php-teil)

    <?php

    echo "<form action=login_ok.php mehthod=post>";

    echo "<b>Name:</b><font color=#000000>......</font><input size=15 name=login_id>";

    echo "<br><b>Passwort:</b> <input type=password size=15 name=password>";

    echo "<p><input type=submit name=login_submit value=Login>";

    echo "</form>";

    ?>

    hier die seite mit den frames:

    <html>

    <head>

    </head>

    <frameset cols="198,*" frameborder="0" border="0" framespacing="0" rows="*">

    <frame name="leftFrame" scrolling="NO" noresize src="leftframe.php">

    <frame name="mainFrame" src="mainframe.php">

    </frameset>

    <noframes><body bgcolor="#000000" text="#FFFFFF">

    </body></noframes>

    </html>

    und hier der hauptframe wo die daten geprüft werden sollen:

    <?php

    if(!$login_submit)

    {

    echo "<center><b>Bitte einloggen!</b></center>";

    }

    elseif($login_submit)

    {

    echo "<font color=#FFFFFF>";

    $db = mysql_connect();

    mysql_select_db("BISONintranet");

    $sql = "select user_login_id, user_password, user_id from user";

    $sql .= " where user_login_id = '$login_id'";

    $sql .= " or user_password = '$password'";

    $res = mysql_query($sql);

    $num = mysql_num_rows($res);

    if($num == 0)

    {

    echo "<b>";

    echo "Fehlgeschlagen!</b>";

    }

    for($i=0;$i < $num;$i++)

    {

    $login_id_checked = mysql_result($res, $i, "user_login_id");

    $password_checked = mysql_result($res, $i, "user_password");

    $hidden_value= mysql_result($res, $i, "user_id");

    if ($login_submit && ($login_id_checked==$login_id) && ($password_checked==$password))

    {

    $sql = "select user_vorname from user where user_id = $hidden_value";

    $res = mysql_query($sql);

    $user_vorname = mysql_result($res, "user_vorname");

    $sql = "select user_nachname from user where user_id = $hidden_value";

    $res = mysql_query($sql);

    $user_nachname = mysql_result($res, "user_nachname");

    echo "<center>Willkommen zurück $user_vorname $user_nachname!";

    }

    else

    {

    echo "<b>";

    echo "<center>Fehlgeschlagen!</b></center>";

    }

    }

    }

    ?>

  5. Originally posted by Jaraz

    Hi,

    -was kommt für ne Fehlermeldung?

    lass dir den SQL String ausgeben und poste ihn. Versuche ihn dann per Mysql Kommandozeile einzufügen.

    -mysql_db_query ist deprecated und sollte durch mysql_select_db() und mysql_query() ersetzt werden.

    -deine maxid Methode ist nicht Multiusersicher. Benutze AUTO_INCREMENT und LAST_INSERT_ID()

    -Wieso läufst du alle Emailadressen und Login_IDs durch?

    Setze ein passendes SELECT Statement ab.

    Gruß Jaraz

    hallo jaraz!

    wie müsste ich denn den quellcode verändern um AUTO_INCREMENT und LAST_INSERT_ID zu benutzen? ich kenn die funktionen leider nicht!

  6. also habe nun mysql_db_query durch die genannten befehle ersetzt und die hochkommata weg genommen! Es funktioniert trotzdem nicht!

    also habe ich mir den string ausgeben lassen, der wie folgt aussieht:

    insert into user(vorname, nachname, strasse, plz, ort, email, login_id, pass, id) values ('Hans', 'Wurst', 'Hauptstrasse 8', 12345, 'Hauptstadt', 'hans.wurst@web.de', 'Hans-Wurst', 'hans', 2)

    meiner meinung nach alles korrekt, oder!?

    viele grüsse

    da_ill

    :confused: :confused: :confused:

  7. also der komplette code sieht so aus. und bis zu der zeile echo "MAX ID: $max_id"; funktioniert alles richtig! nur der teil darunter wo es dann um das eigentliche einfügen geht funktioniert nicht!

    <html>

    <head>

    </head>

    <body bgcolor=#FFFFFF

    text=#000000

    link=#000000

    vlink=#000000

    alink=#000000>

    <font face="Lucida Console">

    <font size=2>

    <font color=#000000>

    <form action = "<?php $PHP_SELF ?>" method="post">

    <input size=10 name="vorname" maxlength=30> <br> Vorname* <br>

    <input size=10 name="nachname" maxlength=30> <br> Nachname* <br>

    <input size=20 name="strasse" maxlength=40> <br> Strasse* <br>

    <input size=5 name="postleitzahl" maxlength=5> <input size=10 name="ort" maxlength=30><br> PLZ / Ort* <br>

    <input size=20 name="email" maxlength=40> <br> Email* <p>

    <input size=15 name="login_id" maxlength=30> <br> Managername* <br>

    <input type="password" size=15 name="pass" maxlength=30> <br> Passwort* <br>

    <input size=20 name="verein" maxlength=30> <br> Vereinsname* <p>

    <input type="submit" value="Abschicken" name="send">

    <input type="reset" name="reset"> <p>

    </form>

    <font size=1>

    Die Felder mit * müssen angeben werden!

    <p>

    <font size=2>

    <font color=#FF0000>

    <?php

    if ($send && (strlen($vorname)!=0) && (strlen($nachname)!=0) && (strlen($strasse)!=0) && (strlen($ort)!=0) && (strlen($email)!=0) && (strlen($login_id)!=0) && (strlen($pass)!=0))

    {

    $db = mysql_connect();

    $sqlab = "select login_id, email from user";

    $res = mysql_db_query("game", $sqlab);

    $num = mysql_num_rows($res);

    for($i=0;$i < $res;$i++)

    {

    $existing_login = mysql_result($res, $i, "login_id");

    $existing_email = mysql_result($res, $i, "email");

    if($login_id == $existing_login)

    {

    echo "Dieser Login-Name existiert bereits!";

    }

    elseif($email == $existing_email)

    {

    echo "Sie haben bereits einen Account mit dieser Email Adresse!";

    }

    else //if($email != $existing_email && $login_id != $existing_login)

    {

    $sqlab = "select max(user.id) as id from user";

    $res = mysql_db_query("game", $sqlab);

    $max_id = mysql_result($res, $i, "id")+1;

    echo "MAX ID: $max_id";

    $sqlab = "insert into user";

    $sqlab .= "(vorname, nachname, strasse, plz, ort, email, login_id, pass, id) values ";

    $sqlab .= "('$vorname', '$nachname', '$strasse', '$postleitzahl', '$ort', '$email', '$login_id', '$pass', '$max_id')";

    mysql_db_query("game", $sqlab);

    $num = mysql_affected_rows();

    if($num>0)

    {

    echo "Die Anfrage wurde abgeschickt. Sie erhalten bald eine Antwort auf Ihre angegebene Email-Adresse!";

    break;

    }

    else

    {

    echo "Es ist ein Fehler aufgetreten! Bitte versuchen Sie es erneut.";

    break;

    }

    }

    }

    mysql_close($db);

    }

    else

    {

    if($send)

    {

    echo "Füllen Sie bitte alle * Felder vollständig aus!";

    }

    else

    {

    echo "";

    }

    }

    ?>

    </body>

    </html>

  8. Hallo Leute,

    ich hab da ein problem. ich suche da jetzt schon seit längerem nach dem fehler, aber kann ihn nicht finden! helft mir bitte! es geht darum mit php einen datensatz in einen mysql server neu einzufügen!

    hier ist der quellcode:

    $sqlab = "insert into user";

    $sqlab .= "(vorname, nachname, strasse, plz, ort, email, login_id, pass, id) values";

    $sqlab .= "('$vorname', '$nachname', '$strasse', '$postleitzahl', '$ort', '$email', '$login_id', '$pass', '$max_id')";

    mysql_db_query("game", $sqlab);

    mit dem quellcode funktioniert es nicht!

    WARUM???:confused: :confused: :confused:

  9. hi leute!

    also ich bekomme diese fehlermeldung:

    Warning: Supplied argument is not a valid MySQL result resource in d:\...blablabla...\anmeldung.php on line 34

    und line 31 bis 40 sehen so aus:

    $db = mysql_connect();

    $sqlab = "select login_id, email from user";

    mysql_db_query("game", $sqlab);

    $num = mysql_num_rows($res); <----- das ist line 34!!!

    for($i=0;$i < $num;$i++)

    {

    $existing_login = mysql_result($i, "login_id");

    $existing_email = mysql_result($res, $i, "email");

    ich verstehe zwar die fehlermeldung, aber ich weiß nicht wie ich sie beheben soll!

    wo liegt der fehler?

    danke schonmal im voraus!

    da_ill

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...