Hi,
es geht zwar um ein Beispiel in Ruby on Rails, aber es ist eigentlich ein Logikproblem, mit dem ich mich im Moment rumschlage:
Der Code
Wenn die Funktion das erste Mal aufgerufen wird (also direkt nach dem Abschicken des Formulars) ist der parameter "open_id_complete" immer nil, der user auch (das läuft leider über die Funktion zur Authentication so).
Wenn der User existiert (= OpenID korrekt und in Datenbank) wird das ganze nochmal mit dem parameter "open_id_complete"=1 aufgerufen (auch durch die OpenID-Funktion), ansonsten bleibt es bei nil und er geht raus.
Mein Problem ist, dass - wenn user <> nil ist - zweimal ein redirect ausgeführt wird (was rails nicht erlaubt) und ich sehe einfach nicht, warum
Ist vermutlich nur ein dummer Fehler, aber ich find's nicht.
Vielen Dank schonmal im Voraus!
es geht zwar um ein Beispiel in Ruby on Rails, aber es ist eigentlich ein Logikproblem, mit dem ich mich im Moment rumschlage:
Der Code
PHP:
def openid_login
if !params[:openid].blank? || !params[:open_id_complete].blank?
user = open_id_authentication params[:openid]
unless user.nil?
session[:user_id] = user.id
session[:permission_cache] ||= Hash.new
session[:projects_links] = get_projects
redirect_back_or_default('/session')
else
redirect_to :action => "new" and return
end
else
redirect_to(:action => "new") and return
end
end
Wenn der User existiert (= OpenID korrekt und in Datenbank) wird das ganze nochmal mit dem parameter "open_id_complete"=1 aufgerufen (auch durch die OpenID-Funktion), ansonsten bleibt es bei nil und er geht raus.
Mein Problem ist, dass - wenn user <> nil ist - zweimal ein redirect ausgeführt wird (was rails nicht erlaubt) und ich sehe einfach nicht, warum
Ist vermutlich nur ein dummer Fehler, aber ich find's nicht.
Vielen Dank schonmal im Voraus!