php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.03.2009, 12:05  
Neuer Benutzer
 
Registriert seit: 13.03.2009
Beiträge: 11
54ch4 befindet sich auf einem aufstrebenden Ast
Standard Userdaten einlesen und ändern

Moin Leute ich bins wieder
Die letzte Woche meines Praktikums hat angefangen und ich saß von Freitag Abend bis jetzt vor meinem Problem.

Wie in meinem anderen Beitrag http://www.php.de/php-einsteiger/528...n-koennen.html
beschrieben, geht es darum, dass registrierte User eigenständig ihre Daten ändern sollen.

Fast hätte ich es auch geschafft... leider nur fast!
Es lassen sich alle Daten der User einlesen und ändern (Adminbereich).

Jetzt will ich wie schon gesagt, dass die User auf "Daten ändern" klicken und die sehen deren Daten dann in <input> Felder.
Ändern die Daten, klicken auf "Daten ändern" und die neu eingetragenen Daten werden in der DB abgespeichert.

Ich weiss jetzt werden viele wieder schreien und sagen: "Oh man das geht doch ganz einfach so und so musst du es machen" oder "meine Güte das inet ist voll von diesen Dingern" usw. Solche Kommentare braucht ihr nicht zu Posten, weil ich mir Bewusst darüber bin, dass alles was man sucht auch irgendwie im Internet zu finden ist. Ich bin aber ein Anfänger in Sachen PHP ansonsten würde ich ja nicht hier reinschreiben - also bitte ich um Rücksicht.
Dafür versuche ich mein Problem genau zu beschreiben und die Codes zu Posten.

Ich zeige euch mal wie die Daten aller User im Adminbereich eingelesen werden.

PHP-Code:
<table>
<?PHP $db_conn mysql_connect("localhost""login name""passwort") or die("Es konnte keine Verbindung zum Server hergestellt werden.");
  
mysql_select_db("datenbank"$db_conn) or die("Es konnte keine Verbindung zum Server hergestellt werden.");
$query "SELECT * FROM i_users";
$result mysql_query($query);
while (
$line mysql_fetch_array($result)) { ?>
<tr>
<td>Username</td>
<td>Name</td>
<td>Nachname</td>
<td>Position</td>
<td>Firma</td>
<td>Telefon</td>
<td>Website</td>
<td>E-Mail</td>
</tr>
</table>
<table>
 <tr>
 <td><?PHP echo $line[username];?></td>
 <td><?PHP echo $line[name];?></td>
 <td><?PHP echo $line[nachname];?></td>
 <td><?PHP echo $line[position];?></td>
 <td><?PHP echo $line[firma];?></td>
 <td><?PHP echo $line[telefon];?></td>
 <td><?PHP echo $line[website];?></td>
 <td><?PHP echo $line[email];?></td>
 <td><a href="update.php?id=<?PHP echo $line[id];?>">Edit</a></td>
 <td><a href="delete.php?id=<?PHP echo $line[id];?>">Delete</a></td>
 </tr>
 <?PHP
}
mysql_free_result($result);
mysql_close();
?>
</table><br>
<a href="http://www.php.de/index.php?page=reg">neuer Eintrag</a>
Jetzt bekommt der Admin eine Tabelle mit allen Daten der User. Jetzt klickt der Admin auf "Edit" und ein neues Fenster öffnet sich mit folgenden Inhalt.

PHP-Code:
<html>
<body>
<?PHP $db_conn mysql_connect("localhost""login name""passwort") or die("Es konnte keine Verbindung zum Server hergestellt werden.");
  
mysql_select_db("datenbank"$db_conn) or die("Es konnte keine Verbindung zum Server hergestellt werden.");
if (
$button==" OK ") {
 
mysql_query("UPDATE i_users SET name='$name',nachname='$nachname',position='$position',firma='$firma',telefon='$telefon',website='$website',email='$email' WHERE id='$id'");
 
mysql_close();
 
?>
 Die Daten wurden eingetragen<br>
 <a href="admin.php">zur Übersicht</a>
<? } else {
 
$query "SELECT * FROM i_users WHERE id='$id'";
 
$result mysql_query($query);
 
$line mysql_fetch_array($result)
 
?>
 <form method="post" action="update.php?id=<?PHP echo $id?>">
 Name:<br />
 <input type="text" name="name" value="<?PHP echo $line[name]; ?>"><br />
 Nachname:<br />
 <input type="text" name="nachname" value="<?PHP echo$line[nachname]; ?>"><br />
 Position:<br />
 <input type="text" name="position" value="<?PHP echo$line[position]; ?>"><br />
 Firma:<br />
 <input type="text" name="firma" value="<?PHP echo$line[firma]; ?>"><br />
 Telefon:<br />
 <input type="text" name="telefon" value="<?PHP echo$line[telefon]; ?>"><br />
 Website:<br />
 <input type="text" name="website" value="<?PHP echo$line[website]; ?>"><br />
 E-Mail:<br />
 <input type="text" name="email" value="<?PHP echo$line[email]; ?>"><br />
 <input type="submit" name="button" value=" OK ">
 </form>
</body>
</html>
In dieser Datei wird ein Formular angezeigt indem die Daten des zu editierenden Users stehen. So soll es auch sein, wenn ein User in seinem Bereich auf "Daten ändern" klickt.

Leider bekomme ich es nicht hin, dass sich die Userdaten dann auch da im Formular wiederfinden.

Ich bin mir nicht sicher, ob es von Relevanz ist aber ich Poste hier lieder nochmal den Code meiner Index.php und auth.php

INDEX.PHP:
PHP-Code:
<?
require 'functions.php';
require 
'config.php';
?>
<?
//if calling pages into an index file place this section at the start of your index
if ($_GET['log']=='logout')
{
    
$_SESSION = array();
    
session_destroy();
}
if (isset(
$_POST['username']) && isset($_POST['password']))
{
    
$userid makeSafe($_POST['username']);
    
$pass makeSafe($_POST['password']);
    
$pass sha1($pass);
    if (
strlen($userid)>&& strlen($pass)>0)
    {
      
// if the user has just tried to log in
      
$query "SELECT username FROM i_users WHERE username='".mysql_real_escape_string($userid)."' AND passwd='".mysql_real_escape_string($pass)."'";
      
$result mysql_query($query) or die("Query $query Failed".mysql_error());
      if (
mysql_num_rows($result)>0)
      {
        
// if they are in the database register the user id
        //below are the session variables add/remove or modify these as you wish
        
$_SESSION['valid_user'] = $userid;
      }
    }
}
//end of section
?>
<html>
<head>
<title>login - registrierung</title>
<link rel="stylesheet" href="styles.css" type="text/css" />
</head>
<body>
<div id="wrapper">    
    <div id="leftNav">
        <?
        $log 
makeSafe($_GET['log']);
        if (
$log=="") include "auth.php";
        if (
$log=="forgot") include "forgot.php";
        
?>
        <br />
        <a href="index.php?page=home" />Home</a>
    </div>

    <div id="content">
        <?
        $page 
makeSafe($_GET['page']);
        if (!isset(
$_GET['page']) || $page=='home') include 'home.php';
        if (
$page=='reg') include 'register.php';
        if (
$page=='reg2') include 'register2.php';
        if (
$page=='change') include 'changepass.php';
        if (
$page=='usercreate') include 'admin/insert.php';
        if (
$page=='userdelete') include 'admin/delete.php';
        if (
$page=='useredit') include 'admin/update.php';
        if (
$page=='adminpanel') include 'admin/admin.php';
        if (
$page=='changedetails') include 'update.php';
        
        
?>
    </div>
</div>
</body>
</html>
AUTH.PHP:
PHP-Code:
<?
  
if (isset($_SESSION['valid_user']))
  {
    
?>
    <p>Herzlich Willkommen <br /><b><?php echo $_SESSION['valid_user']; ?></b></p>
    <a href="index.php?log=logout">Log out</a><br />
    <a href="index.php?page=change">Passwort ändern</a><br />
    <a href="index.php?page=changedetails">Daten ändern</a>
    
    
    
    <?php
  
}
  else
  {
    if (isset(
$_POST['username']))
    {
      
// if they've tried and failed to log in
      
?>
      <p>Sie konnten sich leider nicht einloggen.</p>
      <a href="index.php?log=forgot" />Passwort vergessen?</a><p></p>
      <?php
    
}
    else 
    {
      
// they have not tried to log in yet or have logged out
      
?>
      <?php
    
}
    
// provide form to log in 
    
?>
    <form method="post" action="index.php">
    Benutzername:<br />
    <input type="text" name="username"/><br />
    Passwort:<br />
    <input type="password" name="password"/><br />
    <br />
    <input type="submit" name="logbut" value="Log in"/>
    </form>
    <a href="index.php?page=reg" />Registrieren.</a><br />
    <a href="index.php?log=forgot" />Passwort vergessen?</a>

Geändert von 54ch4 (16.03.2009 um 12:26 Uhr).
54ch4 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.03.2009, 12:31  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Dieser Teil dürfte relevant sein:
PHP-Code:
if ($button==" OK ") {
 
mysql_query("UPDATE i_users SET name='$name',nachname='$nachname',position='$position',firma='$firma',telefon='$telefon',website='$website',email='$email' WHERE id='$id'");
 
mysql_close(); 
PHP-Code:
if ($button==" OK ") { 
=>
PHP-Code:
if ($_POST && isset($_POST["button"])) { 
PHP-Code:
mysql_query("UPDATE i_users SET name='$name',nachname='$nachname',position='$position',firma='$firma',telefon='$telefon',website='$website',email='$email' WHERE id='$id'"); 
=>
PHP-Code:
mysql_query(
            
"UPDATE
                   i_users
            SET
                   name = '" 
$_POST["name"] . "',
                   nachname = '" 
$_POST["nachname"] . "',
                   position = '" 
$_POST["position"] . "',
                   firma = '" 
$_POST["firma"] . "',
                   telefon = '" 
$_POST["telefon"] . "',
                   website = '" 
$_POST["website"] . "',
                   email = '" 
$_POST["email"] . "'
            WHERE
                   id = '" 
$_GET["id"] . "'"
); 
Asipak ist offline  
Alt 16.03.2009, 15:16  
Neuer Benutzer
 
Registriert seit: 13.03.2009
Beiträge: 11
54ch4 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Asipak,
ich habe das alles so geändert aber es hat nichts geholfen. Das Problem bleibt leider weiterhin bestehen.
54ch4 ist offline  
Alt 16.03.2009, 22:54  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Hast du das mysql_close() auch rausgenommen? Brauchst du nicht zu verwenden, die Verbindung wird eh geschlossen bei Skriptende.

Grundsätzlich würd ich dir empfehlen, wenns nicht klappt, sofort mit var_dump zu arbeiten.

PHP-Code:
echo "<pre>";
var_dump($_POST);
echo 
"</pre> 
rudygotya ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Registrierte User sollen ihre Daten ändern können 54ch4 PHP Tipps 2009 17 14.03.2009 14:29
Daten per Formular ändern AJ79 PHP Tipps 2008 1 20.10.2008 21:44
[Erledigt] Login-System - Profil ändern soapy PHP Tipps 2008 8 14.10.2008 15:16
[Erledigt] Textarea: Einlesen - Problem.. Softyx PHP Tipps 2008 2 05.07.2008 12:49
PW ändern script TeazY PHP Tipps 2008 4 15.01.2008 13:48
.htpasswd (im geschützten Ordner!) per skript ändern! Funky_ PHP Tipps 2006 8 22.07.2006 18:03
Hintergrundbild eines Formulares mit Javascript ändern! HTML, Usability und Barrierefreiheit 3 03.11.2005 20:19
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Keys eines Arrays ändern Anotherone PHP Tipps 2005-2 7 26.08.2005 12:18
ändern des document root für ein verzeichnis lomtas Server, Hosting und Workstations 2 01.05.2005 10:43
Datensatz ändern funktioniert nicht PHP Tipps 2005 3 03.03.2005 23:09
Daten aus DB auslesen, ändern, und wieder aktualisieren Calli PHP Tipps 2005 5 15.02.2005 10:47
wie mache ich was Schreibrechte ändern Datenbank Eingaben .. PHP Tipps 2005 7 10.02.2005 19:07
[Erledigt] Passwort der DB ändern? Datenbanken 2 12.11.2004 14:39
html einlesen - automatisches ändern - speichern PHP Tipps 2004 7 23.06.2004 12:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
if ($button==\ ok \), php alle href\'s ändern, http://www.php.de/php-einsteiger/52970-userdaten-einlesen-und-aendern.html, if ($button==\ok\), php userdaten ändern, if ($button==\ ok \) {, php datensatz ändern, userdaten ändern php, php daten einlesen, if button ok, php user daten, if ($button==\ ok \, daten ändern php, benutzer bearbeiten php, daten aus formular einlesen, php $line[id], php datensatz ändern id mit post auf eine if ?, php5 mysql_query daten in html input feld einlesen, über id einlesen und update php, php userdaten bearbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum