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

Text Ausgaben importieren

T4k3C4r3

Mitglied
Mahlzeit allerseits!

Meine Frage ist:

Ich habe z.B eine index.html:
HTML:
<form method="POST" action="../php/login.php" >
<table width="300">
<tr><td>Username: </td><td><input name="username" type="text" /></td></tr>
<tr><td>Password: </td><td><input name="password" type="password" /></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Login" /></td></tr>
<tr>td></td><td> HIER SOLLEN DIE IMPORTIeREN "ECHOS UND DIE FUNKTIONEN HER </td></tr>
</table>
</form>

Und eine VERKÜRTZE login.php:
PHP:
<?php

if ($username && $password)
{

    
    if ($numrows != 0)
    {

        
        if ($username == $dbusername && $password == $dbpassword)
        {
            echo "Login successful!"
        }
        else
        {
            echo "Incorrect password!";
        }
    }
    else
    {
        die ("That user doesen't exist!");
    }
}
else
{
    die ("Please enter a username and a Password!");
}


?>

Wie kann ich die "Echo's" und die "die" Funktionen in der index.html ausgeben lassen bzw importieren ?


Mfg

T4k3C4r3
 
Lies dich bitte in die Grundlagen ein.
PHP: Einführung - Manual

In Html kann man normalerweise kein von PHP erzeugten Code ausgeben lassen. Die index-Datei muss dazu die Endung .php haben.

Nebenbei bemerkt ist der Code für das Login-Formular unsauber erstellt und die PHP-Datei falsch und zudem ein Ziel für Angriffe auf den Server und die Datenbank.
 
Danke für die Anwort!

Die index.html habe ich jetzt in index.php geändert.

Dennoch wie oben schon beschrieben ist der ober PHP Quellcode SEHR SEHR STARK Verkürzt damit großteils nur die Ausgabe funktionen herausstechen!

Das was ich eig wissen wollte is wie man den ausgabe text so Abspeichert, damit man in in einer anderen Datei - in meinem Fall die index.php - wieder abrufen kann.
HAt vielleicht noch einen Ratschlag für mich ?
 
Das was ich eig wissen wollte is wie man den ausgabe text so Abspeichert, damit man in in einer anderen Datei - in meinem Fall die index.php - wieder abrufen kann.

Ich versteh nicht recht was du willst. Du hast eine Login-Datei, das kann eine Html Datei sein, aber auch ein Affenformular in PHP. Kommt halt auf die Umsetzung an.
Danach hast du das PHP-Script, das die Formulardaten entgegen nimmt und prüft und dann hast du darin auch die Ausgabe, das kann HTML sein.

Vielleicht hilft dir eine andere Anleitung besser weiter: PHP fr dich - Einbinden von Dateien mittels include
 
Wie kann ich die "Echo's" und die "die" Funktionen in der index.html ausgeben lassen bzw importieren ?

Mfg

T4k3C4r3

Du könntest sie in einer Funktion verpacken und dir den Rückgabewert ausgeben lassen (nicht getestet).
PHP:
<?php
function login() {
    ...................
    if ($username == $dbusername && $password == $dbpassword)
        {
            return "Login successful!"
        }
        else
        {
            return "Incorrect password!";
        }
    ...........
}
?>
<div> id="foo"><?php echo login(); ?> </div>
 
Ohne mir ein Kommentar zu erlauben:

HTML:
<form method="POST" action="../php/login.php" >
<table width="300">
<tr><td>Username: </td><td><input name="username" type="text" /></td></tr>
<tr><td>Password: </td><td><input name="password" type="password" /></td></tr> <tr><td></td><td><input type="submit" name="submit" value="Login" /></td></tr>
<tr>td></td><td> <?=checkLogin();?> </td></tr> </table>
</form>


login.php
PHP:
<?php

function checkLogin(){


if ($username && $password)
{

    
    if ($numrows != 0)
    {

        
        if ($username == $dbusername && $password == $dbpassword)
        {
            return "Login successful!"
        }
        else
        {
            return "Incorrect password!";
        }
    }
    else
    {
        return "That user doesen't exist!";
    }
}
else
{
    return "Please enter a username and a Password!";
}


}
 
Du könntest sie in einer Funktion verpacken und dir den Rückgabewert ausgeben lassen (nicht getestet).
PHP:
<?php
function login() {
    ...................
    if ($username == $dbusername && $password == $dbpassword)
        {
            return "Login successful!"
        }
        else
        {
            return "Incorrect password!";
        }
    ...........
}
?>
<div> id="foo"><?php echo login(); ?> </div>


Ohne mir ein Kommentar zu erlauben:

HTML:
<form method="POST" action="../php/login.php" >
<table width="300">
<tr><td>Username: </td><td><input name="username" type="text" /></td></tr>
<tr><td>Password: </td><td><input name="password" type="password" /></td></tr> <tr><td></td><td><input type="submit" name="submit" value="Login" /></td></tr>
<tr>td></td><td> <?=checkLogin();?> </td></tr> </table>
</form>


login.php
PHP:
<?php

function checkLogin(){


if ($username && $password)
{

    
    if ($numrows != 0)
    {

        
        if ($username == $dbusername && $password == $dbpassword)
        {
            return "Login successful!"
        }
        else
        {
            return "Incorrect password!";
        }
    }
    else
    {
        return "That user doesen't exist!";
    }
}
else
{
    return "Please enter a username and a Password!";
}


}

Diese Möglichkeit wäre für mich auch sehr logisch, aber dabei bekomme ich immer folgenden Error :

[TABLE="width: 300"]
[TR]
[TD][/TD]
[TD]Fatal error: Call to undefined function login() in /users/********/www
/home/index.php
on line 88

und auf line 88 ist der eingefügte php code



Vielleicht hab ich "mein Ziel" falsch erklärt:

Wie Ihr wahrscheindlich kennt wird auf den meisten Websiten beim Login direkt unter dem Login-Formular eine Message angezeigt, wie z.B. "Login erfolgreich" und die würde ich auch gerne erreichen.

Zurzeit wird man bei mir auf eine neue Seite umgeleitet (login.php) und ich hätte gerne das der Ausgabetext auf der index.php angezeigt wird und nicht auf der login.php
[/TD]
[/TR]
[/TABLE]
 
Zuletzt bearbeitet:
Zurzeit wird man bei mir auf eine neue Seite umgeleitet (login.php) und ich hätte gerne das der Ausgabetext auf der index.php angezeigt wird und nicht auf der login.php

Dann muss auch alles in die Index.php, wobei die natürlich recht gross werden kann.
Wie ich schon sagte nennt man das dann auch Affenformular, da sich die Seite wieder erneut aufruft.

Diese Zeile hier:
PHP:
<form method="POST" action="../php/login.php" >

muss dann folgendermassen lauten:
PHP:
<form method="POST" action="index.php" >

In der index.php muss durch verzweigte Anweisungen sichergestellt werden, dass nicht das komplette Script durchlaufen wird, sondern nur die Teile, die relevant sind.
 
Du solltest dich schon für einen der beiden Varianten entscheiden.

Ich habe meine Funktion "checkLogin" in dem Beispiel genannt, wenn du das benutzen willst, darf der Code von "Tronjer" nicht mit eingebunden werden. Oder andersum, wenn du "Tronjer"'s Code benutzt, darf mein Code nicht eingebunden werden.


Du solltest dich aufjedenfall besser mit den Grundkenntnissen in Kraft setzten, da du ohne diese nicht weiter kommen wirst im Projekt und es scheint als fehlen selbst die Grundkenntnisse der Grundkenntnisse.

Wenn du die Login Checks im Index machen willst, dann tus doch? Es zwingt dich niemand eine Login.php einzubinden.

HTML:
<?php
if( isset( $_POST[ 'submitLogin' ] ) ){

   $loginname = isset( $_POST[ 'loginname' ] ) ? mysql_real_escape_string( $_POST[ 'loginname' ] ):false;
   $password = isset( $_POST[ 'password' ] ) ? md5( $_POST[ 'password' ] ) : false;
   
 if( $loginname && $password ){

   $qry = mysql_query( 'SELECT `loginname` FROM `users` WHERE `loginname`="'.$loginname.'" ' );
   if( mysql_num_rows( $qry ) > 0 ){

      $qry2 = mysql_query( 'SELECT `loginname`,`password` FROM `uses` WHERE `loginname`="'.$loginname.'" AND `password`="'.$password.'" ' );
      if( mysql_num_rows( $qry2 ) == 1 ){
          $row = mysql_fetch_assoc( $sql2 );
          echo 'Herzlich willkommen '.$row[ 'loginname' ];
      } else {
          echo 'Benutzerdaten stimmen nicht &uuml;berein.';
      }
   } else {
      echo 'Benutzer nicht vorhanden.';
   }
  } else {
     echo 'Bitte geben Sie Loginname und Passwort ein.';
  }
}
?>

<form action="index.php" method="POST">
<table>
<tr>
    <td>Loginname:</td><td><input type="text" name="loginname" /></td>
</tr>
<tr>
    <td>Passwort:</td><td><input type="password" name="password" /></td>
</tr>
<tr>
    <td></td><td><input type="submit" name="submitLogin" value="Login" /></td>
</tr>
</table>
</form>
 
Dann muss auch alles in die Index.php, wobei die natürlich recht gross werden kann.
Wie ich schon sagte nennt man das dann auch Affenformular, da sich die Seite wieder erneut aufruft.

Diese Zeile hier:
PHP:
<form method="POST" action="../php/login.php" >

muss dann folgendermassen lauten:
PHP:
<form method="POST" action="http://www.html.de/forum.php" >

In der index.php muss durch verzweigte Anweisungen sichergestellt werden, dass nicht das komplette Script durchlaufen wird, sondern nur die Teile, die relevant sind.

Danke für den Link, kannte den Begriff so noch nicht, auch wenn ich es bereits des öfteren benutzt habe.
 
Zurück
Oben