Hallo,
Wie zou me kunnen helpen met mijn Wachtwoord verander script?
Hij werkt niet goed.

<?php
if (isset($_POST['ww']))
    {
        
        if (empty($_POST['o_ww']))
        {
            
            $error='Vul je wachtwoord in';
            
        }else{
            $wachtwoordoud = $_POST['o_ww'];
            $qQuery = $mysql->query("SELECT 1 FROM users WHERE id = '". $id ."' AND password = '" . $wachtwoordoud . "'");
            
            if ($mysql->num_rows($qQuery) == 0)
            {
                
                $error='Je wachtwoord klopt niet';
                
            }
            
        }
        
        if (empty($_POST['ww']))
        {
            
            $error='Vul een nieuw wachtwoord in';
            
        }else{
            
            if ($_POST['ww'] != $_POST['ww2'])
            {
                
                $error='De wachtwoorden zijn niet gelijk';
                
            }
            
        }else{
            $wachtwoord = $_POST['ww'];
            mysql_query("UPDATE users SET password = '" . $wachtwoord . "' WHERE id = '". $id ."'");
            
            echo '<strong>Je wachtwoord is veranderd!</strong>';
            
        }else{
            
            echo 'De volgende fouten zijn opgetreden:<br />';
            
            echo $error;
            
        }
        
    }
    ?>  

Wie zou even willen kijken?
Alvast bedankt.
@Henke
Een uurtje is niet lang, het is niet zo dat hier betaalde krachten rondhangen die op vragen zitten te wachten...

Verder heb je in eerste instantie waarschijnlijk niet goed gezocht als je het nu zelf met een uurtje oplost, zonder 'zinnig antwoord'.
Pffff... oké, dit is off-topic, maar ik kan me hier enorm aan ergeren. Henke, je stelt een vraag op een forum waar andere mensen VRIJWILLIG proberen met jou mee te denken en jouw probleem op te lossen.

Ten eerste schep je zelf al onduidelijkheid door te zeggen "Wie zou me kunnen helpen met mijn Wachtwoord verander script? Hij werkt niet goed."

Dat zal best dat er iets niet goed werkt, maar wel zo fijn om te zeggen WAT er niet werkt of WAT er mis gaat. Of ben jij soms zo iemand die naar de autogarage gaat en dan tegen de monteurs zegt "Mijn auto werkt niet" en dat je dan vervolgens de garage uitloopt en de monteurs zelf laat uitzoeken wat er niet werkt? Daar geloof ik helemaal niks van.

Daarnaast vind ik je nogal brutaal tegen de mensen die jou juist proberen te helpen. En gezien je laatste opmerking "Google is je beste vriend, phphulp je laatste.." stel ik voor dat je voortaan al je problemen via Google oplost, tenzij je bereid bent om je houding te veranderen en in dit topic je excuses aan te bieden!
Henke van der bunt op 15/08/2011 11:12:43

Hallo,
Wie zou me kunnen helpen met mijn Wachtwoord verander script?
Hij werkt niet goed.

<?php
if (isset($_POST['ww']))
    {
        
        if (empty($_POST['o_ww']))
        {
            
            $error='Vul je wachtwoord in';
            
        }else{
            $wachtwoordoud = $_POST['o_ww'];
            $qQuery = $mysql->query("SELECT 1 FROM users WHERE id = '". $id ."' AND password = '" . $wachtwoordoud . "'");
            
            if ($mysql->num_rows($qQuery) == 0)
            {
                
                $error='Je wachtwoord klopt niet';
                
            }
            
        }
        
        if (empty($_POST['ww']))
        {
            
            $error='Vul een nieuw wachtwoord in';
            
        }else{
            
            if ($_POST['ww'] != $_POST['ww2'])
            {
                
                $error='De wachtwoorden zijn niet gelijk';
                
            }
            
        }else{
            $wachtwoord = $_POST['ww'];
            mysql_query("UPDATE users SET password = '" . $wachtwoord . "' WHERE id = '". $id ."'");
            
            echo '<strong>Je wachtwoord is veranderd!</strong>';
            
        }else{
            
            echo 'De volgende fouten zijn opgetreden:<br />';
            
            echo $error;
            
        }
        
    }
    ?>  

Wie zou even willen kijken?
Alvast bedankt.


Je weet het zelf vast allemaal beter maargoed:

regel 1: misschien eerst kijken of het formulier gepost is?
if($_SERVER['REQUEST_METHOD'] == 'POST')

regel 2: waardeloze controle, hij zal altijd true aangeven.
kijk maar:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
	if(isset($_POST['iets'])){
		echo 'input is niet leeg';
	}
}
?>
<form action="" method="POST">
	<input type="text" name="iets"/>
	<input type="submit"/>
</form>


regel 8: Je wil meerdere errors zo te zien dus waarom niet eerst
$errors=array();
en dan:
$errors[] = 'fout';

regel 11: onnodig variablen kopiëren
regel 12: mysql injectie mogelijk
regel 12: mooie foutafhandeling

verder klopt je hele if else constructie in z'n geheel niet, maarja

regel 39: foutafhandeling
regel 45: 'de volgende errors' leuk als het maar 1 kan zijn

En toch kraak je iedereen op het forum af omdat jij denkt dat zij niks weten, iedereen die hier gereageerd heeft, zou dit echt wel mooier schrijven, maarja zeker niet met lego gespeeld vroeger?

Reageren