php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 06-08-2018, 12:37
olly871
 Registrierter Benutzer
Links : Onlinestatus : olly871 ist offline
Registriert seit: Aug 2018
Beiträge: 6
olly871 befindet sich auf einem aufstrebenden Ast
Standard Login Form mit Senden funktion

Hallo zusammen,

gleich vorweg,, ich habe absolut keine Ahnung von PHP :-). Daher brauche ich mal ein Ratschlag von euch.
Ich möchte ganz gerne ein Login-Formular haben, welches unter Angabe von Name und Emailadresse + einen Passwort Code auf eine bestimmte Seite leitet. Bei Falscheingabe kommt eine Meldung.
Soweit so gut .... Ich habe ein Script bzw. eine Beispielseite gefunden, mit der ich genau das geschafft habe. Nun soll aber bei jedem Login eine Email im Hintergrund versendet werden, mit den Informationen des Users (Name + Email) welche er ja eingeben muss. Hintergrund ist der, dass man So sieht, ob der User sich mal eingeloggt hat oder nicht. Zumindest ist das so mein Gedanke .... geht das überhaupt, eine Schaltfläche mit zwei Funktionen zu belegen?
Falls ja, wie geht das?

PHP-Code:
<?php
if(isset($_POST['code')) {
    switch(
strtolower($_POST['code'])) {

    case 
"test":
        
$seite "http://www.bild.de/";
        break;
    default:
        
$warnung "Code ist fehlerhaft";
    }
 
    if(isset(
$seite)) {
        
header("Location: http://www.google.com/".$seite);
    }
}
?>

HTML-Code:
(function ($) {
    "use strict";


    /*==================================================================
    [ Focus input ]*/
    $('.input100').each(function(){
        $(this).on('blur', function(){
            if($(this).val().trim() != "") {
                $(this).addClass('has-val');
            }
            else {
                $(this).removeClass('has-val');
            }
        })    
    })
  
  
    /*==================================================================
    [ Validate ]*/
    var input = $('.validate-input .input100');

    $('.validate-form').on('submit',function(){
        var check = true;

        for(var i=0; i<input.length; i++) {
            if(validate(input[i]) == false){
                showValidate(input[i]);
                check=false;
            }
        }

        return check;
    });


    $('.validate-form .input100').each(function(){
        $(this).focus(function(){
           hideValidate(this);
        });
    });

    function validate (input) {
        if($(input).attr('type') == 'firma' || $(input).attr('name') == 'firma') {
            if($(input).val().trim().match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/) == null) {
                return false;
            }
            
        }
        if($(input).attr('type') == 'email' || $(input).attr('name') == 'email') {
            if($(input).val().trim().match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/) == null) {
                return false;
            }
            
        }
        else {
            if($(input).val().trim() == ''){
                return false;
            }
        }
    }

    function showValidate(input) {
        var thisAlert = $(input).parent();

        $(thisAlert).addClass('alert-validate');
    }

    function hideValidate(input) {
        var thisAlert = $(input).parent();

        $(thisAlert).removeClass('alert-validate');
    }
    
    /*==================================================================
    [ Show pass ]*/
    var showPass = 0;
    $('.btn-show-pass').on('click', function(){
        if(showPass == 0) {
            $(this).next('input').attr('type','text');
            $(this).find('i').removeClass('zmdi-eye');
            $(this).find('i').addClass('zmdi-eye-off');
            showPass = 1;
        }
        else {
            $(this).next('input').attr('type','password');
            $(this).find('i').addClass('zmdi-eye');
            $(this).find('i').removeClass('zmdi-eye-off');
            showPass = 0;
        }
        
    });


})(jQuery);
Wäre klasse, wenn mir da jemand nen Tip geben könnte oder mir sogar weiterhelfen kann.

Vielen Dank im Voraus :-)
Mit Zitat antworten
  #2 (permalink)  
Alt 07-08-2018, 09:03
chorn
 Registrierter Benutzer
Links : Onlinestatus : chorn ist offline
Registriert seit: Nov 2011
Beiträge: 131
chorn befindet sich auf einem aufstrebenden Ast
Standard

Speicher die Loginzeit doch einfach mit in der Datenbank.
Mit Zitat antworten
  #3 (permalink)  
Alt 07-08-2018, 11:20
olly871
 Registrierter Benutzer
Links : Onlinestatus : olly871 ist offline
Registriert seit: Aug 2018
Beiträge: 6
olly871 befindet sich auf einem aufstrebenden Ast
Standard

Das ganze läuft ohne Datenbank.
Leider ist es wichtig, dass Name und Emailadresse beim Login an eine bestimmte Emailadresse verschickt werden. Die Loginzeit reicht da leider nicht aus.
Dennoch vielen Dank für den Tip ;-)
Mit Zitat antworten
  #4 (permalink)  
Alt 10-08-2018, 20:45
basti1012
 Registrierter Benutzer
Links : Onlinestatus : basti1012 ist offline
Registriert seit: Jan 2018
Beiträge: 13
basti1012 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von olly871 Beitrag anzeigen
Nun soll aber bei jedem Login eine Email im Hintergrund versendet werden, mit den Informationen des Users (Name + Email) welche er ja eingeben muss. Hintergrund ist der, dass man So sieht, ob der User sich mal eingeloggt hat oder nicht. Zumindest ist das so mein Gedanke ....
Wo ist das problem. Wenn der User sich doch ein loggt braichst du doch nur die email +name+Zeit in einer mail verschicken.
Das ganze anmelden kann man ja auch auf php verlegen und da ist nee Email schnell versendet.

Oder habe ich jetzt irgendwas übersehen was du genau brauchst ?

Ich kann dir ja mal nee beispiel seite bauen. du gibst deine email an ,ein Passwort ,und gleichzeitig bekommst du eine email das du dich eingeloggt hast. Die Email müsstest du dann in dein Fall ja zu dir schicken lassen . Oder du läst die Email weg und speicherst die Logins in einer Textdatei
Mit Zitat antworten
  #5 (permalink)  
Alt 13-08-2018, 14:19
olly871
 Registrierter Benutzer
Links : Onlinestatus : olly871 ist offline
Registriert seit: Aug 2018
Beiträge: 6
olly871 befindet sich auf einem aufstrebenden Ast
Standard

Das wäre super klasse, wenn Du das machen würdest.
Ich kriege das mit meinen Kenntnissen leider nicht hin. Du hast das jedenfalls genau richtig verstanden .... ich brauche drei Eingabefelder (Name, Emailadresse und Passwort), wohingegen die Felder Name und Emailadresse (gerne mit Uhrzeit und Datum) per Email an mich geschickt werden.


Vielen Dank Dir im Voraus :-)
Mit Zitat antworten
  #6 (permalink)  
Alt 14-08-2018, 07:36
bandit600
 Registrierter Benutzer
Links : Onlinestatus : bandit600 ist offline
Registriert seit: Jan 2010
Beiträge: 182
bandit600 befindet sich auf einem aufstrebenden Ast
Standard

Das Versenden von Formulardaten gehört zu den Grundlagen!
PHP-Code:
<?php
use PHPMailerPHPMailerPHPMailer;
use 
PHPMailerPHPMailerException;

   
$name $email $password $message "";
   
   if (isset(
$_POST['name']))
   {
       if (
filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
       {
          
$name  htmlspecialchars($_POST["name"], ENT_QUOTES"UTF-8");
          
$email htmlspecialchars($_POST["email"], ENT_QUOTES"UTF-8");
          
          
$html "<!DOCTYPE html>
                    <html>
                     <head>
                      <meta charset='utf-8'>
                     </head>   
                       <body>
                        <h1>Login erfolgreich durchgeführt</h1>
                         <table>
                           <tr>
                            <td><b>Name:</b></td>
                            <td>$name</td>
                           </tr>
                           <tr>
                            <td><b>eMail:</b></td>
                            <td>$email</td>
                           </tr>
                           <tr>
                             <td><b>Datum:</b></td>
                             <td>" 
date("d.m.Y H:i") . "</td>
                           </tr>                          
                        </table>
                     </body>
                   </html>"
;
       
          require 
'./PHPMailer/src/Exception.php';
          require 
'./PHPMailer/src/PHPMailer.php';
          require 
'./PHPMailer/src/SMTP.php'
     
          
$mail = new phpmailer();
          
$mail->Host "smtp.server.de";
          
$mail->SMTPAuth true;
          
$mail->SMTPSecure 'tls';
          
$mail->Port 25;
          
$mail->Mailer   "smtp";
          
$mail->IsHTML(true);
          
$mail->IsSMTP(true);
          
$mail->From "absender@domain.de";
          
$mail->FromName "Mein Name";
          
$mail->SetFrom("absender@domain.de""Mein Name");
          
$mail->Username "SMTP-Benutzername";
          
$mail->Password "SMTP-Passwort";
          
$mail->Subject "Betreff";
          
$mail->AddAddress("empfaenger@domain.de");
          
$mail->msgHTML($html);
 
          
$mail->SMTPOptions = array('ssl' => array('verify_peer' => false,
                                                    
'verify_peer_name' => false,
                                                    
'allow_self_signed' => true
                                                   
)
                                   );
                                 
         if (!
$mail->send())
           
$message =  "Mailer Error: " $mail->ErrorInfo;
        else
        {
            
header ("Location: http://www.google.de");
            exit();
        }
    }
    else
      
$message "eMail-Adresse ungültig";
  }
?>
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Login</title>
  </head>
  <body>
  <h2>Login</h2>
<?php
  
if (strlen($message))
      echo 
"<span style='font-weight:bold; color: #ff0000'>$message</span><br>\n";
?>
  <form action="" method="post">
    <label for="name">Name</label> 
    <input type="text" name="name" id="name" maxlength="30" required>
    <br>
    <label for="email">eMail-Adresse</label> 
    <input type="text" name="email" id="email" maxlength="30" required>
    <br>
    <label for="email">Passwort</label> 
    <input type="passwort" name="password" id="password" maxlength="30" required>
    <br>
    <input type="submit" name="submit" value="Absenden">
  </form>
  </body>
 </html>
</div>Die Forensoftware hier ist auch Schrott, die killt Backslashes im Quellcode!
Die beiden Zeilen mit dem PHP-Mailer müssen so aussehen:


use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;




Download des phpMailers: https://github.com/PHPMailer/PHPMailer/releases
Mit Zitat antworten
  #7 (permalink)  
Alt 14-08-2018, 11:28
olly871
 Registrierter Benutzer
Links : Onlinestatus : olly871 ist offline
Registriert seit: Aug 2018
Beiträge: 6
olly871 befindet sich auf einem aufstrebenden Ast
Standard

Klasse vielen Dank Dir.


Ich habe mir den PHP mailer runtergeladen und eigentlich alle angaben im Script angepasst .... funktioniert aber leider noch nicht.

Ich gehe mal davon aus, dass Du das getestet hast und es bei Dir funktioniert, von daher muss ich irgendwo noch was falsch gemacht haben.
Auf jedan Fall schon mal ein riesen Dankenschön ;-)


Mit Zitat antworten
  #8 (permalink)  
Alt 14-08-2018, 12:42
bandit600
 Registrierter Benutzer
Links : Onlinestatus : bandit600 ist offline
Registriert seit: Jan 2010
Beiträge: 182
bandit600 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von olly871 Beitrag anzeigen
funktioniert aber leider noch nicht.
Das ist keine Problembeschreibung!
Mit Zitat antworten
  #9 (permalink)  
Alt 14-08-2018, 12:50
olly871
 Registrierter Benutzer
Links : Onlinestatus : olly871 ist offline
Registriert seit: Aug 2018
Beiträge: 6
olly871 befindet sich auf einem aufstrebenden Ast
Standard

Problem ist, dass ich keine Email zugeschickt bekomme.


Vermute mal, dass es mit diesem SMTP-Teil zusammenhängt.

Gibt es auch ne Möglichkeit die nachricht ohne SMTP zu verschicken?
Mit Zitat antworten
  #10 (permalink)  
Alt 14-08-2018, 13:05
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.589
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von olly871 Beitrag anzeigen
Problem ist, dass ich keine Email zugeschickt bekomme.

Vermute mal, dass es mit diesem SMTP-Teil zusammenhängt.
Statt Vermuten solltest du Nachschauen. Hast du das SMTP-Debugging aktiviert?
Mit Zitat antworten
  #11 (permalink)  
Alt 14-08-2018, 13:16
bandit600
 Registrierter Benutzer
Links : Onlinestatus : bandit600 ist offline
Registriert seit: Jan 2010
Beiträge: 182
bandit600 befindet sich auf einem aufstrebenden Ast
Standard

SMTP-Debuggung aktivieren:


$mail->SMTPDebug = 2;


Und mal an den Anfang des Scriptes diese Zeilen einbauen:


error_reporting(E_ALL);
ini_set('display_errors', true);
Mit Zitat antworten
  #12 (permalink)  
Alt 14-08-2018, 13:47
olly871
 Registrierter Benutzer
Links : Onlinestatus : olly871 ist offline
Registriert seit: Aug 2018
Beiträge: 6
olly871 befindet sich auf einem aufstrebenden Ast
Standard

100%ig, vielen Dank! Du hast mir sehr weitergeholfen.
Viele Grüße
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sendeplan mit Login-funktion für DJs gesucht darktown Apps und PHP Script Gesuche 1 18-02-2008 10:55
[Funktion] Autoresponder mit Datei oder Bild als Anhang senden sasle41 Apps und PHP Script Gesuche 6 16-08-2006 15:37
Login Script mit Admin Funktion bwiemer Apps und PHP Script Gesuche 1 29-06-2006 17:02
autom. form füllen/senden pumix PHP Developer Forum 12 11-03-2005 12:04
Login-Daten prüfen und Einträge an DB senden AndiA PHP Developer Forum 9 06-07-2004 14:38

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:55 Uhr.