Seite 1 von 1
kleines Wettbewerbscript
Verfasst: 01.04.2007 21:25
von phillip
Hallo
Ich versuche gerade ein kleines Wettbewerbsscript zu schreiben. Was ich bereits habe ist:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
//
// End session management
$id2 = $userdata['user_id'];
$sql = "INSERT INTO phpbb_wettbewerb
(user_id, user_active)
VALUES ('$id2', '1')";
?>
Naja, nicht speziell
Jetzt möchte ich, dass wenn die Reihe nocht nicht existiert, das Informationsfeld kommt "Vielen Dank fr deine Teilnahme".
Und wenn die Reihe bereits existiert: "Du kannst nur einmal mitmachen".
Am besten wärs natürlich, wenn das Gaze noch über eine .tpl Datei herausgegeben wird.
Wie mache ich das jetzt? Ich denke es ist nicht besonders schwer, aber ich kenn mich noch nicht aaaalzu gut aus, und bin nun auf ere Hilfe angewiesen

Verfasst: 01.04.2007 22:02
von RubberDuck
Also auf die schnelle einfach die Datenbank vorher Abfragen:
Code: Alles auswählen
$pre = mysql_db_query ($mydbName,"SELECT user_id FROM myqube_wettbewerb WHERE user_id='$id2'");
if (mysql_num_rows($pre) == 0) {
$sql = "INSERT INTO myqube_wettbewerb
(user_id, user_active)
VALUES ('$id2', '1')";
echo "Vielen Dank für die Teilnahme";
} else {
echo "Du hast bereits teilgenommen";
}
Wenn der Eintrag drin ist wird nichts gemacht, ansonsten wird eingetragen.
Verfasst: 01.04.2007 22:03
von phillip
cool danke, das bringt mich schon ein kleines stück weiter

Verfasst: 01.04.2007 22:08
von RubberDuck
Musst den Code halt nur noch anpassen.
Verfasst: 01.04.2007 22:08
von phillip
ja das habe ich auch grad gemerkt

was genau muss ich jetzt anpassen?
Verfasst: 01.04.2007 22:21
von RubberDuck
Bin im Moment auf Arbeit und hab vom phpBB nichts griffbereit.
muss durch den Parameter für die phpBB Datenbank ersetzt werden. Ansosnsten kannst Du das auch so schreiben:
Code: Alles auswählen
$sql = "SELECT user_id
FROM myqube_wettbewerb
WHERE user_id='$id2'";
Musst halt nur die Rückgabe der DB auswerten.
Verfasst: 02.04.2007 17:02
von phillip
Code: Alles auswählen
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/myqube.ch/httpdocs/wettbewerb.php on line 25
EDIT:
ok, ich habs jetzt auf die wohl simpelste aber effizientiste Art gelöst:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
//
// End session management
$id2 = $userdata['user_id'];
$sql = "INSERT INTO myqube_wettbewerb
(user_id, user_active)
VALUES ('$id2', '1')";
if( !($result = $db->sql_query($sql)) )
{
echo'
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>MyQube :: Wettbewerb</title>
<link rel="stylesheet" href="templates/fisubgrey/fisubgrey.css" type="text/css" />
<link rel="stylesheet" href="templates/fisubgrey/bbc_box.css" type="text/css">
</head>
<body>
<a name="top" id="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td><table width="100%" class="forumline" cellpadding="4" cellspacing="1" border="0">
<tr>
<th class="thHead" height="25">Wettbewerb</th>
</tr>
<tr>
<td align="center" valign="top" class="row1"><span class="genmed">Sorry, Du hast bereits mitgemacht!!
<br /></span><br /> </td>
</tr>
<tr>
<td><span class="genmed"><a href="javascript:window.close();" class="genmed">Fenster schliessen</a></span></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
';
}
else
{
echo'
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>MyQube :: Wettbewerb</title>
<link rel="stylesheet" href="templates/fisubgrey/fisubgrey.css" type="text/css" />
<link rel="stylesheet" href="templates/fisubgrey/bbc_box.css" type="text/css">
</head>
<body>
<a name="top" id="top"></a>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td><table width="100%" class="forumline" cellpadding="4" cellspacing="1" border="0">
<tr>
<th class="thHead" height="25">Wettbewerb</th>
</tr>
<tr>
<td align="center" valign="top" class="row1"><span class="genmed">Vielen Dank für deine Teilnahme!
<br /></span><br /> </td>
</tr>
<tr>
<td><span class="genmed"><a href="javascript:window.close();" class="genmed">Fenster schliessen</a></span></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
';
}
?>
Ist halt nicht so schön, aber klappt
