Profil Editieren?

vodka

Mitglied
Hallo ich hab mir mal ein Login gebastelt mit Registrierung aber jetzt wollte ich noch eine funktion einbauen das der User sein Profil editiern kann nur weis ich nicht genau wie ich das machen soll!

Hab das mal in standart funktion probiert geht aber nicht weil es dann alle Users auflistet zum editieren!

hier unter register

könnt ihr euch registrieren und dan einloggen geht dan mal auf Profil edit und ihr seht was ich meine!

userprofil.php
PHP:
			<?php
if (isset ($send) )
{
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

$aendern = "UPDATE $tabellelogin SET username='$username',passwort='$passwort',useremail='$useremail',rechte='$rechte',userpage='$userpage',realname='$realname'";
$update = mysql_query($aendern);
echo "Erfolgreich geaendert!";
}
else
{
?>

<?php
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

$query = "SELECT * FROM $tabellelogin";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$username=$r["username"];
$passwort=$r["passwort"];
$useremail=$r["useremail"];
$rechte=$r["rechte"];
$userpage=$r["userpage"];
$realname=$r["realname"];
$user_id=$r["user_id"];


  echo "//html code";
    }

?>
<?
 }
?>
		
//html

login.php - Session registrierung
PHP:
<?
//Session registieren
$_SESSION["user_id"] = $data["user_id"];
$_SESSION["username"] = $data["username"];
$_SESSION["passwort"] = $data["passwort"];
$_SESSION["useremail"] = $data["useremail"];
$_SESSION["rechte"] = $data["rechte"];
$_SESSION["userpage"] = $data["userpage"];
$_SESSION["realname"] = $data["realname"];
Habt ihr villeicht ne idee wie ich das machen kann das man nur den benutzer editieren kann bei dem man eingeloggt ist?
 
Zuletzt bearbeitet:
Einfach mal checken, welcher User in der Session eingetragen ist?

PS: Bitte bearbeite deinen Ausgangspost unbedingt. Du hast keine wirkliche Problemanalyse betrieben, oder wenn doch, teilst du uns nichts davon mit. Du pastest unkommentiert hunderte Zeilen Programmcode ohne diesen auf ein nötigstes zu kürzen. Besser beschreiben was beim Login technisch passiert.

Folge: Jeder Post von jedem der hier postet, bevor der Ausgangspost nicht bearbeitet ist, wird von mir gelöscht.

Erklärung: Ich strebe seit kurzem diesen Weg an, da wenn ich den Beitrag schließe, der Autor diesen nicht bearbeiten kann und mir die Änderungen immer per PN zuschicken muss. Ich hoffe auf diese unbürokratischere Art und Weise das ganze besser Regeln zu können, also enttäuscht mich nicht ;)
 
Also ich habs jetzt geschafft das es nur den User editiert bei dem man eingeloggt ist!Aber das andere problem wäre noch wen ich versuche es zu editieren dan passiert nichtsIch weis auch wiso weil es die user_id nicht übergibt in allen anderen scripts z.b. wen ich ein member editiere sieht es so aus
"intern.php?action=membersedit1&id=8"

aber hier sieht es so aus

"intern.php?action=userprofil"

also ohne id!

Und darum geht es nicht, glaube ich wegen der id!

userprofil.php - Die neue!
PHP:
			<?php
if (isset ($send) )
{
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

$aendern = "UPDATE $tabellelogin SET username='$username',passwort='$passwort',useremail='$useremail',rechte='$rechte',userpage='$userpage',realname='$realname'";
$update = mysql_query($aendern);
echo "Erfolgreich geaendert!";
}
else
{
?>

<?php
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");


$query = "SELECT * FROM $tabellelogin WHERE user_id='$user_id'";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$username=$r["username"];
$passwort=$r["passwort"];
$useremail=$r["useremail"];
$rechte=$r["rechte"];
$userpage=$r["userpage"];
$realname=$r["realname"];
$user_id=$r["user_id"];


  echo "//HTML CODE";
    }

?>
<?
 }
?>

Was kann ich tun das es trotzdem editiert?
 
Und warum übergibst du die id nicht einfach in der URL? Oder besser, du holst sie aus der Session (dort muss sie ja wohl auf jeden Fall gesetzt sein, sonst wäre der User nicht eingeloggt).
 
Hab ich schon versucht geht aber ned!

Was ich aber auch noch versucht habe ist das ich den check ausgestellt habe ob man eingeloggt ist und hab dan versucht zu editieren dan hat es geklappt!
 
Du hast bei der SQL-Anweisung das "WHERE" vergessen.
So "weiß" das Script j garnicht, wen oder was es UPDATEN soll...
PHP:
 $aendern = "UPDATE $tabellelogin SET  username='$username',passwort='$passwort',useremail='$useremail',rechte='$rechte',userpage='$userpag
e',realname='$realname' WHERE user_id='$user_id'";
 
Also ich habs jetzt so versucht geht aber immer noch ned:

PHP:
<?php
if (isset ($send) )
{
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

$aendern = "UPDATE $tabellelogin SET username='$username',passwort='$passwort',useremail='$useremail',rechte='$rechte',userpage='$userpage',realname='$realname' WHERE username = '$username'";
$update = mysql_query($aendern);
echo "Erfolgreich geaendert!";
}
else
{
?>

<?php
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

$query = "SELECT * FROM $tabellelogin WHERE username='$username'";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$username=$r["username"];
$passwort=$r["passwort"];
$useremail=$r["useremail"];
$rechte=$r["rechte"];
$userpage=$r["userpage"];
$realname=$r["realname"];
$user_id=$r["user_id"];

echo "<form action='$php_self' method='post' name='edit' id=edit>
    <strong><em>
    </em></strong>  
    <table width=301 border=0 align=center>
    <tr>
      <td><div align=center></div></td>
    </tr>
    <tr>
      <td><div align=center></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>Id:</em></strong></div></td>
    </tr>
    <tr>
      <td>
        <div align=center><strong><em>
          <select name='user_id' size=1 multiple id=user_id>
            <option selected>$user_id</option>
          </select>
      </em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>Username:</em></strong></div></td>
    </tr>
    <tr>
      <td>
        <div align=center><strong><em>
        <select name='username' size=1 multiple id=username>
          <option selected>$username</option>
        </select>
</em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>Passwort:</em></strong></div></td>
    </tr>
    <tr>
      <td>
        <div align=center><strong><em>
          <select name='passwort' size=1 multiple id=select4>
            <option selected>$passwort</option>
          </select>
      </em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>Rechte:</em></strong></div></td>
    </tr>
    <tr>
      <td>
        <div align=center><strong><em> <font size=1face=Tahoma>
          </font>
              <select name='rechte' size=1 multiple id=select5>
                <option selected>$rechte</option>
          </select>
        <font size=1face=Tahoma>              </font> </em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>Useremail:</em></strong></div></td>
    </tr>
    <tr>
      <td>        <div align=center><strong><em><font size=1face=Tahoma>
          <input name='useremail' type='text' id=useremail value='$useremail' size=50>
      </font> </em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>Userpage:</em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em> <font size=1face=Tahoma>
        <input name='userpage' type='text' id=userpage22 value='$userpage' size=50>
      </font><font size=1>
      </font> </em></strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong>Realname:</strong></div></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>        <font size=1face=Tahoma>
      </font><font size=1>
      <input name='realname' type='text' id=realname3 value='$realname' size=50>
      </font> </em></strong></div></td>
    </tr>
    <tr>
      <td><strong><em><font size=1>
      </font></em></strong></td>
    </tr>
    <tr>
      <td><div align=center><strong><em>
          <input type=submit name=Submit2 value=Eintragen>
      </em></strong></div></td>
    </tr>
  </table>
  <div align='center'></div>
 <input type='hidden' name='send' value='true'>
</form>
<div align='center'></div>
<p>";
    }


?>
<?
 }
?>

Und der link zum profil sit dan etwa so aus:

intern.php?action=userprofil&username=dalton
 
vodka, irgendwie habe ich das Gefühl, du hast ein kleines Problem damit Probleme in Worte zu fassen, kann das sein? Immer wenn du eine Änderung vollziehst, knallst du wieder 150 Zeilen Code hin und sagst "Geht immer noch ned". Wie wäre es mal, in Worte zu fassen, was du methodisch probiert und geändert hast?
Wie wäre es mal, ein wenig self-debugging zu betreiben?
 
Zurück