Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [PHP] Problem mit User bearbeiten
AUTOR BEITRAG
Bender

RANG Deckschrubber

#1 - 02.12 16:02

Hallo,

habe folgendes Problem:

Habe ein Script womit man wenn man eingelogt ist sein Passwort als Benutzer ändern kann. Jedoch tut sich wenn man auf passwort ändern geht garnichts. Es steht lediglich da das variable "passwort2" nicht definiert wäre. Aber wozu muss dieses definiert werden wenn es oben nur zum vergleichen dient?

Hier der Code:


<?php

error_reporting(E_ALL);

include("Schutz.php";
if($rang>0){

if(isset($edit)){

$passwort3 = md5($passwort1);

$usertest = mysql_query("SELECT * FROM $usertable WHERE id='$userid'";



if (mysql_num_rows($usertest) == 1)
{
$fehler = "$fehler -Dieser Benutzername wird bereits benutzt.<br>";
$fehler2 = "1";
};
if($passwort1=="" or $passwort1!=="$passwort2"{
$fehler = "$fehler -Ihre beiden Passwort eingaben sind unterschiedlich:<BR>";
$fehler2 = "1";
};

if(!isset($fehler2)){

$passwort3 = md5($passwort1);
$sql= "UPDATE $db_name.".$usertable."
SET
name = '$username',
email = '$emailadr',
pw = '$passwort3'
WHERE id = '$userid'";

mysql_query($sql) OR die(mysql_error());




$pw1 = "$passwort3";

session_register("pw1";

echo "<br>Ihr Passwort wurde geändert.";

exit;
};

};
echo "
<form action='Profil.php' method='post'>
<table>
<tr>
<td>
Username:
</td>
<td>
<input type='text' name='username' value='$name1'>
</td>
</tr>

<tr>
<td>
E-Mail
</td>
<td>
<input type='test' name='emailadr' value='$email'>
</td>
</tr>


<tr>
<td>
Neues Passwort:
</td>
<td>
<input type='password' name='passwort1' value='$passwort1'>
</td>
</tr>
<tr>
<td>
Neues Passwort wiederholen:
</td>
<td>
<input type='password' name='passwort2' value='$passwort2'>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type='hidden' name='edit' value='$edit'>
<input type='submit' name='edit' value='Änderungen übernehmen'></td>
</form>
</td>
</tr>
</table>";

}
?>

quote
fishbone

RANG Deckschrubber

#2 - 03.12 09:21

1. Bitte Code-Tag / PHP-Tag benutzen - NICHT quote!
2. Hab jetzt nur mal spontan überflogen, aber diese Zeile wird so garantiert nicht funktionieren:

<?php if($passwort1=="" or $passwort1!=="$passwort2"){ ?>


Wenn dann würde ich dir sowas empfehlen:

<?php if (empty($passwort1) || $passwort1 != $passwort2) { ?>


wobei sich mir hier wieder die Frage aufwirft: Warum definierst du am Anfang $passwort3 und fragst in der Schleife aber $passwort2 ab, welches nirgends definiert ist?
Whiteknight KKK

RANG Deckschrubber

#3 - 08.12 11:58


<?php 

<input type=&#039;hidden&#039; name=&#039;edit&#039; value=&#039;$edit&#039;>
<input type=&#039;submit&#039; name=&#039;edit&#039; value=&#039;&Auml;nderungen &uuml;bernehmen&#039;>
 
?>

2 Input Felder mit dem gleichen Namen aber unterschiedlichen Values wird auch nicht funktionieren. Was willst Du übergeben?