php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.07.2010, 20:26  
Benutzer
 
Registriert seit: 24.04.2010
Beiträge: 64
PHP-Kenntnisse:
Anfänger
djlars zeigte ein beschämendes Verhalten in der Vergangenheit
Standard PW-Vergessung funktioniert nicht!

Hallo,
ich habe folgendes Script :

pwfg.php:
PHP-Code:
<?php
                  
    
include_once "zugriff.inc.php";
include 
"fgcheck.inc.php"
if (!empty(
$status2)) {
  echo 
"<p><strong>$status2</strong></p>";

$user = isset($_POST['user']) ? htmlspecialchars(stripslashes($_POST['user'])) : "";
$email = isset($_POST['email']) ? htmlspecialchars(stripslashes($_POST['email'])) : "";

echo <<<FORMULARFG
<form action="{$_SERVER['PHP_SELF']}" method="post">
Benutzernamen eingeben:<br>
<input type="text" name="user" maxlength="15"
value="
{$user}"><br>

E-Mail-Adresse eingeben:<br>
<input type="text" name="email" value="
{$email}"><br>
<input type="submit" value="Abschicken" name="sm"> 
</form>
FORMULARFG;
?>
fgcheck.inc.php
PHP-Code:
<?php 
$user 
trim($_POST['user']);
  
$email trim($_POST['email']);
function 
userchecker ($user$email)
{
    
$sql_usercheck "SELECT email FROM users WHERE name='$user'";

    
$results mysql_query($sql_usercheck);

    while(
$row mysql_fetch_assoc($results))
    {
        if(
$row->email == $email)
        {
          return 
true;
        }
    }
}

function 
fgmail($user$empfaenger)
{
    
$chars "abcdefghijkmnopqrstuvwxyz023456789";
    
    
srand((double)microtime()*1000000);
    
    
$i 0;
    
    
$pass '' ;
    
    while (
$i <= 7)
    {

        
$num rand() % 33;

        
$tmp substr($chars$num1);

        
$pass $pass $tmp;

        
$i++;
    }
    
  
$betreff "Dein neues Passwort für bulistar.de";
  
$absender "info@bulistar.de";
  
$url "http://bulistar.de/New/login.php";
  
// Editieren Ende
  
$anhang str_rot13("$user.Q3x$empfaenger");
  
$anhang strrev($anhang);
  
$url .= "?as=$anhang";
  

  
$mailbody "Hallo $user,

dein neues Passwort für bulistar.de lautet:
$pass
Um dein neues Passwort zu bestätigen, klicke bitte auf den unten stehenden Link!
Falls du kein neues Passwort beantragt haben solltest, ignoriere bitte diese Mail.
$url

Für AOL-Nutzer:
<a href='www.bulistar.de/New/register.php?as=$anhang'>Hier klicken</a>
(in die Adressleiste des Browsers kopieren)

Danke, das Team von bulistar.de"
;

  if (
mail($empfaenger$betreff$mailbody"From: $absender"))
  {
      return 
"<span style='color:green'>erfolg</span>";
  }
  else
  {
    return 
"<span style='color:#FF0000'>Aktivierungsmail nicht verschickt!</span>";
  } 
}



if (!empty(
$_POST['user']))
{
  
  
  
  
  
$muster1 "/^[a-zA-Z0-9-_.@]{4,15}$/";
  
$muster2 "/^[a-z&auml;&ouml;&uuml;A-Z]{2,17}$/";  
  
  if (
preg_match($muster1$user) == 0)
  {
    
$status2 .= "<span style='color:#FF0000'>Das ist kein g&uuml;ltiger Benutzername!</span><br>";
  }

  
  
  
$muster2 "/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
  
  if (
preg_match($muster2$email) == 0)
  {
    
$status2 .= "<span style='color:#FF0000'>Die E-Mail-Adresse ist ung&uuml;ltig!</span><br>";
  }
  
  
  
  if (empty(
$status2))
  {
    
        if(
userchecker($user$email))
        {
            
fgmail ($user$email);   
        } else {
      
$status2 "Keine Übereinstimmung";
    }
    }
    
    
  
}


?>
In der zugriff.inc.php wird nur die Verbindung zur Datenbank hergestellt.

Wenn man jetzt aber in dem Formular die Richtigen Daten eingibt, kommt nur "Keine Übereinstimmung", das gleiche kommt auch, wenn man falsche Daten eingibt. Die Mail mit dem neuen Passwort wird dabei nie gesendet.

Ich hoffe ihr könnt mir helfen.

Greetz
djlars ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.07.2010, 20:35  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.720
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Wie sieht dein Error Reporting aus? Eigentlich sollte dir das Skript hier um die Ohren fliegen:

PHP-Code:
if($row->email == $email
mysql_fetch_assoc holt die Daten schließlich nicht als Objekt sondern als assoziatives Array. Es kann natürlich sein, dass diese Stelle gar nicht erreicht wird, weil du irgendwo anders noch einen Fehler hast, wie wäre es mit Debug-Ausgaben?
fab ist offline  
Alt 29.07.2010, 20:40  
Benutzer
 
Registriert seit: 24.04.2010
Beiträge: 64
PHP-Kenntnisse:
Anfänger
djlars zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hast recht..

ich hab jetz $row['email'] genommen, jetzt geht es
djlars ist offline  
Alt 29.07.2010, 22:24  
Benutzer
 
Registriert seit: 24.04.2010
Beiträge: 64
PHP-Kenntnisse:
Anfänger
djlars zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,

ich verzweifle gerade echt.
Die Datei hat anfangs noch sinen Dienst erfüllt, aber jetzt nicht mehr. Obwohl ich eigentlich gar nichts geändert habe..

hier die aktuelle fgcheck.inc.php :
PHP-Code:
<?php 
ini_set
('display_errors',1);
error_reporting(E_ALL);

function 
userchecker ($user$email)
{
    
$sql_usercheck "SELECT email FROM users WHERE name='$user'";

    
$results mysql_query($sql_usercheck);

    while(
$row mysql_fetch_assoc($results))
    {
        if(
$row['email'] == $email)
        {
          return 
true;
        }
    }
}

function 
fgmail($user$empfaenger)
{
    
$chars "abcdefghijkmnopqrstuvwxyz023456789";
    
    
srand((double)microtime()*1000000);
    
    
$i 0;
    
    
$pass '' ;
    
    while (
$i <= 7)
    {

        
$num rand() % 33;

        
$tmp substr($chars$num1);

        
$pass $pass $tmp;

        
$i++;
    }
   
$user trim($_POST['user']);
  
$email trim($_POST['email']); 
  
$betreff "Dein neues Passwort für bulistar.de";
  
$absender "info@bulistar.de";
  
$url "http://bulistar.de/New/login.php";
  
// Editieren Ende
  
$anhang str_rot13("$user.Q3x$empfaenger");
  
$anhang strrev($anhang);
  
$url .= "?as=$anhang";
  

  
$mailbody "Hallo $user,

dein neues Passwort für bulistar.de lautet:
$pass
Um dein neues Passwort zu bestätigen, klicke bitte auf den unten stehenden Link!
Falls du kein neues Passwort beantragt haben solltest, ignoriere bitte diese Mail.
$url

Für AOL-Nutzer:
<a href='www.bulistar.de/New/register.php?as=$anhang'>Hier klicken</a>
(in die Adressleiste des Browsers kopieren)

Danke, das Team von bulistar.de"
;

  if (
mail($empfaenger$betreff$mailbody"From: $absender"))
  {
      return 
"<span style='color:green'>erfolg</span>";
  }
  else
  {
    return 
"<span style='color:#FF0000'>Aktivierungsmail nicht verschickt!</span>";
  } 
}



if (!empty(
$_POST['user']))
{
  
  
  
  
  
$muster1 "/^[a-zA-Z0-9-_.@]{4,15}$/";
  
$muster2 "/^[a-z&auml;&ouml;&uuml;A-Z]{2,17}$/";  
  
  if (
preg_match($muster1$user) == 0)
  {
    
$status2 .= "<span style='color:#FF0000'>Das ist kein g&uuml;ltiger Benutzername!</span><br>";
  }

  
  
  
$muster2 "/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
  
  if (
preg_match($muster2$email) == 0)
  {
    
$status2 .= "<span style='color:#FF0000'>Die E-Mail-Adresse ist ung&uuml;ltig!</span><br>";
  }
  
 
  
  if (empty(
$status2))
  {
    
        if(
userchecker($user$email))
        {
            
fgmail ($user$email);   
        } else {
      
$status2 "Keine Übereinstimmung";
    }
    }
    
    
  
}


?>
djlars ist offline  
Alt 30.07.2010, 10:19  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 3.891
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Menschlstegelitz ist ein sehr geschätzer Mensch
Standard

Und nu? Willst du Mitleid oder Hilfe?

Meinst du, das:
Zitat:
Hallo,

ich verzweifle gerade echt.
Die Datei hat anfangs noch sinen Dienst erfüllt, aber jetzt nicht mehr. Obwohl ich eigentlich gar nichts geändert habe..
ist eine sinnvolle Problembeschreibung?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 30.07.2010, 12:00  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Das wirft auf jedem Fall eine E_NOTICE, weil $status2 vorher nicht initialisiert wird, aber mit .= ergänzt wird
PHP-Code:
 $status2 .= "<..." 
danach würde ich mal $user und $email ausgeben und schauen was drin steht.

In der usercheck() reicht eigentlich ein mysql_fetch_row, da es jeden Benutzer nur einmal geben darf.
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verschlüsselung funktioniert nicht richtig netmario PHP Tipps 2010 2 19.05.2010 22:57
mod_rewrite mit slash/ohne slash funktioniert nur teilweise taurus Server, Hosting und Workstations 4 13.09.2009 12:57
[ERLEDIGT]PHP while-Schleife für Ausgabe funktioniert plötzlich nicht fuckinghot19 PHP Tipps 2009 6 05.06.2009 22:28
[Erledigt] Umlaute ersetzen funktioniert nicht richtig BlackSpirit PHP Tipps 2009 19 20.04.2009 12:04
send button funktioniert nicht, finde fehler nicht selma123 PHP Tipps 2008 3 17.09.2008 11:57
Datenbankeintrag funktioniert nicht phrain PHP Tipps 2008 13 03.04.2008 12:59
PHP funktioniert nicht PHP Tipps 2005 20 28.04.2005 13:56
Php Gästebuch funktioniert nicht auf dem Server PHP Tipps 2005 13 21.04.2005 22:11
Pfadangabe in php.ini funktioniert nicht PHP Tipps 2005 10 29.03.2005 15:16
pear mime mail >> attachment funktioniert nicht PHP Tipps 2005 4 28.01.2005 16:23
Abfrage funktioniert unter MySQL aber nicht unter MS SQL Schiedsrichter Datenbanken 2 27.01.2005 15:43
Dateien erstellen oder schreiben funktioniert nicht im Web PHP Tipps 2004-2 1 05.12.2004 19:39
[Erledigt] move_uploaded_file funktioniert nicht! PHP-Fortgeschrittene 4 23.08.2004 22:41
Session funktioniert nicht PHP Tipps 2004 3 15.08.2004 13:08
Header Location funktioniert nicht PHP Tipps 2004 10 12.08.2004 17:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
vergessung, djlars bulistar, dj lars bulistar, bulistar.de.tl

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum