Avatar billede fixbabe Nybegynder
25. december 2005 - 20:10 Der er 17 kommentarer og
1 løsning

steam id tjekker

Hej jeg søger et script der tjekker et steam id.
Et steamid ser sådan her ud: STEAM_0:1:2662040
Jeg søger et script der tjekker om det aktuelle steamid er i databasen hvis det ikke er tilføjer den det til databasen.

Scriptet skal tjekke "0" "1" 22662040" fra STEAM_0:1:2662040

Håber der er en der kan hjælpe
Avatar billede udvikler Nybegynder
25. december 2005 - 20:20 #1
Du skal forklare lidt mere, hvor kommer id fra ? skriver brugeren det i et tekstfelt hvor der derefter skal tjekkes eller kommer det fra adresse linien eller...

jeg går ud fra at det kommer fra et tekst felt, så derfor laver jeg koden udfra det.

prøv med:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Steam id tjek</title>
</head>

<body>

<input type="text" name="id">
<input type="text" name="submit" value="Tjek id">

<?php
include "mysql.php"; // connecter til mysql databasen

if ($_POST[submit]) {

if ($_POST[id] == "") {
echo "Du har ikke skrevet noget id";
}else{
$query = mysql_query("SELECT * FROM database WHERE id='". $_POST['id'] ."'") or die(mysql_error());

elseif(mysql_num_rows($query) == '1')
{
echo "id'et findes i databasen";
exit;
}
if(mysql_num_rows($query) < 1) {
mysql_query("INSERT INTO database WHERE id='". $_POST['id'] ."'") or die(mysql_error());
}
}
}
?>

</body>

</html>
Avatar billede udvikler Nybegynder
25. december 2005 - 20:22 #2
Sorry, jeg ved ikke lige hvad jeg fejlede da jeg skrev koden, prøv:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Steam id tjek</title>
</head>

<body>

<form action="" method="POST">
<input type="text" name="id">
<input type="submit" name="submit" value="Tjek id">
</form>

<?php
include "mysql.php"; // connecter til mysql databasen

if ($_POST[submit]) {

if ($_POST[id] == "") {
echo "Du har ikke skrevet noget id";
}else{

$query = mysql_query("SELECT * FROM database WHERE id='". $_POST['id'] ."'") or die(mysql_error());

if(mysql_num_rows($query) == '1')
{
echo "id'et findes i databasen";
exit;
}
if(mysql_num_rows($query) < 1) {
mysql_query("INSERT INTO database WHERE id='". $_POST['id'] ."'") or die(mysql_error());
}
}
}
?>

</body>

</html>
Avatar billede fixbabe Nybegynder
25. december 2005 - 20:24 #3
planen var som input text, men hvor STEAM_0:1:2662040 bliver skrevet ind i 3 felter, dvs "0" i felt "sid_1" og "1" i "sid_2" og "2662040" i "sid_3"
Avatar billede udvikler Nybegynder
25. december 2005 - 20:30 #4
Er det ikke nemmere bare at tjekke det hele i et tekst felt ? :S
Avatar billede fixbabe Nybegynder
25. december 2005 - 20:34 #5
jo men vil det ikke give problemer med : ?
Avatar billede udvikler Nybegynder
25. december 2005 - 20:47 #6
hvad mener du med "?"

hvis du mener om det vil give problemer hvis brugeren nu ikke skriver noget, så nej. Det har jeg sørget for:

if ($_POST[id] == "") {
echo "Du har ikke skrevet noget id";
}

denne tjekker om man har skrevet noget eller ikke
Avatar billede nizo Nybegynder
26. december 2005 - 00:26 #7
-aco-:

Vi skal ud i noget preg_match her :)


fixbabe:

Prøv dette:

<?

$str = $_POST['steamID'];

if(preg_match("/^STEAM_0:1:?([0-9]{7})/", $str))
{
  echo "Rigtigt STEAM ID!";
}
else
{
  echo "Dit Steam ID er forkert!!";
}
?>


Bare husk at have steamID defineret i din form :o)
Avatar billede nizo Nybegynder
26. december 2005 - 00:31 #8
hmm.. der er noget galt med det script jeg lige lavede, prøver lige at lave et nyt til dig..
Avatar billede nizo Nybegynder
26. december 2005 - 00:44 #9
Saadan, det her er gennemtestet og virker perfekt! Tallene efter _0:1: skal være mellem 3 og 7 tegn lange og skal være tal.

<?php

$str = $_POST['steamID'];

if(preg_match("/^(^STEAM_0:1:)?([0-9]{3,7})/", $str, $m))
{
  echo "Rigtigt STEAM ID!";
}
else
{
  echo "Dit Steam ID er forkert!!";
}
?>


haaber du kan bruge det :o)
Avatar billede fixbabe Nybegynder
26. december 2005 - 11:09 #10
Problemet er at et steamid kan være forskelligt eks: 
STEAM_0:0:2662040
STEAM_0:1:2662040
STEAM_0:2:2662040
STEAM_1:0:2662040
STEAM_2:0:2662040
Avatar billede nizo Nybegynder
26. december 2005 - 18:53 #11
Det kunne du da bare ha sagt :o)

<?php
$str = $_POST['steamID'];

if(preg_match("/^(^STEAM_([0-2]{1})?:([0-2]{1})?:)?([0-9]{3,7})/", $str))
{
  echo "Rigtigt STEAM ID!";
}
else
{
  echo "Dit Steam ID er forkert!!";
}
?>

Efter STEAM_ kan tallet være fra 0 til 2, efter : kan tallet igen være fra 0 til 2 osv.. (som før).
Avatar billede fixbabe Nybegynder
26. december 2005 - 18:56 #12
Men tjekker den også om det indtastede steamid allerede er i databasen ??
Avatar billede nizo Nybegynder
26. december 2005 - 19:06 #13
Nej det gør den ikke, men hvis du har et connect til databasen iorden gør dette script det, husk at ret steamID og table til de felter/tabel du bruger, fra query'en:

<?php
$str = $_POST['steamID'];

if(preg_match("/^(^STEAM_([0-2]{1})?:([0-2]{1})?:)?([0-9]{3,7})/", $str))
{
  $check=mysql_query("SELECT id, steamID FROM table WHERE steamID = '$_POST['steamID']'");
  if(mysql_num_rows($check) == 0)
  {
    echo "Rigtigt STEAM ID!";
  }
}
else
{
  echo "Dit Steam ID er forkert!!";
}
?>
Avatar billede nizo Nybegynder
27. december 2005 - 23:12 #14
Jeg kunne godt tænke mig lidt response?! Virker det til dit formaal?
Avatar billede fixbabe Nybegynder
27. december 2005 - 23:18 #15
jeg har ikke haft tid til at kigge på det i dag og får det heller ikke i morgen men lover at skrive når jeg har nyt :)
Avatar billede nizo Nybegynder
27. december 2005 - 23:18 #16
fint fint :)
Avatar billede fixbabe Nybegynder
31. december 2005 - 13:26 #17
Det virker perfekt :) takker
Avatar billede nizo Nybegynder
31. december 2005 - 14:18 #18
Det var saa lidt, tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester