Falls vorhanden, nur updaten und nicht neu schreiben...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
|a.G| Mapster
Mitglied
Beiträge: 34
Registriert: 04.09.2003 19:54
Kontaktdaten:

Falls vorhanden, nur updaten und nicht neu schreiben...

Beitrag von |a.G| Mapster »

Also ich hab ein Script, dass soll Signalisieren, welche Member eines Clans an einem Clanwar teilnehmen oder nicht. Zur auswahl stehen 3 Arten:
1 = Ich kann kommen
2 = Ich weiss nicht
3 = Ich kann nicht.

Mein Problem ist nun, dass das Script (wenn man seine Meinung ändern möchte) eine Variable an die nächste Seite mit übergibt.
$update = 1
Es handelt sich um eine Meinungsänderung und der User wir nicht doppelt eingetragen.
$update = 0
User hat sich für diesen Clanwar bisher nicht eingetragen und ein neuer Eintrag wird erstellt.

Das Problem ist nun, dass das Script immer wieder einen Doppelpost erlaubt, heisst die $update Variable wird falsch bestimmt.
Das ist mein bisheriger Script, ziemlicher Müll wie ich schätze...

Wer kann mir sagen was da falsch läuft ?

Code: Alles auswählen

<?php
//Das Script beginnt zu ermitteln, ob der Spieler schon angemeldet wurde.
$membername = $userdata['username']; 
	$sql = "
SELECT 
	*
FROM
	mapster_nextstat
WHERE
	stat_warid = ".$_GET['showid']."
";
$result = mysql_query($sql);
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
if(isset($row['stat_username']) AND isset($row['stat_username']) == $membername) {
$update = 1;
} else {
$update = 0;
}
}}
// Ende der Kontrolle
?>
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Falls vorhanden, nur updaten und nicht neu schreiben...

Beitrag von Pyramide »

|a.G| Mapster hat geschrieben:isset($row['stat_username']) == $membername
sollte das vielleicht $row['stat_username'] == $membername heissen?

PS: Diese Bedingungen kannst du doch auch der SQL-Anfrage als WHERE mitgeben und dann mit [php:mysql_num_rows] prüfen, ob ein Ergebnis vorliegt.
Benutzeravatar
|a.G| Mapster
Mitglied
Beiträge: 34
Registriert: 04.09.2003 19:54
Kontaktdaten:

Re: Falls vorhanden, nur updaten und nicht neu schreiben...

Beitrag von |a.G| Mapster »

Pyramide hat geschrieben:
|a.G| Mapster hat geschrieben:isset($row['stat_username']) == $membername
sollte das vielleicht $row['stat_username'] == $membername heissen?

PS: Diese Bedingungen kannst du doch auch der SQL-Anfrage als WHERE mitgeben und dann mit <a href="http://de.php.net/manual-lookup.php?lan ... l_num_rows" target="_blank" class="postlink">mysql_num_rows</a> prüfen, ob ein Ergebnis vorliegt.
Funzt leider auch net richtig...

Kann mir jemand, der davon mehr Ahnung hat, den Script so umschreiben, dass er funktioniert ?
Antworten

Zurück zu „Coding & Technik“