Drop Down Menü problem

eco4ever

Mitglied
Hallo Leute,

Ich habe ein Problem in meinem Drop Down Menü.
Folgendes möchte ich:
Es soll auf der Seite ein Dropdown Menü mit vorhanden Gruppen aus der Mysql Liste angezeigt werden.
Password für die Gruppe ist in der Mysql Tabelle mit Md5 verschlüsselt.
Bei richtiger PW Eingabe zur ausgewählten Gruppe geht es weiter auf eine neue Seite.

PHP:
<?php
include ("connect.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// gruppenname and password sent from Form
    $mygpassword=mysql_real_escape_string($_POST['gpassword']);
    $mygpassword = md5($mygpassword);

    $sql='SELECT id FROM gruppe WHERE name = "'.$mygruppenname.'" and password = "'.$mygpassword.'"';
    $result=mysql_query($sql);
    $row=mysql_fetch_array($result);
    $count=mysql_num_rows($result);
    mysql_close($link);


}
?>
<select name="" size="auto">
                <?php
                $sql='SELECT name FROM gruppe WHERE 1';
                $result=mysql_query($sql);

                while ($row = mysql_fetch_array($result, MYSQL_NUM))
                {
                   echo("<option value='" . $row[0] . "'>" . $row[0] . "</option>");
                }
                ?>
            </select><br/>
<b>Gruppen Passwort: </b><br/>
<input type="password" name="gpassword" /><br />
<input type="submit" name=anmelden value="Anmelden" />


Leider funktioniert noch nicht alles. Ich bekomme es nicht hin die ausgewählte Gruppe aus dem Drop Downmenü zubekommen und mit dem eingebenden Password mit dem Inhalt der Datenbank zuvergleichen.

Die Daten aus der Datenbank in das DropDownMenü automatisch einzufügen Funktioniert.

Meine Datenbank für die Gruppen ist im Anhang.

Es währe super wenn ihr mir dabei helfen könntet.
 

Anhänge

  • mydb-3.sql.zip
    1,7 KB · Aufrufe: 3
Danke für die schnelle Antwort Yaslaw.

$mygruppenname wird noch garnicht abgefüllt .Da soll ja quasi die Gruppe rein die in dem Dropdown ausgewählt wurde . Diese abfrage fehlt noch komplett und ich weiß nicht wie ich rausbekomme was im Dropdown ausgewählt wurde.

ich würde wenn ich die ausgewählte Gruppe in $mygruppenname habe die über mysql_real_escape_string prasen das fehlt aber halt noch.

die frage ist halt wie ich die ausgewählte Gruppe rausbekomme.

grüße
 
Ich bin jetzt mal von dein Quellcode ausgegangen.
Ich hoffe, dass ich dein Problem auch richtig Verstanden habe.

PHP:
<?php
include ("connect.php");
if($_SERVER["REQUEST_METHOD"] == "POST" && isset( $_POST['grpname']))
{
// gruppenname and password sent from Form
  $mygruppenname = mysqli_real_escape_string($link, $_POST['grpname']);
   $mygpassword=mysqli_real_escape_string($link, $_POST['gpassword']);
   $mygpassword = md5($mygpassword);

   $sql='SELECT id FROM gruppe WHERE name = "'.$mygruppenname.'" and password = "'.$mygpassword.'"';
} else {

               $sql='SELECT name FROM gruppe WHERE 1';
}
?>

<select name="grpname" size="auto">
               <?php
                  $result=mysqli_query(g($link, $sql);
      $count=mysqli_num_rows($result);

               while ($row = mysqli_fetch_array($result, MYSQL_NUM))
               {
                   echo("<option value='" . $row[0] . "'>" . $row[0] . "</option>");
               }
    mysqli_close($link);
               ?>
            </select><br/>
<b>Gruppen Passwort: </b><br/>
<input type="password" name="gpassword" /><br />
<input type="submit" name=anmelden value="Anmelden" />
 
Zuletzt bearbeitet:
Parse error: syntax error, unexpected ';' in/Applications/XAMPP/xamppfiles/htdocs/pages/gruppeausw.php on line 19

Code:
  $result=mysqli_query(g($link, $sql);

das ist die Zeile 19.

und ich glaube du hast mich richtig verstanden:)

danke!!!!

EDIT:

ich gehe mal davon aus das mysqli_query(g($link, $sql); so heißen soll mysqli_query($link, $sql);

EDIT2:

er zeigt mir jetzt aber keine Gruppen mehr an im Dropdown-Menü.
die Generierung mit den Gruppen aus der Datenbank für das Dropdown-Menü wird ja jetzt oben im ELSE fall gemacht. glaube das haut nicht hin oder?
 
Zuletzt bearbeitet:
Ich habe es so gemacht und jetzt funktioniert es erstmal soweit.
Wie kann ich jetzt das so machen das er bei richtiger Kombination auf eine andere Seite wechselt?
bei meinem Login habe ich das so gemacht

Code:
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$myusername=mysql_real_escape_string($_POST['username']);
$mypassword=mysql_real_escape_string($_POST['password']);
$mypassword = md5($mypassword);


$sql='SELECT id FROM user WHERE name = "'.$myusername.'" and password = "'.$mypassword.'"';

    $result=mysql_query($sql);


    //echo $result;
    $row=mysql_fetch_array($result);

    $count=mysql_num_rows($result);

    mysql_close($link);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
$_SESSION["login"] = 1;
$_SESSION['login_user']=$myusername;
header('Location: pages/liste.php');
}
else
{
echo "Your Login Name or Password is invalid";
}

}
?>

merzi86 kannst du das irgendwie mit einbauen?
 
Ich bin gerade etwas Verwirrt.
Du möchtest nach dem Code, den wir vorhin hatten und die Abfrage mit dem Passwort erfolgreich war weitergeleitet werden?

Das macht irgendwie kein Sinn, denn dadurch ist die Änderung ja hinfällig.
Vorallen kann man nach Ausgaben im Browser die Location nicht mehr ändern.
 
naja ich sag mal was ich theoretisch gedacht habe.
Auf der Startseite klickt mann auf Register.
Register öffnet sich. Auswahl zwischen neuer und bestehender Gruppe.
Entweder neue Gruppe erstellen oder bestehende Gruppe joinen.
User Registrierung öffnet sich. Mann registriert sich.
Jetzt kommt mann auf die Index zurück und kann sich einloggen.

sinn dahinter ist das der Inhalt auf der Seite nach dem Login von der jeweiligen Gruppe abhängen soll. Eine ToDO Liste die je nach Gruppe sich automatisch aufbaut.

hoffe du weißt jetzt was ich meine.
nach der Auswahl der Gruppe und dem richtigen Passwort soll der Nutzer sich in diese Gruppe registrieren.

fals du meine Mysql Tabellen brauchst sag bescheid.

Ich muss das für eine Projekt für die Uni machen und bin dabei mir alles selber beizubringen was nicht so leicht fällt.

grüße Tobias
 
hallo,

ich habe es jetzt folgender maßen gelöst
Code:
<?php
include ('connect.php');
?>
<form action='gruppenlogincheck.php' method="post">
    <select name="grpname" size="auto">
    <?php
    $sql='SELECT name FROM gruppe WHERE 1';
    $result=mysql_query($sql);
    $count=mysqli_num_rows($result);


    while ($row = mysql_fetch_array($result, MYSQL_NUM))
    {
        echo("<option value='" . $row[0] . "'>" . $row[0] . "</option>");
    }
    mysql_close($link);
    ?>
</select><br/>
    <b>Gruppen Passwort: </b><br/>
    <input type="password" name="gpassword" /><br />
    <input type="submit" name="anmelden" value="Anmelden" />
</form>
Code:
?php
include ('connect.php');
if(isset($_POST['anmelden']))
{
// gruppenname and password sent from Form
    $mygruppenname = mysql_real_escape_string($_POST['grpname']);
    $mygpassword=mysql_real_escape_string($_POST['gpassword']);
    $mygpassword = md5($mygpassword);

    $sql='SELECT id FROM gruppe WHERE name = "'.$mygruppenname.'" and password = "'.$mygpassword.'"';

    $result1=mysql_query($sql);
    $count1=mysql_num_rows($result1);
    mysql_close($link);
    $gruppenName=( $_POST['grpname']);

if($count1==1)
{
header('Location: benutzername.php?gruppenN='.$gruppenName);
}
else
{
echo "Your Login Name or Password is invalid";
}
    }
?>

Code:
<?php
include ('connect.php');
if (isset($_POST['submit']))
{
    if(mysql_num_rows(mysql_query("SELECT * from user WHERE name='" . $_POST['username'] . "'")) == 1){
        echo "Oops! Username is already in use!";
    }
    else if($_POST['password'] != $_POST['repassword']){
        echo "Oops! The two entered passwords don`t match!";
    }
    else if(strlen($_POST['username']) > 15){
        echo "Oops! Username is too long!";
    }
    else if(strlen($_POST['username']) < 6){
        echo "Oops! Username is too short!";
    }
    else if(strlen($_POST['password']) > 15){
        echo "Oops! Password is too long!";
    }
    else if(strlen($_POST['password']) < 6){
        echo "Oops! Password is too short!";
    }
    else if(preg_match('/[^0-9A-Za-z]/',$_POST['username'])){
        echo "Oops! Unknown letters at username!";
    }
    else if(preg_match('/[^0-9A-Za-z]/',$_POST['password'])){
        echo "Oops! Unknown letters at password!";
    }
    else{
        $name = $_POST['username'];
        $password = md5($_POST['password']);
        $gruppenid = mysql_fetch_array(mysql_query("SELECT id from gruppe WHERE name='" . $_GET['gruppenN'] . "'"));

        mysql_query("INSERT into user VALUES ('','$name','$password','$gruppenid[0]')") or die(mysql_error());
        mysql_close($link);

        header('Location: ../index.php');
    }
    mysql_close($link);

}
?>
<!DOCTYPE html>
<html lang="de">
<head>
    <title>Registrierung</title>
    <meta charset="UTF-8"/>
    <link href="../style.css" type="text/css" rel="stylesheet"/>
</head>
<body bgcolor="#deb887">

<div class="grossebox">
    <div class="innen">

        <h1>Registrierung</h1>
        <form action="" method="post">
            <b>Benutzername:</b><br />
            <input type="text" name="username" /><br />
            <b>Passwort:</b><br />
            <input type="password" name="password" /><br />
            <b>Passwort wiederholen:</b><br/>
            <input type="password" name="repassword" /><br />
            <input type="submit" name="submit" value="Anmelden" />
        </form>

    </div>
</div>

</body>
</html>

Das funktioniert soweit jetzt.
Die Funktion für Gruppe neu ist ähnlich und funktioniert auch.

Ich poste es nur damit falls jemand das selbe Problem hat mein Ergebnis nutzen kann.

Danke
 
Zurück