Login mit Sprachauswahl

montz420

Mitglied
Hallo Leute !

Ich habe folgende Indexseite mit einem FORM in der die User ihren Namen und ihre Sprache angeben können:

HTML:
<form name="login" method="post" action="">
            <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td height="34">Name</td>
                <td>
                  <div align="right">
                    <input name="name" type="text" size="18" maxlength="18">
                  </div>
                </td>
              </tr>
              <tr>
                <td height="22">Sprache</td>
                <td><div align="right">
                  <label>
                  <select name="sprache" size="1">
                    <option>Deutsch</option>
                    <option>English</option>
                  </select>
                  </label>
                </div></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><br></td>
              </tr>
              <tr>
                <td height="47" colspan="2"><div align="center">
                  
                  <p>
                    <input type="submit" name="Submit" value="Eintreten">
                  </p>
                  </div></td>
              </tr>
            </table>
          </form>

Zudem hab ich noch je 2 komplette Webseiten gemacht je auf Deutsch und auf Englisch.
Jetzt möchte ich, dass der User bei Wahl auf die Seite mit dem Pfad "deutsch/d_start.php" oder auf "english/e_start.php" weitergeleitet wird.

Wie kann ich das verwirklichen? Ist das mit PHP gut gelöst? Weil ich ja außerdem uach noch den Namen übertragen will auf die nächste Seite.

Vielen Danke im Voraus, ein treuer User =D
 
Nach Versand des Formulars kannst Du ja im auswertenden Script anhand der uebergebenen Sprache entscheiden wohin weitergeleitet werden soll. Dies geschieht dann ueber header().
Zuvor schreibst Du natuerlich noch die UserID oder den Usernamen, je nachdem was Dir lieber ist, in eine Session sodass diese Daten weiter genutzt werden koennen.
 
Das würd ich alles gern machen, nur leider sind meine PHP Kenntnisse zu schlecht dafür, was würdet ihr mir raten ? gibts eine Seite wo genau das erklärt wird oder kann mir bitte wer ein bischen unter die Arme greifen?
 
Hallo,

hier eine kleine Hilfe:


1.) Anmeldescript:
PHP:
<?php

	session_start();

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

	if( $_POST['senden']=='Eintreten' ) {

		if( $_POST['sprache']=='Deutsch' && $_POST['name']==TRUE ) {
			header("Location: deutsch.php");
		} elseif( $_POST['sprache']=='English' && $_POST['name']==TRUE ){
			header("Location: english.php");
		} else {
			echo "*Fehler!- Bitte alle Felder ausfüllen!";
		}

	}

?>

2.) Weiterleitung wenn Bedingung erfüllt wurde auf deutsch.php oder english.php:

PHP:
<?php

	// deutsch.php oder english.php
	session_start();

	echo "Willkommen ".$_SESSION["name"];

	// Hier den Rest der Seite

?>


Hoffe ich konnte Dir ein wenig behilflich sein.


Gruß

RS9999:)
 
Tut mir leid ich bring es nicht zusammen!

Ich weiß nicht was ich im FORM Tag machen muss bei action="". Dann weiß ich nicht wo ich das anmeldescript hingeben muss. Hab jetzt ein wenig rumprobiert aber nichts funktioniert =(
 
Hallo,

also, so sieht die erste Seite des CODE aus, wenn der USER auf Deine Page kommt. (index.php)
Sollte er jetzt alles ausgefüllt haben, was die Bedingungen ja prüfen,
wird er entsprechend der Angaben auf die Seite deutsch.php oder english.php weitergeleitet.

Empfehle Dir, Dich doch ein wenig mehr mit PHP zu befassen, da wir hier nicht dafür zuständig sind, Code für andere zu schreiben, sondern lediglich um eine Hilfestellung zu geben.


Buch = PHP für Anfänger.
Internet = :google: + entsprechende Frage.


###########################################################################################



PHP:
<?PHP

    session_start();

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

    if($_POST['senden']=='Eintreten'){
       if($_POST['sprache']=='Deutsch' && $_POST['name']==TRUE){
       header("Location: deutsch.php");
       }
       elseif($_POST['sprache']=='English' && $_POST['name']==TRUE){
       header("Location: english.php");
       }
       else{
       $fehler = "*Sorry!- Bitte den Namen angeben!";
     }
   }


?>
HTML:
<form name="login" method="post" action="<?php $_SERVER['PHP_SELF']  ?>">
            <table width="90%" border="1" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td height="34">Name</td>
                <td>
                  <div align="right">
                    <?php echo $fehler ?><input name="name" type="text" size="18" maxlength="18">
                  </div>
                </td>
              </tr>
              <tr>
                <td height="22">Sprache</td>
                <td><div align="right">
                  <label>
                  <select name="sprache" size="1">
                    <option>Deutsch</option>
                    <option>English</option>
                  </select>
                  </label>
                </div></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><br></td>
              </tr>
              <tr>
                <td height="47" colspan="2"><div align="center">
                  
                  <p>
                    <input type="submit" name="senden" value="Eintreten">
                  </p>
                  </div></td>
              </tr>
            </table>
          </form>
Gruß RS9999
 
Hmm ich würde das ja gern auf erledigt stellen, aber ich versteh noch nicht alles vom php code.

Was hat es damit auf sich?

PHP:
header("Location: deutsch.php");

ich will ja dass er die deutsch.php öffnet, die ganze seite samt tabelle !

Und gehört das
PHP:
<?PHP

    session_start();

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

    if($_POST['senden']=='Eintreten'){
       if($_POST['sprache']=='Deutsch' && $_POST['name']==TRUE){
       header("Location: deutsch.php");
       }
       elseif($_POST['sprache']=='English' && $_POST['name']==TRUE){
       header("Location: english.php");
       }
       else{
       $fehler = "*Sorry!- Bitte den Namen angeben!";
     }
   }


?>

in den body oder in den head tag ?

Danke, dass ihr euch so bemüht habt bis jetzt und so gute Nerven habt !

tia
 
Hallo,

da du ja noch PHP-Anfänger bist, würde ich dir erstmal ein gutes Tutorial empfehlen, weil es auch nichts bringt, wenn du den Code nicht verstehst. Aber trotzdem hab ich das nochmal für dich zusammengebastelt:

PHP:
<?php
session_start(); 



if($_POST['submit'] AND $_POST['name'] AND $_POST['sprache']){ 

	$_SESSION["name"]=$_POST['name'];
	
	if($_POST['sprache']=='Deutsch'){ 
		header("Location: deutsch.php");
	} 
	elseif($_POST['sprache']=='English'){ 
		header("Location: english.php");
	}
}
else{
?>
<html>
<head>
</head>
<body>
<form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF'];  ?>">
            <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td height="34">Name</td>
                <td>
                  <div align="right">
                    <input name="name" type="text" size="18" maxlength="18">
                  </div>
                </td>
              </tr>
              <tr>
                <td height="22">Sprache</td>
                <td><div align="right">
                  <label>
                  <select name="sprache" size="1">
                    <option>Deutsch</option>
                    <option>English</option>
                  </select>
                  </label>
                </div></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><br></td>
              </tr>
              <tr>
                <td height="47" colspan="2"><div align="center">
                  <p> <input type="submit" name="submit" value="Eintreten"></p>
                  </div></td>
              </tr>
            </table>
</form>
</body>
</html>
<?php }?>

Das header("Location: deutsch.php"); leitet dich auf deutsch.php weiter.
 
Ich habe jetzt alles ausprobiert, genau das script welches du mir vorgeschlagen hast @j cop

Ich habe nur die php datei umbenannt da sie english/e_start.php und deutsch/d_start.php heissen, also nur:

PHP:
if($_POST['sprache']=='Deutsch'){  
        header("Location: deutsch/d_start.php"); 
    }  
    elseif($_POST['sprache']=='English'){  
        header("Location: english/e_start.php");

anzusehen unter: http://www.moto-x-man.com/MONTZ/BEWERBUNGSPAGE/
 
Hallo,

habe mir gerade deinen HTML- Quelltext angeschaut und festgestellt,
dass Du hier:

HTML:
<input type="submit" name="Submit" value="Eintreten">
bei name="Submit" angegeben hast, der Kollege aber in seinem Vorschlag
das absenden des Formular mit:

PHP:
$_POST['submit']
überprüft.

also ändere das und es müßte funktionieren.


Gruß

RS9999:)
 
Zurück