Antworten auf deine Fragen:
Neues Thema erstellen

Login mit Sprachauswahl

G

Gelöschtes Mitglied 63549

Guest

Hallo liebe leute!

Ich bin auf der Suche nach einem Login Script mit einer Sprachauswahl.

Also ich gebe in ein Formular meinen Namen und das Passwort ein, kann dann noch aus einer Liste eine Sprache auswählen und mit dem Klick auf Login werde ich auf die gewünschte "index_de.php oder index_en.php" geleitet.

Kann mir da jemand helfen?
 

dlogic

Allrounder

AW: Login mit Sprachauswahl

Das kann man mit dem Einsatz von einer Select Box oder auch DropDown Box in Kombination mit JavaScript und PHP machen.
 

Lizzard

Aufmerksamer

AW: Login mit Sprachauswahl

Ein fertiges Script wird dir wohl keiner liefern. Du musst schon genauer beschreiben wo es bei dir hakt. Poste doch einfach mal das was du bis jetzt schon gemacht hast, dann wird sich bestimmt eine helfende Hand finden :)
 
G

Gelöschtes Mitglied 63549

Guest

AW: Login mit Sprachauswahl

Sodala!

Ich habe mir mal den ersten Tipp "selbst schreiben" zu Herzen genommen und bissl in Büchern und Internet gestöbert und habe mir mal ein kleines Skript zusammengebastelt mit dem ich ein Login und Logout auf Basis von PHP und MySQL.

Am Anfang gibt es da das Eingabeformular wo man Name und Password eingibt und aus der DropDown Liste die Sprache auswählt --> formular.php

PHP:
<?php session_start (); ?>
<html> 
<head> 
  <title>Login</title> 
</head> 

<body> 
<?php 
if (isset ($_REQUEST["false"])) 
{ 
  echo "Eingabe kontrollieren!"; 
} 
?> 
<form action="login.php" method="post"> 
  Name: <input type="text" name="name" size="20"><br><br>
  Kennwort: <input type="password" name="pass" size="20"><br><br>
  Sprache: 
  <select name="sprache" size="1">
    <option selected>deutsch</option>
    <option>englisch</option>
    <option>russisch</option>
    </select><br>
  <input type="submit" value="Login"> 
</form> 
</body> 
</html>
Dann habe ich eine Datei die die Verbindung zur Datenbank erstellt und die Eingabe im Formular überprüft --> login.php

PHP:
<?php 
session_start ();

    $_SESSION["name"] = $_POST['name'];

$connectionid = mysql_connect ("localhost", "d00a360b", "5213396"); 
if (!mysql_select_db ("d00a360b", $connectionid)) 
{ 
  die ("Fehler beim Verbindung zur Datenbank!"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname ". 
  "FROM ". 
    "user ". 
  "WHERE ". 
    "(Nickname like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".$_REQUEST["pass"]."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  $data = mysql_fetch_array ($result); 

  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 

  header ("Location: de/index.php"); 
} 
else 
{ 
  header ("Location: formular.php?false=1"); 
} 
?>
Und jetzt komme ich nicht weiter wie ich statt dem

PHP:
header ("Location: de/index.php");
eine Passage einbaue die in Abhängiokeit von der Spracheingabe auf die entsprechende Seite weiterleitet.

Vielleicht könnte da jemand einen Tippp geben!
Danke!
 

Top_Gun

Aktives Mitglied

AW: Login mit Sprachauswahl

Mal abgesehen davon, dass deine login.php nicht gerade sicher ist überprüf doch einfach an der von dir genannten Stelle ob die Variable $_POST("Sprache") deutsch oder englisch oder was auch sonst ist. Und je nachdem was ausgewählt wurde lässt du dich auf die richtige Seite weiterleiten...
 
G

Gelöschtes Mitglied 63549

Guest

AW: Login mit Sprachauswahl

Gut die Sicherheit ist nicht so hoch, aber da kenn ich mich gar nix aus wie ich das verbessern könnte! Okay das stelle ich mal hinten auf die ToDo Liste!

Für die Sprachabfrage habe ich mir folgendes gedacht!

PHP:
  $_SESSION["user_vorname"] = $data["Vorname"]; 
  
{
        if( $_POST['sprache']=='deutsch' && $_POST['name']==TRUE ) {
            header("Location: de/index_de.php");
        } elseif( $_POST['sprache']=='english' && $_POST['name']==TRUE ){
            header("Location: en/index_en.php");
        } else {
            header ("Location: formular.php?false=1");
        }

    }
?>

Aber das bringt einen Fehler :(.
 

Top_Gun

Aktives Mitglied

AW: Login mit Sprachauswahl

Ja, das ist schon besser, ein kleiner Fehler noch du musst das else doppelt drin haben so:
PHP:
  $_SESSION["user_vorname"] = $data["Vorname"]; 
  
{
        if( $_POST['sprache']=='deutsch' && $_POST['name']==TRUE ) {
            header("Location: de/index_de.php");
        } elseif( $_POST['sprache']=='english' && $_POST['name']==TRUE ){
            header("Location: en/index_en.php");
        } else {
            header ("Location: formular.php?false=1");
        }


} 
else 
{ 
  header ("Location: formular.php?false=1"); 
} 
?>

Und für die Sicherheit:
Informier dich über $_REQUEST und $_POST und über die SQL Injection ;)
 
G

Gelöschtes Mitglied 63549

Guest

AW: Login mit Sprachauswahl

Kommt leider wieder ein Fehler und zwar bezieht sich der Fehler auf des zweite else

Parse error: syntax error, unexpected T_ELSE in /www/htdocs/w00afd95/login_language/login.php on line 39
 
S

Suchthaufen

Guest

AW: Login mit Sprachauswahl

PHP:
$_SESSION["user_vorname"] = $data["Vorname"];
if(was auch immer du hier überprüfen willst)
{
        if( $_POST['sprache']=='deutsch' && $_POST['name']==TRUE ) {
            header("Location: de/index_de.php");
        } elseif( $_POST['sprache']=='english' && $_POST['name']==TRUE ){
            header("Location: en/index_en.php");
        } else {
            header ("Location: formular.php?false=1");
        }


} 
else 
{ 
  header ("Location: formular.php?false=1"); 
} 
?>
dann funktioniert das auch :)
 

Top_Gun

Aktives Mitglied

AW: Login mit Sprachauswahl

Klammerfehler:
PHP:
<?php 
session_start ();

    $_SESSION["name"] = $_POST['name'];

$connectionid = mysql_connect ("localhost", "d00a360b", "5213396"); 
if (!mysql_select_db ("d00a360b", $connectionid)) 
{ 
  die ("Fehler beim Verbindung zur Datenbank!"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname ". 
  "FROM ". 
    "user ". 
  "WHERE ". 
    "(Nickname like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".$_REQUEST["pass"]."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  $data = mysql_fetch_array ($result); 

  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 

if( $_POST['sprache']=='deutsch' && $_POST['name']==TRUE ) {
            header("Location: de/index_de.php");
        } elseif( $_POST['sprache']=='english' && $_POST['name']==TRUE ){
            header("Location: en/index_en.php");
        } else {
            header ("Location: formular.php?false=1");
        }


} 
else 
{ 
  header ("Location: formular.php?false=1"); 
} 
?>
So ists richtig...


@Suchthaufen: Nein so leider nicht. Das wäre ein if zuviel...
 
G

Gelöschtes Mitglied 63549

Guest

AW: Login mit Sprachauswahl

@Top_Gun danke für die Unterstützung! Besten Dank!
 
S

Suchthaufen

Guest

AW: Login mit Sprachauswahl

sorry, hab mir das Script nicht genau angesehen und von der Fehlermeldung auf den Fehler geschlossen :)
 

Chickenshooter

Alter Mann

AW: Login mit Sprachauswahl

Moin,

Die Nutzung der Superglobalen Request ist zwar einfach hat aber

einen ganz entscheidenen Nahtteil, ... es ist nicht Sicher.

$_REQUEST kann sein:

1. $_GET
2. $_POST
3. $_COOKIE

und des wegen ist das Ding nicht gerade vertrauenswürdig.

siehe: $_REQUEST - Manual unter Anmerkungen 3. Hinweis

MfG Chick
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben