[PHP]Mehrer Arrays vom Formular



  • Mit folgenden Code erstelle ich ein Formular:

    if($action == 'change') 
    {
    
    		if(count($users) >0)
    		{
    			echo '<form method="get" action="index.php?cid=003&iid=008">';
    			echo '<input type="hidden" name="action" value="edit_user">';
    			$sql = "select * from Login_tab where";
    			foreach ($users as $user)
    			{
    				$sql .= " User =\"$user\" or";
    			}
    			$sql = substr($sql,0,strlen($sql)-3);
    			$result = mysql_query($sql);
    			echo '<table><tr><th>Username</th><th>Neues Passwort</th><th>E-mail</th>';
    			while($daten=mysql_fetch_array($result))
    			{
    
    				print('<tr><td><b>'.$daten['User'].'</b>');
    				print('<input type="hidden" name="username[]" value="'.$daten['User'].'"></td>');
                    print('<td><input type="password" name="password[]"></td>');
    		        print('<td><input type="text" name="email[]" value="'.$daten['E_mail'].'"></td>');
    			}
    			echo '</table><button type="submit" name="button">&Auml;ndern</button></form>';
    		}
    }
    

    Und mit diesen Code versuche ich die Änderungen in die Datenbank zuschreiben:

    if($action == 'edit_user' && count($username) > 0)
    	{
    
    		for($i =0;$i <= count($username);$i++)
    		{
    
    			if(email_check($email[i],$error))
    			{
    				$sql = "Update Login_tab Set ";
    				if(!empty($password[i]))
    				{
    					$sql .= "Password = '".md5($password[i])."',";
    				}
    				$sql .= "E_mail = '$email[i]' Where User ='$username[i]'";
    				echo "$sql</br>";
    				mysql_query($sql);
    				echo mysql_error();
    			}
    
    		}	
    	}
    

    Aber im Sql-String sind username,password und email immer ''



  • Es ist zwar schön ein SQL-Statment zusammenzusetzen aber du wirst damit probleme bekommen wenn er eine bestimmte länge überschreitet. (was wenn du 1000 User hast)
    Ändere dein Design.



  • $users ist ein Array aus einen Formular in dem man die User auswählt die man bearbeiten möchte und mit dem Select String ist alles in Ordnung es ist der Update String der Probleme macht.Ich denke nicht das jemand 1000 User gleichzeitig bearbeiten will.



  • Meine Vermutung ist, dass dein Problem folgendes ist:

    http://de.php.net/register_globals



  • Ich glaube nicht das die Einstellung für verschiedene Bereiche des selben Skripts unterscheidlich ist.


  • Mod

    schau dir mal das genau an:
    $email[i]



  • Danke.Ich muss wirklich blind gewessen sein.


Anmelden zum Antworten