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.

Code: Alles auswählen

$mydbName
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
:cry:

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 :lol: