php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.11.2006, 00:29  
Benutzer
 
Registriert seit: 08.10.2007
Beiträge: 33
Benjamin befindet sich auf einem aufstrebenden Ast
Standard Einfaches script

Hallo,

ich als php anfänger hab ein problem bei einem relativ leichtem Script. Bei dem Script handelt es sich um ein Script womit man sein Profil updaten kann. es soll erstmal mal nur ganz simpel sein ohne irgendwelche überprüfungen weil ich das gern später in ruhe noch lernen will hier das script:

http://nopaste.biz/?9556

so soweit hab ich das im moment und da hab ich eine frage wie sieht das aus wie kann ich php sagen das er das profil nur von dem user mit der id mit der er eingeloggt ist updaten soll und nicht irgendeins?
Benjamin ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.11.2006, 00:32  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Dann fügst du an den MySQL Query noch folgendes an

WHERE user_id = '4'
Flor1an ist gerade online  
Alt 14.11.2006, 08:25  
Erfahrener Benutzer
 
Benutzerbild von zwerg
 
Registriert seit: 12.08.2005
Beiträge: 437
zwerg
Standard

Am besten liest du ID aus einem COOKIE oder einer SESSION aus:
PHP-Code:
mysql_query("UPDATE SET [...] WHERE `user_id` = '".$_COOKIE['user_id']."'"); 
zwerg ist offline  
Alt 14.11.2006, 16:20  
Benutzer
 
Registriert seit: 08.10.2007
Beiträge: 33
Benjamin befindet sich auf einem aufstrebenden Ast
Standard

jo razor wie man die id abfragt also mit WHERE id='1' wusste ich nur das was zwerg schrieb meinte ich trotzdem danke

jo also zwerg deins hab ich mal versucht nur leider scheint es nicht zu klappen.

folgender inhalt steht in der verify.php:

PHP-Code:
<?php 
session_start
(); 
$SID session_id();
require_once(
"functions/mysql.php"); 
if(isset(
$_POST['Login'])) {
    
    
$error=false;
    
$email=$_POST['email'];
    
$password=md5($_POST['password']);
    
    
$check=mysql_query("SELECT * FROM `users` WHERE email='$email' AND password='$password'") or die("Fehler: ".mysql_error());
    
$data=mysql_fetch_assoc($check);
    
        if(
$password == $data['password']) {
        
        
$_SESSION['email'] = $data['email'];
        
$_SESSION['password'] = $data['password'];
        
$_SESSION['id'] == $data['id'];
        
setcookie("password"$data['password'], time()+3600); 
        
setcookie("id"$data['id'], time()+3600); 
        
setcookie("email"$data['email'], time()+3600);
        
header("Location:frontpage.php?=".$SID."");
        echo 
"Successfully logged in.";
    }
    elseif(
$password != $data['password']) {
            
        
$error=true;
        
$error_msg="You entered a wrong password.";
        
header("Location:frontpage.php?".$SID."");
    }
}
?>
folgendes steht in der usercp.php:

PHP-Code:
<table border="0" align="center" cellpadding="1" cellspacing="0">
  <tr>
    <td width="200" valign="top">[img]advertise_1.jpg[/img]</td>
    <td width="500" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td width="20%" align="center">[url="frontpage.php?<?php echo $SID?>"]FRONTPAGE[/url]</td>
        <td width="20%" align="center">[url="crew.php?<?php echo $SID?>"]PLAY CREW[/url]</td>
        <td width="20%" align="center">[url="matches.php?<?php echo $SID?>"]PLAYED MATCHES[/url]</td>
        <td width="20%" align="center">[url="replays.php?<?php echo $SID?>"]REPLAYS[/url]</td>
        <td width="20%" align="center">[url="sponsors.php?<?php echo $SID?>"]SPONSORS[/url]</td>
      </tr>
      <tr>
          <td colspan="5" bgcolor="#333333"></td>
      </tr>
      <tr>
          <td colspan="5" height="5"></td>
      </tr>
    </table>
      <table width="100%" border="0" cellspacing="0" cellpadding="1">
        <tr>
          <td valign="top"><table width="348" border="0" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF">
            <tr>
              <td><table width="99%" border="0" align="center" cellspacing="0" cellpadding="1">
                <tr>
                  <td>
                  <?php
                  $action
=isset($_GET['action']);
                  if(
$action=="setup_profile") {    
                  
?>
                  <form method="post" action="usercp.php?action=saveedit" style="display:inline;"><table width="100%" border="0" align="center"  cellspacing="0" cellpadding="1">
  <tr>
    <td colspan="2" class="contentTitle">EDIT PROFILE</td>
    <td>
    <tr>
            <td colspan="2">[img]pfeil.jpg[/img] [url="usercp.php?<?php echo $SID?>"]back[/url]</td>
          </tr>
  <tr>
    <td width="12%">Username:</td>
    <td>
      <input type="text" class="login" style="width: 280px;" name="username">
    </td>
  </tr>
  <tr>
    <td>Firstname:</td>
    <td><input type="text" class="login" style="width: 280px;" name="firstname"></td>
  </tr>
  <tr>
    <td>Nachname:</td>
    <td><input type="text" class="login" style="width: 280px;" name="nachname"></td>
  </tr>
  <tr>
    <td>Birthday:</td>
    <td><input type="text" class="login" style="width: 280px;" name="birthday"></td>
  </tr>
  <tr>
    <td>ICQ:</td>
    <td><input type="text" class="login" style="width: 280px;" name="icq"></td>
  </tr>
  <tr>
    <td>MSN:</td>
    <td><input type="text" class="login" style="width: 280px;" name="msn"></td>
  </tr>
  <tr>
    <td colspan="2">
      <input type="submit" class="submit" name="saveedit" value="Submit">
    </td>
  </tr>
</table></form>
                <?php } elseif(isset($_POST['saveedit'])) {
                
                    
$username=$_POST['username'];
                    
$firstname=$_POST['firstname'];
                    
$lastname=$_POST['lastname'];
                    
$msn=$_POST['msn'];
                    
$icq=$_POST['icq'];
                    
$birthday=$_POST['birthday'];
                    
                        
mysql_query("UPDATE `users` SET icq='$icq', msn='$msn', username='$username', firstname='$firstname', lastname='$lastname', birthday='$birthday' WHERE id='".$_SESSION['id']."'") or die("Error: ".mysql_error());
                
                
?>
                <?php } else { ?>
                <table width="100%" border="0" align="center" cellpadding="1" cellspacing="0">
<tr>
            <td colspan="2" style="padding-left: 2px;" class="contentTitle">USERPANEL</td>
          </tr>
  <tr>
    <td width="5%" class="table">[img]nouserpic.jpg[/img]</td>
    <td valign="top" style="padding-left: 4px;"><table width="100%" border="0" cellspacing="0" cellpadding="2">
      <tr>
        <td>[img]pfeil.jpg[/img] [url="usercp.php?action=setup_profile&sid=<?php echo $SID?>"]Edit profile[/url] </td>
      </tr>
      <tr>
        <td>[img]pfeil.jpg[/img] [url="frontpage.php<?php echo $SID?>"]Edit userpic [/url]</td>
      </tr>
      <tr>
        <td>[img]pfeil.jpg[/img] [url="frontpage.php<?php echo $SID?>"]Edit avatar [/url]</td>
      </tr>
      <tr>
        <td>[img]pfeil.jpg[/img] [url="frontpage.php<?php echo $SID?>"]Change password [/url]</td>
      </tr>
    </table></td>
  </tr>
</table>
                <?php ?>
                  </td>
                </tr>
              </table></td>
            </tr>
          </table></td>
          <td valign="top"><table width="148" border="0" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF">
            <tr>
              <td valign="top"><table width="97%" border="0" align="center" cellspacing="0" cellpadding="1">
                <tr>
                  <td class="contentTitle">LATEST MATCHES</td>
                </tr>
                <tr>
                  <td></td>
                </tr>
                <tr>
                  <td class="contentTitle">ACCOUNT LOGIN</td>
                </tr>
                <tr>
                  <td><?php include("login.php"); ?></td>
                </tr>
              </table></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
    <td width="150" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td class="subContentTitle">ADVERTISING</td>
      </tr>
      <tr>
        <td bgcolor="#333333"></td>
      </tr>
      <tr>
        <td></td>
      </tr>
    </table></td>
  </tr>
</table>
also das script soll bei erfolgreichem ausführen die daten updaten nur leider macht das script ebend garnichts ^^ hm... woran könnte das liegen? das script soll wie gesagt erstmal schlicht ohne überprüfungen sein.
Benjamin ist offline  
Alt 14.11.2006, 16:46  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was ich geschrieben hab ist doch genau das was dir Zwerg auch geschrieben hat ...
Kuck dir mal die Zeile wo du $_SESSION['id'] zuweisen an ...
Flor1an ist gerade online  
Alt 14.11.2006, 17:54  
Benutzer
 
Registriert seit: 08.10.2007
Beiträge: 33
Benjamin befindet sich auf einem aufstrebenden Ast
Standard

jo ich weiß also ok den fehler hab ich korrigiert aber selbst dann funktioniert es nicht. ich hab kein plan woran das liegt ich mein ich hab doch alle felder zugewiesen, und die id per session zugewiesen also müsste php doch langsam mal schnalln das alles soweit korrekt ist.
Benjamin ist offline  
Alt 14.11.2006, 18:00  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Lass dir doch mal mit print_r($_SESSION); ausgeben lassen ob überhaupt die ID in der Session steht. Und lass die mal den Query vom UPDATE ausgeben also:
$query = "SELECT .....";
echo $query;
mysql_query($query);

Dann siehste vlt. wodran es liegt.
Flor1an ist gerade online  
Alt 14.11.2006, 21:38  
Benutzer
 
Registriert seit: 08.10.2007
Beiträge: 33
Benjamin befindet sich auf einem aufstrebenden Ast
Standard

jo also id wird richtig zugewiesen:

Array ( [email] => intension@gmx.net [password] => 102eae43bd9ab0120904f53fcab2d4f0 [id] => 23 )

hab ich vielleicht im grundscript was falsch gemacht? was ich vielleicht übersehen hab?
Benjamin ist offline  
Alt 14.11.2006, 23:55  
Erfahrener Benutzer
 
Benutzerbild von GelaMu
 
Registriert seit: 05.03.2006
Beiträge: 183
GelaMu
Standard

Zeile 26-29 in usercp.php:
PHP-Code:
<?php
$action
=isset($_GET['action']);
if(
$action=="setup_profile") {
?>
Mit $action=isset($_GET['action']) tust Du doch den Wert aus $action verändern, oder? Dann ist $action entweder true oder false. Dann kann's natürlich auch nicht zu $action=="setup_profile" kommen.
Oder seh ich's falsch...

Wolltest Du's vielleicht so schreiben:
if(isset($_GET['action'] && $_GET['action'] == "setup_profile") { ... }
GelaMu ist offline  
Alt 15.11.2006, 00:14  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Jap GelaMu hast Recht, da hab ich garnicht erst hingeschaut ... solche Fehler naja ... auf sowas achtet man garnicht mehr nach einiger Zeit da ich davon ausgehe das sowas richtig is ...
Flor1an 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
Ganz einfaches Script nur wo ist der Fehler? aerow90 PHP Tipps 2008 10 20.07.2008 23:18
Script beendet sich ohne Fehlermeldung Zahl PHP Tipps 2006 6 04.06.2006 20:41
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Einfaches Script für Datenbankfeld-Manipulierung gesucht robo47 PHP Tipps 2004-2 8 27.12.2004 14:56
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04
[Erledigt] Brauch ein einfaches Formmail script PHP Tipps 2004 2 18.08.2004 20:40
[Erledigt] suche gutes einfaches script zum email mit attachment versen PHP Tipps 2004 2 05.08.2004 19:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:56 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.