php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.04.2008, 20:38  
Neuer Benutzer
 
Registriert seit: 11.03.2008
Beiträge: 10
incubo
Standard Where Bedingung mit Session datei

Hi,
Ich habe ein Problem mit einer Where-Bedingung

und zwar wollte ich dass bei einem Update Befehl eine Session Datei ( z.B.: $_SESSION[user_id]) als Bedingung verwendet wird.

Also der Code hätte bei mir so ausgesehen

PHP-Code:
"UPDATE charakter SET ehre = '".$_POST['ehre']."' WHERE id = '".$_SESSION['user_id']."' " 
Wenn ich statt '$_SESSION[user_id]' den text, den die session normal ausgeben würde, hineinschreibe funktionierts.

Bitte um Hilfe !!!
incubo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.04.2008, 21:22  
Benutzer
 
Registriert seit: 18.05.2008
Beiträge: 41
MrZYX befindet sich auf einem aufstrebenden Ast
MrZYX eine Nachricht über ICQ schicken MrZYX eine Nachricht über AIM schicken MrZYX eine Nachricht über MSN schicken MrZYX eine Nachricht über Yahoo! schicken MrZYX eine Nachricht über Skype™ schicken
Standard

Was passiert wenn du mal
PHP-Code:
 <?php 
echo "<pre>";
echo 
"UserID:\n";
var_dump($_SESSION['user_id']);
echo 
"Full:\n";
var_dump($_SESSION);
echo 
"</pre>";
?>
Ist dort $_SESSION['user_id'] korrekt/überhaupt vorhanden? Fängst du mit mysql_error() evtle. fehler ab? Wenn du den generierten Query ausgibst ist dieser korrekt?
Debugging löst die meisten Probleme
__________________
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher. - Albert Einstein
MrZYX ist offline  
Alt 23.04.2008, 21:58  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Statt
Code:
'".$_SESSION['user_id']."'
würde ich immer eher
Code:
".(int)$_SESSION['user_id']."
schreiben.
Aber das nur so am Rande.
Manko10 ist offline  
Alt 23.04.2008, 22:23  
Neuer Benutzer
 
Registriert seit: 11.03.2008
Beiträge: 10
incubo
Standard

@ Mr.ZYX

es war tatsächlich keine Session daten vorhanden. So kam ich irgendwann darauf dass man im script auch die Session starten muss (session_start ()).

THX
incubo ist offline  
Alt 24.04.2008, 02:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nicht persönlich nehmen, aber: Wieder ein typischer Fall für ein sinnloses Posting! Gewöhnt Euch an, die grundlegenden Dinge erstmal vor dem Posten zu debuggen (hier von Debugging zu sprechen ist schon zu viel):

1 - SQL Anfrage ausgeben lassen. Erkenntnis: WHERE id = ''
2 - Die entsprechenden Variablen ($_SESSION['user_id']) ausgeben lassen. Erkenntnis: Variable ist leer
nikosch ist offline  
Alt 24.04.2008, 04:34  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Manko10
Statt
Code:
'".$_SESSION['user_id']."'
würde ich immer eher
Code:
".(int)$_SESSION['user_id']."
schreiben.
Aber das nur so am Rande.
Jein, ich wuerde beim Schreiben IN die Session schon einen INT Wert erzwingen, dann kannst du dich in deinen spaeteren Skripten auf den Inhalt verlassen.

PS: Ich kann nikosch da nur beipflichten.
Zergling-new ist offline  
Alt 24.04.2008, 08:10  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Zergling
Jein, ich wuerde beim Schreiben IN die Session schon einen INT Wert erzwingen, dann kannst du dich in deinen spaeteren Skripten auf den Inhalt verlassen.
Und dann hast du's irgendwo einmal vergessen oder ein anderer der mitentwickelt meint ein $_SESSION['user_id'] = $_POST['id'] sei eine gute Idee ...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 24.04.2008, 08:38  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich hab nur eine Stelle im Code, die weiss dass $_SESSION["user_id"] existiert Ich schreib die Tage mal ein Tutorial zum QCodo (ZCodo) OR-Mapper, das ist fantastisch, Entwicklungszeit halbiert sich dadurch. Ich kann schon garkein SQL mehr
Zergling-new ist offline  
Alt 24.04.2008, 09:17  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Zergling
Ich schreib die Tage mal ein Tutorial zum QCodo (ZCodo) OR-Mapper, das ist fantastisch, Entwicklungszeit halbiert sich dadurch. Ich kann schon garkein SQL mehr
SQL macht doch Spaß
QCode sieht auf den ersten Blick ähnlich wie CakePHP aus. Auch mit einem Codegenerator der dir aus deiner DB die nötigen Klassen erstellt und auf Wunsch auch schon die Views...(heißt bei cakePHP "bake").
Bin gespannt auf das Tutorial.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 28.04.2008, 13:32  
Neuer Benutzer
 
Registriert seit: 11.03.2008
Beiträge: 10
incubo
Standard

Also ist es nicht möglich den wert schon während der eingabe, also vor dem post, zu überprüfen?
incubo ist offline  
 


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
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 per resfresh neu schreiben,wie? PHP Tipps 2006 6 01.11.2006 21:03
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
[Erledigt] WHERE Bedingung Datenbanken 1 11.08.2006 08:29
[Erledigt] Datei mit &amp;amp;amp;amp;quot;w&amp;amp;amp;amp;quot; schreiben -&amp;amp;amp;amp;gt PHP-Fortgeschrittene 17 30.12.2005 13:58
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
Datei mehrmals öffnen und schließen in einem Skript PHP Tipps 2005-2 14 14.07.2005 18:12
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
Nur bestimmte Felder auslesen (forum_id) Datenbanken 10 22.10.2004 09:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fill $_session[\'user_id\']

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