php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.09.2008, 16:41  
Neuer Benutzer
 
Registriert seit: 20.09.2008
Beiträge: 28
DeadLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] MYSQL Eintrag mit DB ändern Fehler

Moin,
ich habe zwei kleine Probleme und es wäre toll wenn ihr mir helfen könnt!

1. Fehler wird bei laden der Seite angezeigt (beide) sollen sie aber nur wenn das Formular abgeschickt wurde und wirklich ein Fehler da ist!

2.Nach Änderung der Email-Adresse soll in der Variable im Formular auch die neue Email aus der DB angezeigt werden!

Hier der Code

1.Formular
PHP-Code:
$content .= '<h3>E-Mail-Adresse &auml;ndern</h3>
            <form action="index.php?page=profil" method="post">
            Neue E-Mail-Adresse wird erst nach neu laden der Seite richtig angezeigt!<br>
            <br>
            Alte E-Mail-Adresse:
            <input type="text" name="old_mail" size="25" value="'
.$defaultmail.'" readonly=""><br>
            Neue E-Mail-Adresse:
            <input type="text" name="new_mail" size="25" value=""><br>
            <input type="submit" name="save" value="Speichern"/>'

2.MYSQL auslesen
PHP-Code:
# MySQL-Connect für $defaultmail
include('../../classes/db_class.php');
$db = new db_class;
$sql 'SELECT email FROM `user` WHERE id="'.$uc->userid.'"';
$db->query($sql);
$data $db->fetch(); 
$defaultmail $data['email'];
if(empty(
$defaultmail))
    
$defaultmail "Keine E-Mail-Adresse gefunden"
3. E-Mail in DB ändern!
PHP-Code:
if(!empty($_POST['new_mail']) && !empty($_POST['save_mail']));
{
    
$error_msg '';
     
$error false;
    
    
$oldmail $_POST['old_mail'];
    
$newmail $_POST['new_mail'];
    
$sql 'SELECT email FROM `user` WHERE email="'.$newmail.'";';
    
$db->query($sql);
    if(
$db->rows)
        {
        
$error_msg .= 'E-Mail-Adresse schon vergeben.<br>';
        
$error true;
        }
    if(empty(
$_POST['new_mail']))
        {
             
$error_msg .= 'Die neue E-Mail-Adresse ist dieselbe oder das Feld ist leer!<br />';
            
$error true;
        }
    if(
$error)
        {
            
$content .= error($error_msg);
        }
      else
          {
            
$sql 'UPDATE `user` SET email="'.$newmail.'" WHERE id="'.$uc->userid.'";';
            
$db->query($sql);
            
$newmail $defaultmail;
            
$content .= ok('E-Mail-Adresse erfolgreich ge&auml;ndert!');
        }


Geändert von DeadLord (20.09.2008 um 17:31 Uhr).
DeadLord ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.09.2008, 21:50  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Falsches Forum, ab in den Anfänger-Bereich.

1/ Warum ist eine leere Variable "dieselbe" Email-Adresse?
2/ Welche Fehlermeldung wird denn angezeigt bzw. wie hängt das mit dem geposteten Code zusammen?
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline   Mit Zitat antworten
Alt 24.09.2008, 20:15  
Neuer Benutzer
 
Registriert seit: 20.09.2008
Beiträge: 28
DeadLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Beide error messages!
leere ist aus Faulheit momentan noch diesselbe!
DeadLord ist offline   Mit Zitat antworten
Alt 25.09.2008, 12:19  
Neuer Benutzer
 
Registriert seit: 20.09.2008
Beiträge: 28
DeadLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habe den Code nun soweit bearbeitet allerdings werden bei fehler jetzt keine Fehlermessages mehr ausgegeben, sondern einfach abgebrochen!

PHP-Code:
if(!empty($_POST['new_mail']) && !empty($_POST['save_mail']));
{
    
$error_msg '';
     
$error false;
    
$oldmail $_POST['old_mail'];
    
$newmail $_POST['new_mail'];
    
    
//Die Variable zur Prüfung der E-mail Adresse:
    
$muster_mail="/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
    
           if (empty(
$_POST["new_mail"])){
           
$error_msg .= "Bitte füllen sie das Feld eMail aus.";
           }
           elseif (
preg_match($muster_mail$_POST["new_mail"]) == 0){
           
$error_msg .= "Bitte überprüfen sie Ihre eingegebene eMail-Adresse.";
           }
        else
        {
        if(
$error)
               
$content .= error($error_msg);
        else
          {
            
$sql 'UPDATE `user` SET email="'.$newmail.'" WHERE id="'.$uc->userid.'";';
            
$db->query($sql);
            
$newmail $defaultmail;
            
$content .= ok('E-Mail-Adresse erfolgreich ge&auml;ndert!');
        }
        }

DeadLord ist offline   Mit Zitat antworten
Alt 25.09.2008, 12:22  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

PHP-Code:
error_reporting(E_ALL);
mysql_error(); 
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline   Mit Zitat antworten
Alt 25.09.2008, 12:25  
Neuer Benutzer
 
Registriert seit: 20.09.2008
Beiträge: 28
DeadLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keine Fehler
DeadLord ist offline   Mit Zitat antworten
Alt 25.09.2008, 12:34  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

hast du schon debuggt? In jede schleife ne Ausgabe damit du siehst wo das Script dich hinführt bzw. hängenbleibt?
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline   Mit Zitat antworten
Alt 25.09.2008, 12:41  
Neuer Benutzer
 
Registriert seit: 20.09.2008
Beiträge: 28
DeadLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bin gerade dabei
DeadLord ist offline   Mit Zitat antworten
Alt 25.09.2008, 16:44  
Neuer Benutzer
 
Registriert seit: 20.09.2008
Beiträge: 28
DeadLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gibt das als Ausgabe!

Bitte füllen sie das E-Mail Feld aus.

PHP-Code:
if(!empty($_POST['new_mail']) && !empty($_POST['save_mail']));
{
    
$error_msg '';
     
$error false;
    
$oldmail $_POST['old_mail'];
    
$newmail $_POST['new_mail'];
    
    
//Die Variable zur Prüfung der E-mail Adresse:
    
$muster_mail="/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/";
    
           if (empty(
$_POST["new_mail"])){
           
$error_msg .= "Bitte f&uuml;llen sie das E-Mail Feld aus.";
           
$error true;
           
$content .= error($error_msg);
        }
           elseif (
preg_match($muster_mail$_POST["new_mail"]) == 0){
           
$error_msg .= "Bitte &uuml;berpr&uuml;fen sie Ihre eingegebene eMail-Adresse.";
           
$error true;
           
$content .= error($error_msg);
           }
        else
        {
            
$sql 'UPDATE `user` SET email="'.$newmail.'" WHERE id="'.$uc->userid.'";';
            
$db->query($sql);
            
$newmail $defaultmail;
            
$content .= ok('E-Mail-Adresse erfolgreich ge&auml;ndert!');
        }

DeadLord ist offline   Mit Zitat antworten
Alt 25.09.2008, 16:53  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

naja dann steckst du in der ersten If fest.

PHP-Code:
$_POST["new_mail"// testen! 
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline   Mit Zitat antworten
Antwort


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
Undefined variable Undefined property: block xxJJxx PHP Tipps 2008 16 05.08.2008 15:30
e-mail adresse per Variable im Formular ändern rcorten PHP Tipps 2008 13 30.04.2008 13:43
PW ändern script TeazY PHP Tipps 2008 4 15.01.2008 13:48
Abfrage ob email adresse schon vorhanden ist TeazY PHP Tipps 2008 10 16.12.2007 12:22
Pfad ändern Soese PHP Tipps 2006 3 30.01.2006 10:00
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
[Erledigt] doppelte email adressen suchen Datenbanken 9 20.05.2005 19:38
[Erledigt] Variable in DB Datenbanken 1 17.04.2005 15:01
Benutzer ändern und Email versenden Mano PHP Tipps 2005 13 05.04.2005 20:37
If variable $1 vorhanden dann nimm die, if variable $2 .... PHP Tipps 2005 8 13.02.2005 20:16
php - email script... PHP Tipps 2005 2 12.02.2005 14:45
Bestimmten Wert in mehreren Zeilen ändern PHP-Fortgeschrittene 1 06.02.2005 17:41
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
Email per PHP formatieren PHP Tipps 2004 4 26.07.2004 09:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql type db ändern, mysql feld emailadresse bleibt leer, mysql eintrag ändern formular, mysql eintrag ändern, mysql emailadresse ändern, mysql db eintrag ändern, mysql eintrag editieren per php formular, mysql feld ändern select * from

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:34 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