anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 13 Jun, 2025 14:22

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: UPDATE und redirect geht nicht
BeitragVerfasst: Mi 05 Sep, 2007 21:29 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
Nabend.


Ich hab da n Problem mit meinem Prangerscript und ich weiß ned worans liegt. hier mal der Code vom ersten prob...
[php]
} else {
$sql = "INSERT INTO pranger (begin,end,acctid,user,location,reason) VALUES (\"$begin\",\"$end\",$acctid,\"$name\",$location,\"$reason\")";
db_query($sql) or die(db_error($link));
$sql = "UPDATE accounts SET ploc = '".addslashes($location)."',ptime = '".addslashes($ptime)."' WHERE acctid = '".addslashes($acctid)."' ";
db_query($sql) or die(db_error($link));
output("`bGespeichert`b");
$news = array(
"0" => "",
"1" => "`&wurde vom Sicherheitsdienst gefangengenommen und büßt seine Strafe auf der Insel der Rothe ab."
);
addnews("`&".$name." ".$news[$location]." Begründet wurde dies mit: ".$reason."");
output("`n
begin: ".$begin."`n
end: ".$end."`n
location: ".$location."`n
reason: ".$reason."`n
acctid: ".$acctid."`n
ptime: ".$ptime."`n
name: ".$name."
");
}
[/php]

in der tabelle pranger wird alles gespeichert und es sind auch alle variablen gesetzt, nur das update der accounts funzt ned. ptime und ploc werden einfach ned upgedatet und ich hab schon so ziemlich alle schreibweisen probiert.
hab sogar schon die werte direkt, ohne variablen gesetzt und nix ...



und das zweite...

in der function checkday hab ic hdas reingehauen
[php]
if(($session['user']['ptime']>0) && ($session['user']['ploc']>0)) redirect("$pranger");
[/php]

ich komme zwar auf die richtige seite und diese existiert 100%ig, dennoch kann die seite nicht angezeigt werden. Oo
wenn ich ptime und ploc auf 0 setz, gehts wieder.

[php]
case"island":
page_header ("Die Insel der Rothe");
if($session['user']['ptime'] > 0) {
output("Auszeit für dich`n`n`n");
addnav("Logout","login.php?op=logout",true);
} else {
output("Über die Gefangenen lästern`n`n`n");
addnav("Zurück","donigarten.php?op=see");
}
viewcommentary("pranger.donigarten",20);
break;
[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 05 Sep, 2007 23:05 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
ganzer source wäre hilfreich inkl. deiner checkday versuche (die ich allerdings nicht nachvollziehen kann)^^

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 06 Sep, 2007 04:30 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
werd die entsprechenden datein am nachmittag raussuchen.

und wieso nicht nachvollziehen? checkday ist schon in den wichtigsten datein, also kann ich doch gleich die verwenden, um jemanden zum pranger zu geleiten ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 06 Sep, 2007 14:47 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
soo. hier die pranger.php die änderungen an den anderen datein stehen drinnen.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 07 Sep, 2007 17:53 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
keine idee? ich begreifs auch ned. mit addslash, ohne, die zahlen mit ".." und ohne db_query mit or die und ohne, mit variablen oder ganz einfach
$sql="UPDATE accounts SET ploc=1,ptime=1 WHERE acctid=1"; , egal ob ich das update dort lasse oder direkt unter default: reinkopier ... es passiert einfach nix. langsam glaub ich meine datenbank kennt die funktion "UPDATE" einfach nicht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 07 Sep, 2007 20:17 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Da gab es einen Bug bzgl. dem UPDATE Befehl und der accounts Tabelle. Es funktioniert meist nicht bzw. nur, wenn man es so handhabt wie in der user.php.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 07 Sep, 2007 22:58 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
da gibts doch auch so sachen wie..

[php]}elseif($_POST[fixnavs]!=""){
$sql = "UPDATE accounts SET allowednavs='',output='' WHERE acctid=$_GET[userid]";
}elseif($_POST[clearvalidation]!=""){
$sql = "UPDATE accounts SET emailvalidation='' WHERE acctid='$_GET[userid]'";
}
db_query($sql);[/php]
...die funktionieren.


den sinn der hinter
$sql=substr($sql,0,strlen($sql)-1);
steht hab ich zwar nicht begriffen, aber habs auch probiert, geht auch ned.

gibts da noch irgendwelche versteckten dinge die man braucht damit das geht?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 08 Sep, 2007 02:38 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 11 Feb, 2006 19:39
Beiträge: 596
Wohnort: Stuttgart - Waiblingen
Geschlecht: Männlich
LoGD: http://logd.legend-of-vinestra.de/source
Skype: da-chosen-one
$sql=substr($sql,0,strlen($sql)-1);

Heißt:
String verkürzen. Letzte Ziffer fällt weg.
ist wohl das ,

Damit vor der WHERE clause kein "," steht, ist das nötig.


Zu deinem Problem: Müsst ich mal angucken *g*

Wie hast du es getestet? Bei dir selbst?
Update funktioniert meistens nicht bei einem selbst...

Da dann mit $session['user']['xyz'] = abc; arbeiten


Ansonsten: Muss ich nachgucken, wie schon gesagt, aber heute nimmer *g*

_________________
$this->bbcode_second_pass_code('', '(define-record-procedures choco-cookie
make-choco-cookie choco-cookie?
(choco-cookie-choco
choco-cookie-cookie))

(define Prinzenrolle
(make-choco-cookie choco-cookie-choco-standard (* 2 choco-cookie-cookie-standard)))')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 08 Sep, 2007 11:22 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
Drazaar hat geschrieben:
$sql=substr($sql,0,strlen($sql)-1);

Heißt:
String verkürzen. Letzte Ziffer fällt weg.
ist wohl das ,

Damit vor der WHERE clause kein "," steht, ist das nötig.



also, ich sehe das anders.

substr(hallo welt,0,9) liefert mir alles vom 0ten bis zum 9. zeichen.
bei hallo welt wäre das also von h(allo) bis (wel)t, also alles

strlen fängt bei 1 an zu zählen.
hallo welt wäre also 10. minus 1 wäre es dann 9

substr(hallo welt,0,strlen(hallo welt)-1) liefert mir also alles zurück.

wenn ich keinen denkfehler hab, is das also vollkommen sinnlos ^^


Drazaar hat geschrieben:
Wie hast du es getestet? Bei dir selbst?
Update funktioniert meistens nicht bei einem selbst...

Da dann mit $session['user']['xyz'] = abc; arbeiten


ja, hab ich und nachdem ich es getestet hab, war auch das der fehler.
danke für den tipp. werd ich halt hinzufügen wenn man sich selber anprangern will ^^
[/quote]


so, das prob mit redirect hat sich auch erledigt.
wenns in checkday ist, darf checkday(); ned in der zielphp bzw -case stehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 08 Sep, 2007 16:47 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 11 Feb, 2006 19:39
Beiträge: 596
Wohnort: Stuttgart - Waiblingen
Geschlecht: Männlich
LoGD: http://logd.legend-of-vinestra.de/source
Skype: da-chosen-one
[php]
$string = 'hallo';

$strlen = strlen($string);

$string = substr($string, 0, $strlen);
echo $string; # gibt natürlich hallo zurück


$strlen = strlen($string)-1;

$string = substr($string, 0, $strlen);
echo $string; # gibt aus: hall[/php]

Ich hab ein bisschen gebraucht um zu kapieren, was du meinst.
Da kann ich dir nicht weiterhelfen.
Ich weiß nur, dass es funktioniert, auch wenn deine Denkweise durchaus logisch erscheint, bzw. ist? Oo^^

_________________
$this->bbcode_second_pass_code('', '(define-record-procedures choco-cookie
make-choco-cookie choco-cookie?
(choco-cookie-choco
choco-cookie-cookie))

(define Prinzenrolle
(make-choco-cookie choco-cookie-choco-standard (* 2 choco-cookie-cookie-standard)))')


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum