Viktor's Supportboard
Quickmenü
» Start
» Portal
» Kontakt
» Mitglieder
» Team

» Handy-Ansicht


Usermenü

» Registrieren

Login
Benutzername:
Passwort:

(Passwort vergessen?)

Database
» Database

Lizenzshop/Verwaltung
» Lizenzshop/Verwaltung


Allgemeines
» Themen der letzen 24 Stunden
» Beiträge von Heute
» Aktuelle Umfragen
» Themen als gelesen markieren
» Themen ohne Antwort

» F.A.Q
» Regeln
» Impressum
» Datenschutzerklärung

» Linkliste
» Partner
» Statistik

Kostenplichtige Hacks
» VG-Lizenz
» VG-Fotowettbewerb
» VG-Kontaktanzeige
» VG-Literatur-Verwaltung
» VGTreffen/Dater
» VGMusik/Video

Mein Hacks
» VGUser-Leaflet-Map
» VGUser-Google-Map
» VGClub-Map-Google
» User-Map
» Club-Map
» User-Locator
» Club-Locator
» Mitglieder Bilderupload
» VGOnlineList
» Teamspeak Onlineanzeige

Meine Banner
» Meine Banner

Statistik
Beiträge: 137.318 (Täglich: 24,64 )
Themen: 16.032
Mitglieder: 13.128
Neuestes Mitglied: osgee00.
Ausl. d. letzten Minute: 74%
Ausl. d. letzten 5 Minuten: 80%
Ausl. d. letzten 15 Minuten: 77%
Freier Webspace: 1.96 TB
PHP-Version: 7.1.11

Spenden

Partner
Mein Supportboard

MySQLDumper

Forum für Angehörige und Freunde von Krebspatienten

Wetter-Board

Make your Webserver

ABC-des Essens

IC-Netforum

ultimate-funultimate-fun

Steinadler-Bastelstübchen

Webseitenschutz

Werben

Viktor's Supportboard » Programmieren » MySQL und PHP » [Codeschnipsel] Prüfen ob code schon vorhanden ist??? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Prüfen ob code schon vorhanden ist???
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Thx2
New Kids Junge


Dabei seit: 17.02.2010
Beiträge: 476
0 Filebase-Einträge

wBB-Version: wBBLite

Bewertung: 
8 Bewertung(en) - Durchschnitt: 3,63

Level: 39 [?]
Erfahrungspunkte: 1.520.388
Nächster Level: 1.757.916

237.528 Erfahrungspunkt(e) für den nächsten Levelanstieg



Prüfen ob code schon vorhanden ist??? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo in dem Invitesystem von your-wbb.de habe ich einen bug entdeckt und zwar sieht der code zum erstellen eines neunen Invites so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Code erstellen und ausgeben
if ($mode == "2")
{
$generate_code = rand(100000,999999);
eval ("\$ra_invite_created .= \"".$tpl->get("ra_invite_created")."\";");

$db->query("INSERT INTO bb".$n."_invite_codes (code_nr, created_by) VALUES ('$generate_code', '$wbbuserdata[username]')");
$db->query("UPDATE bb".$n."_users SET invite_count = invite_count +1 WHERE username = '$wbbuserdata[username]'");
}


Es wird aber nicht geprüft ob der Code vllt. schon vorhanden ist.

Wie kann ich das nun erweitern das ein code nicht doppelt eingetragen werden kann?
Vermutlich irgendwie mit einer while schleife?
20.10.2018 00:25 Thx2 ist offline E-Mail an Thx2 senden Beiträge von Thx2 suchen Nehmen Sie Thx2 in Ihre Freundesliste auf Turkey
Viktor   Zeige Viktor auf Karte Viktor ist männlich
Administrator


images/avatars/avatar-15762.jpg

Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 29.661
363 Filebase-Einträge
Alter: 61 Jahre
Herkunft: NRW
wBB-Version: wBB2.3
PHP-Version: 7.1.11
MySQL-Version: 5.5.59-0+deb8u1
Wo bist du gehostet?: eigener Server

Bewertung: 
278 Bewertung(en) - Durchschnitt: 9,47

Level: 68 [?]
Erfahrungspunkte: 165.266.985
Nächster Level: 176.283.333

11.016.348 Erfahrungspunkt(e) für den nächsten Levelanstieg



RE: Prüfen ob code schon vorhanden ist??? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo Thx2,

ich würde es so machen.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
//Code erstellen und ausgeben
if ($mode == "2") {

	$generate_code = rand(100000,999999);
	eval ("\$ra_invite_created .= \"".$tpl->get("ra_invite_created")."\";");

	$r_code = $db->query_first("SELECT code_nr FROM bb".$n."_invite_codes WHERE code_nr = '".$generate_code."' AND created_by = '".$wbbuserdata[username]."'");
	if($r_code['code_nr'] != $generate_code) {
		$db->query("INSERT INTO bb".$n."_invite_codes (code_nr, created_by) VALUES ('$generate_code', '$wbbuserdata[username]')");
		$db->query("UPDATE bb".$n."_users SET invite_count = invite_count +1 WHERE username = '$wbbuserdata[username]'");
	}

}


So kann pro Username nur ein Code eingetragen werden.

Gruß
Viktor Augenzwinkern

__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.


... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!


Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Viktor: 20.10.2018 20:39.

20.10.2018 20:38 Viktor ist offline E-Mail an Viktor senden Homepage von Viktor Beiträge von Viktor suchen Nehmen Sie Viktor in Ihre Freundesliste auf Germany
Schrimm
Haudegen



Dabei seit: 16.03.2015
Beiträge: 610
12 Filebase-Einträge

wBB-Version: wBBLite

Bewertung: 
8 Bewertung(en) - Durchschnitt: 9,88

Level: 35 [?]
Erfahrungspunkte: 818.334
Nächster Level: 824.290

5.956 Erfahrungspunkt(e) für den nächsten Levelanstieg



Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Hallo,

Man kann sich die "if"-Bedingung mit "NOT EXISTS" oder "NOT IN" etc. sparen.

__________________
Nur bei v-gn.de

WoltLab Burning Board Lite 1.0.2pl3 ( HTML5 ) - Version

mywbb.info(†19.8.2011)
your-wbb.de(†20.2.2015)

20.10.2018 20:56 Schrimm ist offline Beiträge von Schrimm suchen Nehmen Sie Schrimm in Ihre Freundesliste auf Austria
Thx2
New Kids Junge


Dabei seit: 17.02.2010
Beiträge: 476
0 Filebase-Einträge

wBB-Version: wBBLite

Bewertung: 
8 Bewertung(en) - Durchschnitt: 3,63

Level: 39 [?]
Erfahrungspunkte: 1.520.388
Nächster Level: 1.757.916

237.528 Erfahrungspunkt(e) für den nächsten Levelanstieg

Themenstarter Thema begonnen von Thx2


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

So geht das leider nicht da jeder user mehrere Invites erstellen können soll.
Jeder code kann dann einmal benutzt werden.
und es soll jeder code auch insgesamt nur einmal erstellt werden können, nicht nur per user.
21.10.2018 20:18 Thx2 ist offline E-Mail an Thx2 senden Beiträge von Thx2 suchen Nehmen Sie Thx2 in Ihre Freundesliste auf Turkey
Viktor   Zeige Viktor auf Karte Viktor ist männlich
Administrator


images/avatars/avatar-15762.jpg

Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 29.661
363 Filebase-Einträge
Alter: 61 Jahre
Herkunft: NRW
wBB-Version: wBB2.3
PHP-Version: 7.1.11
MySQL-Version: 5.5.59-0+deb8u1
Wo bist du gehostet?: eigener Server

Bewertung: 
278 Bewertung(en) - Durchschnitt: 9,47

Level: 68 [?]
Erfahrungspunkte: 165.266.985
Nächster Level: 176.283.333

11.016.348 Erfahrungspunkt(e) für den nächsten Levelanstieg



Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Zitat:
Original von Thx2
So geht das leider nicht da jeder user mehrere Invites erstellen können soll.
Jeder code kann dann einmal benutzt werden.
und es soll jeder code auch insgesamt nur einmal erstellt werden können, nicht nur per user.


Hallo,

dann nimm doch den Code.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
//Code erstellen und ausgeben
if ($mode == "2") {

	$generate_code = rand(100000,999999);
	eval ("\$ra_invite_created .= \"".$tpl->get("ra_invite_created")."\";");

	$r_code = $db->query_first("SELECT code_nr FROM bb".$n."_invite_codes WHERE code_nr = '".$generate_code."'");
	if($r_code['code_nr'] != $generate_code) {
		$db->query("INSERT INTO bb".$n."_invite_codes (code_nr, created_by) VALUES ('$generate_code', '$wbbuserdata[username]')");
		$db->query("UPDATE bb".$n."_users SET invite_count = invite_count +1 WHERE username = '$wbbuserdata[username]'");
	}

}


So kann der Code nur einmal vorkommen. Augenzwinkern

Gruß
Viktor Augenzwinkern

__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.


... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!


Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.

21.10.2018 22:30 Viktor ist offline E-Mail an Viktor senden Homepage von Viktor Beiträge von Viktor suchen Nehmen Sie Viktor in Ihre Freundesliste auf Germany
Thx2
New Kids Junge


Dabei seit: 17.02.2010
Beiträge: 476
0 Filebase-Einträge

wBB-Version: wBBLite

Bewertung: 
8 Bewertung(en) - Durchschnitt: 3,63

Level: 39 [?]
Erfahrungspunkte: 1.520.388
Nächster Level: 1.757.916

237.528 Erfahrungspunkt(e) für den nächsten Levelanstieg

Themenstarter Thema begonnen von Thx2


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Ende der Seite springen Zum Anfang der Seite springen

Wenn dann müsste man es ja so machen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
//Code erstellen und ausgeben
if ($mode == "2") {
$generate_code = rand(100000,999999);

$r_code = $db->query_first("SELECT code_nr FROM bb".$n."_invite_codes WHERE code_nr = '".$generate_code."'");
if($r_code['code_nr'] != $generate_code)
{
eval ("\$ra_invite_created .= \"".$tpl->get("ra_invite_created")."\";");
$db->query("INSERT INTO bb".$n."_invite_codes (code_nr, created_by) VALUES ('$generate_code', '$wbbuserdata[username]')");
$db->query("UPDATE bb".$n."_users SET invite_count = invite_count +1 WHERE username = '$wbbuserdata[username]'");
}
else
{
header('Location: ra_invitesystem.php?mode=2');
}
}


Weil sonst wird ja kein Code eingetragen, so wird der Prozess erneut gestartet wenn der Code schon vorhanden ist.
Die Frage ist nur gibt es dafür keine elegantere Lösung???
23.10.2018 01:12 Thx2 ist offline E-Mail an Thx2 senden Beiträge von Thx2 suchen Nehmen Sie Thx2 in Ihre Freundesliste auf Turkey
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Viktor's Supportboard » Programmieren » MySQL und PHP » [Codeschnipsel] Prüfen ob code schon vorhanden ist???

Impressum | Datenschutz | Fast-Index

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab® GmbH Design © Tine

Valid XHTML 1.0! Valid CSS! Die letzten Themen Die letzten Beiträge © für wbb2 by Bandy & cback.de Geblockte Angriffe: 2.332
Seo Sidemap Powert by 2Clubradio.de
Viktor's Supportboard, ist " Online " seit 15 Jahren, 93 Tage, 20 Stunden, 40 Minuten und 35 Sekunden