php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.04.2006, 13:53  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard session inhalt ändert sich!

hallo,

ich starte in meiner datei die session und speichere darin nach dem login einige variabeln unter anderem auch die user id.
wen ich die user id auslese ist sie bei mir 1. soweit richtig. klicke ich aber nun auf mein memberlisten skript, wo die user aus der db abgerufen werden und ich danach eine andere seite aufrufe nehme ich danach die id des letzten user in der liste an. was ist das??

Warum passiert das??

grüße
schmiddy
schmiddy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.04.2006, 14:06  
Tobias
Gast
 
Beiträge: n/a
Standard

Wahrscheinlich wird die Session-Variable beim Auslesen aus der Datenbank irgendwie überschrieben..
aber ohne den Inhalt der Scripts zu kennen, kann ich dir da nicht weiterhelfen...
 
Alt 09.04.2006, 14:17  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard

hi interessant ist es nur im step addbuddy, den da wird sie geändert. aufgerufen um einen buddy zu adden wird so:
browsergame.byto.de/browsergame/
?content=module/ucp/buddylist
&step=addbuddy&sess_id=SESSION-ID
&user_friends_id=SESS-ID-DES-ZUADDENDEN
&name=USERNAME
PHP-Code:
<?
$this_file 
"/module/ucp/ucp.php";
session_start();
$sess_nutzer $_SESSION['benutzer'];
$sess_id $_SESSION['user_id'];
if(
$_SESSION['benutzer'] == ""){
echo 
"Du bist nicht eingeloggt.";
}else{
$step $_GET['step'];
if(
$step == "")
{
$anfrage_buddy="SELECT * FROM buddy_list WHERE user_id LIKE '$sess_id' ORDER BY buddy_id DESC";
echo 
$sess_id;
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="content-table-head">[b]Freundeliste[/b]</td>
</tr>
<tr>
<td class="content-table-con">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="44%" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>[b]Deine Buddyliste[/b]</td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>[b]Buddy ID[/b]</td>
<td>[b]Name[/b]</td>
<td>[b]L&ouml;schen[/b]</td>
</tr>
<?php
$result
=mysql_query($anfrage_buddy);
while (
$row mysql_fetch_array($result))
{
$buddy_id $row['buddy_id'];
$user_friend_id $row['user_friend_id'];
$name $row['name'];
$user_id_own $row['user_id'];
?>
<tr>
<td><?php echo $buddy_id?></td>
<td><?php echo $name?></td>
<td>[url="?content=module/ucp/buddylist&step=deletebuddy&buddy_id=<?php echo $buddy_id?>"][img]_private/images/delete.png[/img][/url]</td>
</tr>
<tr>
<?php
}
?>
</table></td>
</tr>

</table>

</td>
<td width="56%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>[b]Du bist auf der Buddyliste von...[/b]</td>
</tr>
<tr>
<td>n/A</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="content-table-con"></td>
</tr>
</table>
<?php
}
if(
$step == "deletebuddy")
{
$loeschen "DELETE FROM buddy_list WHERE user_id = '$sess_id' and buddy_id = '$buddy_id' "
or die ("Fehler beim löschen. Du kannst keine anderen Buddys löschen, außer deine eigenen.");
$loesch mysql_query($loeschen);
?>
<center>Du hast den Buddy mit der ID <?php echo $buddy_id?> erfolgreich von deiner Liste gelöscht!</center>
<center>[url='?content=module/ucp/buddylist'][ Hier geht es zurück zur Buddyliste ][/url]</center>
<?php
}
if(
$step == "addbuddy")
{
$get_sess_id$_GET['sess_id'];
$get_name $_GET['name'];
$get_user_friends_id $_GET['user_friends_id'];
if(
$get_sess_id == $sess_id)
{
$sql_add "INSERT INTO buddy_list (user_id, user_friend_id, name) VALUES('$sess_id', '$user_friends_id', '$get_name')";
$result_add mysql_query($sql_add,$db);
echo 
"<center>[b]Der Buddy wurde hinzugefügt![/b]</center>";
}
else
{
echo 
"<center>[b]Du kannst nich Buddys auf andere Listen setzen![/b]</center>";
}
}
}
?>
schmiddy ist offline  
Alt 09.04.2006, 14:59  
Gast
 
Beiträge: n/a
Standard

1. Schreibe an den Anfang des Scriptes die Zeile error_reporting(E_ALL);
2. Diesen nicht eingerückten Quellcode sehe ich mir nicht genauer an.

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

Gruß
phpfan
 
Alt 09.04.2006, 15:05  
Tobias
Gast
 
Beiträge: n/a
Standard

Ich vermute mal, der Fehler ist in einem übergeordneten Script (require/include) bzw. in einem Scriptteil, den du weggelassen hast.

Theoretisch kann sich die Variable ja nicht einfach so ändern,
vielleicht hast du irgendwo in einer if-Anweisung "=" statt "==" geschrieben?

Ansonsten würde ich einfach mal so wie von phpfan vorgeschlagen nach der Fehlerquelle suchen..^^
 
 


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
Bild verschafft sich platz HTML, Usability und Barrierefreiheit 14 11.08.2008 23:45
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
cookie - Inhalt in Session übernehmen PHP Tipps 2007 4 25.07.2007 12:38
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Session in Session tinchen PHP Tipps 2007 22 21.03.2007 19:53
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
session array Timo Trallala PHP Tipps 2006 18 22.04.2006 13:45
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
$_GET und Session PHP Tipps 2004 9 20.06.2004 19:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session variable aendert sich, session id wechselt, php inhalt session ändern, php session variable ändert sich nicht, $_session ändert sich, $_session verändert sich nicht, \session id ändert sich nicht\, warum ändert sich die session php, session ändert sich nicht, php session_id ändert sich, php session id ändert sich, img php session, \session ändert sich\ php, php session id ändert sich nicht, session ändert sich, php $_get[\sess_id\]

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