Ergebnis 1 bis 8 von 8

Thema: Variable erweitern Problem

  1. #1
    Interessierte/r Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Frage Variable erweitern Problem

    Hallo,
    ich habe hier ein problem, und zwar habe ich ein skript zum ändern seines profils über mysql geschrieben, aber bei der auswertung der daten, bei welcher ich die Variable $update immer erweitern möcht eje nachdem eben was alles geändert wurde, nun erweitert sich die variable gar nicht bzw wenn mein sein passwort ändertdann kommt dass noch zu variable hinzu allerdings der rest wird nichthinzugefügt? und so ändert sich das proful dann bei allen usern weil eben kein where id=.... definiert ist
    könnt ihr mir vielleicht helfen ich habe schon alles mögliche versucht
    die variable $update enthält am ende immer nur dass hier:
    UPDATE user SET vorname = 'Philipp', nachname = 'lollus', geb = '28.Mai.1993', ort = 'Mössingen', land = 'Deutschland', icq = '221142166', msn = 'lippl1@msn.com', hp = 'www.lipplzone.de', hobbys = 'Handbball, Webdesign', skype = 'lipplus', email = 'lippl1@msn.com', about = '', geschlecht = 'Männlich', aktiv = '1', rechte = '9', steam = 'lippol'

    und hier der code:
    PHP-Code:
    <?php
    $userid 
    $_GET["userid"];
    if(
    $_SERVER['REQUEST_METHOD'] == 'POST')
    {
          
    extract($_POST);
        
    $aendern="";
        
    $geb $tag.'.'.$monat.'.'.$jahr;
        
               if(
    $passwort != $passwort2)
            {
            echo
    "Passworteingabefehler";
            print 
    '<meta http-equiv="refresh" content="1;index.php?site=admin/user">';
            }        
            else
            {
            
    $update .= "UPDATE user SET vorname = '$vor', nachname = '$nach', geb = '$geb', ort = '$ort', land = '$land', icq = '$icq', msn = '$msn', hp = '$hp', hobbys = '$hobbys', skype = '$skype', email = '$email', about = '$about', geschlecht = '$geschlecht', aktiv = '$aktiv', rechte = '$rechte', steam = '$steam'";
                if(
    $passwort==$passwort2 and $passwort!="" and $passwort2!="")
                {
                
    $update .= ", passwort = '$passwort'";
                }
            }

    $uploaddir "images/avatar/";
    $dateiname $_FILES['pic']['name'];


      if(
    $depic=="ja"){
          if(
    file_exists($uploaddir.$oldpic))
            {
    unlink($uploaddir.$oldpic);}
          echo
    "Bild erfolgreich gelöscht<br>";
          
    $update .= ", bild = ''";
      }
      elseif(
    $pic != "")
      {    
        
    $error="0";
        
    $type $_FILES['pic']['type']; 
        
    $size $_FILES['pic']['size'];
        
    $imgsize getimagesize($_FILES['pic']['tmp_name']);
        
    $width $imgsize[0];
        
    $height $imgsize[1];
        if(
    $type != "image/gif" && $type != "image/jpeg") { 
            echo
    "nur gif und jpeg Bilder dürfen hochgeladen werden.<br>"
            
    $error="1";
        } 
        if(
    $width "201" OR $height "276") { 
            echo
    "Dein Bild darf höchstens 200x275 groß sein!<br>"
            
    $error="1";
        } 
        if(
    $size "102400") { 
            echo
    "Das Bild welches du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 100 KB!<br>"
            
    $error="1";
        }  
        if(
    $error=="0")
        {
                if (
    move_uploaded_file($_FILES['pic']['tmp_name'], $uploaddir $_FILES['pic']['name'])) {
                    if(
    $oldpic!=""){
                        if(
    file_exists($uploaddir.$oldpic)){unlink($uploaddir.$oldpic);}
                    }
                    
    $update .= ", bild = '$dateiname' WHERE id = '$id' LIMIT 1";
                    print 
    "Bild wurde gepr&uuml;ft und erfolgreich hochgeladen.<br>"
                }
                else{
                    
    $update .= " WHERE id = '$id' LIMIT 1";
                    echo 
    "Bild konnte nicht hochgeladen werden.<br>";
                 }
       }
       else{
          
    $update .= " WHERE id = '$id' LIMIT 1";
       }
        }
          
    $updateing mysql_query($update) or die(mysql_error());
          echo 
    "$update<br>Die Daten wurden erfolgreich geändert.";
        print 
    '<meta http-equiv="refresh" content="5;index.php?site=admin/user">';
    }
    else
    {}
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Variable erweitern Problem

    PHP-Code:
    extract($_POST); 
    Auweia, wo hast du den Blödsinn her?

    Du musst in dem Formular, in dem man die Daten ändern kann, die ID in einem hidden-Feld eintragen, dann hast du auch die ID. Alternativ ginge das auch mit einer Session.

  3. #3
    Interessierte/r
    Themenstarter
    Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable erweitern Problem

    ja ich übergeb die datei in einem hiiden feld...
    nja un wegn dem extract och war nur zu faul für jede variable das einzeln zu definiern^^
    aber wenn ich die variablen mir ausgeben lass tuts ja nur die variable erweitert sich i-wie nicht...

  4. #4
    Bandit
    Gast

    Standard AW: Variable erweitern Problem

    Dann hilft wohl nur

    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 4 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


    Aus irgendeinem Grund kommt das Script nicht dazu, die Bedingung dranzuhängen.

  5. #5
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable erweitern Problem

    Dein extract($_POST) ist tatsächlich sehr daneben. Erstens ist es zur Fehlersuche übersichtlicher, wenn du die Variablen einzeln zuweist, und zweitens auch eine echte Sicherheitslücke, da du ja nicht mal die eingegebenen Daten vernünftig prüfst.

    Ansonsten sehe ich, dass du die ID per GET übergibst und in $userid ablegst. Schon mal damit versucht?

    Gruß,
    Jojo

  6. #6
    Azubi(ne)
    Registriert seit
    30.10.2008
    Beiträge
    81
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable erweitern Problem

    PHP-Code:
    <?php

    $userid 
    $_GET["userid"];
    if(
    $_SERVER['REQUEST_METHOD'] == 'POST')
    {
        
    extract($_POST);
        
    $aendern "";
        
    $update "";
        
    $geb "$tag.$monat.$jahr";

        if(
    $passwort != $passwort2)
        {
            echo
    "Passworteingabefehler";
            print 
    '<meta http-equiv="refresh" content="1;index.php?site=admin/user">';
        }        
        else
        {
            
    $update .= "UPDATE `user` SET `vorname` = '".mysql_escape_string($vor)."', `nachname` = '".mysql_escape_string($nach)."' `geb` = '".mysql_escape_string($geb)."' `ort` = '".mysql_escape_string($ort)."' `land` = '".mysql_escape_string($land)."' `icq` = '".mysql_escape_string($icq)."' `msn` = '".mysql_escape_string($msn)."' `hp` = '".mysql_escape_string($hp)."' `hobbys` = '".mysql_escape_string($hobbys)."' `skype` = '".mysql_escape_string($skype)."' `email` = '".mysql_escape_string($email)."'`about` = '".mysql_escape_string($about)."' `geschlecht` = '".mysql_escape_string($geschlecht)."' `aktiv` = '".mysql_escape_string($aktiv)."' `rechte` = '".mysql_escape_string($rechte)."' `steam` = '".mysql_escape_string($steam)."'";
            if(
    $passwort==$passwort2 and $passwort!="" and $passwort2!="")
            {
                
    // Würde ich als md5 Hash in der Datenbank speichern
                
    $update .= ", `passwort` = '".mysql_escape_string($passwort)."'";
            }
        }
        
    $uploaddir "images/avatar/";
        
    $dateiname $_FILES['pic']['name'];

        
    // Was zur Hölle ist depic? xD    
        
    if($depic == "ja")
        {
            if(
    file_exists($uploaddir.$oldpic))
            {
                if(
    unlink($uploaddir.$oldpic))
                {
                    echo
    "Bild erfolgreich gelöscht<br>";
                    
    $update .= ", bild = ''";
                }
            }
        }
        elseif(!empty(
    $pic))
        {    
            
    $error="0";
            
    $type $_FILES['pic']['type']; 
            
    $size $_FILES['pic']['size'];
            
    $imgsize getimagesize($_FILES['pic']['tmp_name']);
            
    $width $imgsize[0];
            
    $height $imgsize[1];
            if(
    $type != "image/gif" && $type != "image/jpeg"
            { 
                echo
    "nur gif und jpeg Bilder dürfen hochgeladen werden.<br>"
                
    $error="1";
            } 
            if(
    $width "201" OR $height "276"
            { 
                echo
    "Dein Bild darf höchstens 200x275 groß sein!<br>"
                
    $error="1";
            } 
            if(
    $size "102400"
            { 
                echo
    "Das Bild welches du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 100 KB!<br>"
                
    $error="1";
            }  
            if(
    $error=="0")
            {
                if (
    move_uploaded_file($_FILES['pic']['tmp_name'], $uploaddir $_FILES['pic']['name'])) 
                {
                    
    // Wo zauberst du denn jetzt diese Variablen her? unvollständiger Code?
                    
    if($oldpic!="")
                    {
                        if(
    file_exists($uploaddir.$oldpic))
                        {
                            
    unlink($uploaddir.$oldpic);
                        }
                    }
                    
    $update .= ", `bild` = '".mysql_escape_string($dateiname)."'";
                    print 
    "Bild wurde gepr&uuml;ft und erfolgreich hochgeladen.<br>"
                }
                else
                {
                    echo 
    "Bild konnte nicht hochgeladen werden.<br>";
                }
            }
        }
        
    $update .= " WHERE id = '".(int)$id."'";
        
    mysql_query($update) or die(mysql_error());
        echo 
    "$update<br>Die Daten wurden erfolgreich geändert.";
        print 
    '<meta http-equiv="refresh" content="5;index.php?site=admin/user">';
    }
    ?>
    Also dein Code ist sowas von unübersichtlich
    Schau mal ob es jetzt funzt...
    Geändert von pApAnoAh (22.01.2009 um 14:20 Uhr)
    Der frühe Vogel fängt den Wurm,
    aber die zweite Maus bekommt den Käse.

  7. #7
    Interessierte/r
    Themenstarter
    Avatar von lippl
    Registriert seit
    02.10.2006
    Beiträge
    106
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable erweitern Problem

    also 1. ich hab schon richtig debuggt weil ich das ding von dir bei jedem eintrag den ich mache hingeknallt bekomme!
    und 2. ich habe es auch schon über die get variable gehabt aber dann hat esnich gefuntzt dann habe ich es über post schicken alssen un dann hab ich ers gemerkt dass es ja daran lag dass das update nicht vollständog ist.
    ABER jetzt klappt ja alles
    VIELEN VIELEN DANK pApAnoAh
    aber warum erweitert er jetzt die variable nur weil du alles so noch speziell hingeschrieben hast oder wie?

  8. #8
    Bandit
    Gast

    Standard AW: Variable erweitern Problem

    pApAnoAh hat deinen Quellcode ordentlich formatiert und dabei bemerkt, dass die Zeile
    PHP-Code:
    $update .= " WHERE id = '".(int)$id."'"

    u.U. nicht ausgeführt wird. Und da hätte man mit "Richtig debuggen" drauf kommen können.

Ähnliche Themen

  1. Gruppen um Teilnehmer erweitern
    Von TomZH im Forum Webanwendungen - Webapplikationen
    Antworten: 3
    Letzter Beitrag: 20.10.2007, 20:06
  2. Spalte erweitern
    Von Andreas84 im Forum HTML & CSS Forum
    Antworten: 22
    Letzter Beitrag: 20.05.2007, 22:38
  3. PHP - Problem mit Variable in URL
    Von Abrax im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 30.03.2007, 15:15
  4. Zeichen erweitern
    Von Karo im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 4
    Letzter Beitrag: 26.03.2007, 15:32
  5. PHP Script erweitern
    Von DiamondDog im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 17.08.2006, 15:04

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •