anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 19 Nov, 2019 04:14

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: insert-frage
BeitragVerfasst: Mo 08 Feb, 2010 15:24 
Offline
Profi
Profi

Registriert: So 17 Mai, 2009 11:57
Beiträge: 106
Wohnort: chemnitz, cottbus
Geschlecht: Männlich
LoGD: noch offline
Skype: drimatu
hallo, hab hier folgende datei:

<?php
require_once "common.php";
page_header("Charaktererstellung");
addnav("weiter","village.php");
$gw = mt_rand(1900 , 2600) /100*($session['user']['go']*$session['user']['go']);
$gw = round($gw , 1);
$sql = "INSERT INTO accounts
(gw
) VALUES (
'$gw'
)";
db_query($sql);
page_footer();
?>

wofür das sein soll dürft ja klar sein. nur leider wird der wert nicht in der db gespeichert. was mach ich falsch?
mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Mo 08 Feb, 2010 15:38 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
Wenn das Tabellenfeld schon vorhanden ist würde ich eher auf UPDATE tippen statt INSERT und wenn, dann gehört noch eine AccountID dazu.

Sollte das ganze in der create.php sein, dann gehört es in den vorgesehenen INSERT. Nur existiert dort noch kein SessionUser.

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Mo 08 Feb, 2010 15:48 
Offline
Profi
Profi

Registriert: So 17 Mai, 2009 11:57
Beiträge: 106
Wohnort: chemnitz, cottbus
Geschlecht: Männlich
LoGD: noch offline
Skype: drimatu
hallo, ja, ich hab es aus der create.php. insert ist schon hier richtig weil oben geschriebenes in eine art createnext.php steht, die felder sind also noch nicht defeniert
es ist also nicht so ohne weiteres möglich das aus der create.php in eine andere datei zu übernehmen, selbst wenn die felder noch leer sind? mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Mo 08 Feb, 2010 15:53 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
Ich nehme an, diese Script folgt der create.php.

Wenn du $session[user] benutzt existiert der Account, samt dem Feld gw (in dem Falle als default-Wert) bereits. Also musst du UPDATE benutzen.

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Mo 08 Feb, 2010 16:05 
Offline
Profi
Profi

Registriert: So 17 Mai, 2009 11:57
Beiträge: 106
Wohnort: chemnitz, cottbus
Geschlecht: Männlich
LoGD: noch offline
Skype: drimatu
ok vielen dank mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 12:59 
Offline
Profi
Profi

Registriert: So 17 Mai, 2009 11:57
Beiträge: 106
Wohnort: chemnitz, cottbus
Geschlecht: Männlich
LoGD: noch offline
Skype: drimatu
sorry, irgend wie zu doof dafür. muss das nun heißen:

$gw = mt_rand(1900 , 2600) /100*($session['user']['go']*$session['user']['go']);
$gw = round($gw , 1);
$sql = "UPDATE accounts SET gw='' WHERE acctid='$_GET[userid]'";
db_query($sql);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 13:17 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
$sql = "UPDATE accounts SET gw='$gw' WHERE acctid='$session[user][acctid]'";

wäre mein Vorschlag ^^

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 14:53 
Offline
Profi
Profi

Registriert: So 17 Mai, 2009 11:57
Beiträge: 106
Wohnort: chemnitz, cottbus
Geschlecht: Männlich
LoGD: noch offline
Skype: drimatu
hallo, hab nun mal zur überprüfung die drei varianten genommen. bei allen dreien wurde die acctid jedoch nicht zurück gegeben. daran liegt nun der speicherfehler. nun aber die frage: welche variante ist davon richtig und warum wird bei keiner variante die acctid zurück gegeben?

echo "UPDATE accounts SET gewi='$gewi' WHERE acctid='$row[ACCTID]'";

echo "UPDATE accounts SET gewi='$gewi' WHERE acctid='$session[user][acctid]'";

echo "UPDATE accounts SET gewi='$gewi' WHERE acctid='$_GET[userid]'";


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 15:11 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3922
Wohnort: Basel
Geschlecht: Männlich
Wie wärs mit:
$this->bbcode_second_pass_code('', '$session['user']['gewi'] = $gewi;')
?

Ich hab keine Ahnung, was du genau willst. Um dem aktuellen User aber etwas zu geben, brauchst du keinen direkten Datenbankquery - ja, mit dem funktionierts sogar nicht.

Für fremde User hingegen bräuchtest du einen. Nur - was willst du?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 16:29 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
Mir ist gerade etwas eingefallen. Kann es sein, dass das Script gleich an die create.php folgt?
Könnte es sein, dass $session[user] noch gar nicht existiert? Dieser wird doch erst erstellt, wenn sich der User einloggt über Login.

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 19:32 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 02 Feb, 2009 21:11
Beiträge: 168
Geschlecht: Männlich
LoGD: salator.selfhost.de/lotgd
drimatu hat geschrieben:
echo "UPDATE accounts SET gewi='$gewi' WHERE acctid='$row[ACCTID]'";

Die Variable $row wird im Lotgd-Code oft dafür benutzt um einen Datensatz aus der Datenbank zu lesen. Guck dir also die zugehörige SQL-Abfrage an. Ich vermute mal, mit ziemlicher Sicherheit wird da kein ACCTID in Großbuchstaben abgerufen.

drimatu hat geschrieben:
echo "UPDATE accounts SET gewi='$gewi' WHERE acctid='$session[user][acctid]'";

Siehe Antwort von Lori, der Sessionuser existiert nur im eingeloggten Zustand.

drimatu hat geschrieben:
echo "UPDATE accounts SET gewi='$gewi' WHERE acctid='$_GET[userid]'";

Hier guckst du dir mal die URL an, die in deinem Browser steht. für ein gültiges $_GET sollte es sowas sein wie deinserver.de/datei.php?userid=123
Nebenbei bemerkt willst du ganz sicher nicht so leichtsinnig sein und etwas ungeprüft an die Datenbank schicken was man in der Browserzeile eintippen kann. Stichwort SQL-Injection.

Und noch ein Vorschlag zu einer ganz anderen Herangehensweise: Wenn etwas in einen frisch angelegten Account geschrieben werden soll, wieso machst du das nicht gleich in der create.php und erweiterst dort den entsprechenden sql-String?

_________________
if(date("ymmd")=="10050502") echo("Der alte Sack wird heute 40");


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Di 09 Feb, 2010 19:50 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
Am einfachsten währe es ersteinmal wenn du genau sagst was du überhaupt erreichen willst, denn ansonsten endet das hier doch bloß im heiteren Rätselraten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: Do 11 Feb, 2010 11:50 
Offline
Profi
Profi

Registriert: So 17 Mai, 2009 11:57
Beiträge: 106
Wohnort: chemnitz, cottbus
Geschlecht: Männlich
LoGD: noch offline
Skype: drimatu
hallo,

@Salator:
Und noch ein Vorschlag zu einer ganz anderen Herangehensweise: Wenn etwas in einen frisch angelegten Account geschrieben werden soll, wieso machst du das nicht gleich in der create.php und erweiterst dort den entsprechenden sql-String?

weil ich unter anderem zufallsereignisse erschaffen wollte die auf die werte zugreifen die in der create.php erst erstellt werden.
z.b. in der create wird die abstammung festgelegt, ein darauf aufbauender wert wär z.b. die hautfarbe.

@Eliwood
ähm, ja, mit
$session['user']['gewi'] = $gewi;
funktionierte es dann auch.
sorry, weiss nicht was ich da unbedingt mit dem sql-zeug wollte. hab diesen aufbau so in der create gesehen und weshalb auch immer gemeint in der darauf folgenden datei createnext.php ähnlich arbeiten zu müssen.
nur zum verständnis: die createnext.php dient zur weitererstellung und vervollständigung des profils.
danke @all. mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: insert-frage
BeitragVerfasst: So 21 Feb, 2010 08:38 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mi 08 Okt, 2008 18:34
Beiträge: 46
drimatu hat geschrieben:
weil ich unter anderem zufallsereignisse erschaffen wollte die auf die werte zugreifen die in der create.php erst erstellt werden.
z.b. in der create wird die abstammung festgelegt, ein darauf aufbauender wert wär z.b. die hautfarbe.


und wieso machst du das nicht über die Create? zb: if($_POST[abstammung]=='Frauholleöhnlicherdunkelelfenzwerg') $hautfarbe="Dunkelpink"; ??
dann nur noch das entsprechende Sql Insert erweitern und feddisch...


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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