Avatar billede proff Nybegynder
25. december 2003 - 19:44 Der er 15 kommentarer og
1 løsning

Hent fra mysql database?

Hejsa, jeg har ingen ide' om hvordan jeg skal lave dette..

<?
if(!$id) {
session_start() or die("<br>The Sessions R dead!<br>");
} 
$host = "localhost";


  @$connection = mysql_connect("localhost","HighCity","password");


if (!$connection) {
$mysql_error = mysql_error();

srand((double)microtime()*1000000);
$number = rand(1,200);

print mysql_error();
exit;
}

  mysql_select_db("HighCity", $connection);
?>

<p><font size="1" face="Verdana">Hej (SIDST OPRETTEDE BRUGER I DATABASEN) og velkommen til HighCity!<br>
Du er nu oprettet på chatten som bruger! Og du kan nu logge ind på chatten og hygge dig med alle de andre (ANTAL BRUGERE I DATABASEN) brugere...<br>
Skal du have tøj eller møbler kan du jo smutte forbi butikkerne og købe noget .. Opfør dig nu ordentlig på chatten. Og god chat!<br>
</font></p>


Hvad bliver selve koden hvis det skal være med hvor den henter antal brugere ud af databasen og NAVNET på den sidst oprettede bruger..

Mine felter ser sådan ud:

1. SELECT * FROM users WHERE oprettet - Altså den bruger der er sidst oprettet skal den tage brugernavnet fra og skrive det SELECT * FROM users WHERE username

2. Også skal den vælge fra SELECT * FROM users - ALLE DE BRUGERE DER ER OPRETTET fx.


<p><font size="1" face="Verdana">Hej MR TEST og velkommen til HighCity!<br>
Du er nu oprettet på chatten som bruger! Og du kan nu logge ind på chatten og hygge dig med alle de andre 12345 brugere...<br>
Skal du have tøj eller møbler kan du jo smutte forbi butikkerne og købe noget .. Opfør dig nu ordentlig på chatten. Og god chat!<br>
</font></p>
Avatar billede proff Nybegynder
25. december 2003 - 19:45 #1
Ved godt, jeg har skrevet meget osv.. Men forstår i?
Avatar billede eagleeye Praktikant
25. december 2003 - 21:31 #2
Du har sikker en ID kolonne i users tabellen sådan du kan vælge den nyeste ved at tage den post med højst ID:
1.: "SELECT * FROM users ORDER BY userID DESC LIMIT 1;"

2.: Du kan lave en Count: "SELECT count(*) FROM users;"


Eks på koden:
<?
//find nyeste navn
$sql = mysql_query("SELECT username FROM users ORDER BY userID DESC LIMIT 1;");
$row = mysql_result($sql);
$navn = $row['username'];

//find antal brugere
$sql = mysql_query("SELECT count(*) FROM users");
$row = mysql_fetch_row($sql);
$antal = $row[0];
?>

<p><font size="1" face="Verdana">Hej <?=$navn?> og velkommen til HighCity!<br>
Du er nu oprettet på chatten som bruger! Og du kan nu logge ind på chatten og hygge dig med alle de andre <?=$antal?> brugere...<br>
Skal du have tøj eller møbler kan du jo smutte forbi butikkerne og købe noget .. Opfør dig nu ordentlig på chatten. Og god chat!<br>
</font></p>
Avatar billede proff Nybegynder
25. december 2003 - 21:36 #3
Troede slet ikke der var nogen der ville svare.. men det er jo bossen ham selv der svarer :D

Jeg har ikke tid lige nu, men jeg tester det lige om ca. ½-1 time.. Og ja, jeg har da en id kolonne :)
Avatar billede proff Nybegynder
25. december 2003 - 21:36 #4
Eller ID Felt :)
Avatar billede eagleeye Praktikant
25. december 2003 - 21:38 #5
ok ;)
Avatar billede proff Nybegynder
25. december 2003 - 21:48 #6
Jeg har nu denne kode:

<? include("inc/sql.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Login</title>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
<?
//find nyeste navn
$sql = mysql_query("SELECT username FROM users ORDER BY id DESC LIMIT 1;");
$row = mysql_result($sql);
$navn = $row['username'];

//find antal brugere
$sql = mysql_query("SELECT count(*) FROM users");
$row = mysql_fetch_row($sql);
$antal = $row[0];
?>

<p><font size="1" face="Verdana">Hej <?=$navn?> og velkommen til HighCity!<br>
Du er nu oprettet på chatten som bruger! Og du kan nu logge ind på chatten og hygge dig med alle de andre <?=$antal?> brugere...<br>
Skal du have tøj eller møbler kan du jo smutte forbi butikkerne og købe noget .. Opfør dig nu ordentlig på chatten. Og god chat!<br>
</font></p>


</font></body>
</html>


Og jeg får denne fejlmelding:
Warning: Wrong parameter count for mysql_result() in /home/proff/public_html/Chat/oprettet.php on line 10
Avatar billede proff Nybegynder
25. december 2003 - 21:48 #7
Jeg kan ikke se fejlen udover at der må være en fejl på linje 10 ;D?
Avatar billede eagleeye Praktikant
25. december 2003 - 21:56 #8
ok du skal lige havde det med connection til databasen som du selv har fra psørgsmålet.
Avatar billede eagleeye Praktikant
25. december 2003 - 21:58 #9
eller det er måske i include filen?
Avatar billede eagleeye Praktikant
25. december 2003 - 22:01 #10
hov så lige noget ret lige linje 10 fra:

$row = mysql_result($sql);

Til:
$row = mysql_fetch_array($sql);
Avatar billede proff Nybegynder
25. december 2003 - 22:03 #11
Det er skam i include filen.. tester lige
Avatar billede proff Nybegynder
25. december 2003 - 22:08 #12
Det virker.. og jeg ved skam godt at du ikke er forpligtet.. Men vil du hjælpe mig med en sidste ting..

Jeg har denne kode hvor man opretter sin bruger. Når ens bruger er oprettet så skal den sende en videre til en side ved navn oprettet.php istedet for at skrive:print "<font size=\"1\"><center><b>Brugeren er oprettet</b><br><font size=\"3\">Du kan logge ind på Chatten, ved at trykke <a href=\"login.php\">her</a>.";

Min kode til hele siden er:

<? include("inc/sql.php"); ?>
<html>

<head>
<title>Velkommen</title>

<STYLE type=text/css>
<!--
BODY {
scrollbar-face-color: #ffffff;
scrollbar-highlight-color: #ffffff;
scrollbar-3dlight-color: #ffffff;
scrollbar-darkshadow-color: #fffff;
scrollbar-shadow-color: #fffff;
scrollbar-arrow-color: ##666666;
scrollbar-track-color: #666666;
}
</style>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" background="bg1.bmp">
<p align="center"><?

if ($submit) {
if (!$username || !$password || !$password2 || !$email || !$sex) {
$fail .= "<li>Du udfyldte ikke alle felterne.<br>";
}
addslashes($username);
$username_check = mysql_query("SELECT id FROM users WHERE(username='$username')");
if (mysql_num_rows($username_check) > 0) {
$fail .= "<li>Brugernavnet er optaget.<br>";
}
if (strlen($username) > 15) {
$fail .= "<li>Dit brugernavn må max være 15 karakterer langt. Dit er ".strlen($username)." karakterer langt.<br>";
}
if (strlen($username) < 3) {
$fail .= "<li>Dit brugernavn skal minimum være 3 karakterer langt.<br>";
}
if ($username == "") {
$fail .= "<li>Du skal skrive et brugernavn.<br>";
}
if (ereg("<", $username)) {
$fail .= "<li>Brugernavn må ikke indeholde html tags.<br>";
}
if (ereg("\"", $username)) {
$fail .= "<li>Brugernavn må ikke indeholde \".<br>";
}
if (ereg(",", $username)) {
$fail .= "<li>Brugernavn må ikke indeholde \".<br>";
}
if (ereg("%", $username)) {
$fail .= "<li>Brugernavn må ikke indeholde %.<br>";
}
if (ereg("'", $username)) {
$fail .= "<li>Brugernavn må ikke indeholde '.<br>";
}
if (ereg("\.", $username)) {
$fail .= "<li>Brugernavn må ikke indeholde \".\".<br>";
}
if (ereg("^ ", $username)) {
$fail .= "<li>Brugernavn må ikke starte med [Space].<br>";
}
if (substr($username, -1) == " ") {
$fail .= "<li>Brugernavn må ikke ende på space.<br>";
}
if (eregi("[^a-z0-9] ",$username)) {
$fail .= "<li>Ulovlige tegn i username. Brug kun A-Z, a-z og 0-9<br>";
}
if ($password == "") {
$fail .= "<li>Du skal skrive et password.<br>";
}
if ($password != $password2) {
$fail .= "<li>De 2 password var ikke ens.<br>";
}
if (strlen($password) < 6) {
$fail .= "<li>Password skal minimum være 6 karakterer langt.";
}
if (strlen($password) > 16) {
$fail .= "Password må max være 16 karakterer langt.";
}
if (!ereg("@",$email) && !ereg(".",$email)) {
$fail .= "<li>Ugyldig email adresse.<br>";
}
if (ereg("commander", strtolower($username))) {
$fail .= "<li>Brugernavn må ikke indeholde \"Commander\".<br>";
}
if ($sex != "han" && $sex != "hun")
{
$fail .= "<li>Du skal vælge enten dreng/mand eller pige/kvinde i køn.<br>";
}
if (!$fail) {
$time=time();
mysql_query("INSERT INTO users (username,kryppassword,email,sex,figur,usernamecolor,oprettet) VALUES('$username','$password','$email','$sex','standard-$sex.gif','white','$time')") or die(mysql_error());
$oprettet = ok;
print "<font size=\"1\"><center><b>Brugeren er oprettet</b><br><font size=\"3\">Du kan logge ind på Chatten, ved at trykke <a href=\"login.php\">her</a>.";
} else {
print $fail;
}
}
if (!$oprettet)
{
?>
</p>
<form action="opret.php" method="post">
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td><FONT size="1" face="Verdana"><b>Brugernavn:</b><br><input class="text" type="text" name="username" value="<?=$username?>" maxlength="10"></FONT></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><FONT size="1" face="Verdana"><b>Kodeord:</b><br><input class="text" type="password" name="password" value="<?=$password?>"></FONT></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><FONT size="1" face="Verdana"><b>Kodeord igen:<br></b><input class="text" type="password" name="password2" value="<?=$password2?>"></FONT></td>
<td><br></td>
</tr>
<tr>
<td><FONT size="1" face="Verdana"><b>Email:</b><br><input class="text" type="text" name="email" value="<?=$email?>"></FONT></td>
<td><br></td>
</tr>
<tr>
<td><FONT size="1" face="Verdana"><b>Køn:<br></b>Hvid<b> </b>Dreng <input <? if ($sex=="han") { print "checked "; } ?>type="radio" value="han" name="sex"><br>Hvid
                Pige <input <? if ($sex=="hun") { print "checked "; } ?> type="radio" value="hun" name="sex"></FONT></td>
<td>&nbsp;</td>
</tr>
</table>
<input type="submit" value="Opret" name="submit" class="submit">
</form>
<?
}

?></p>
</body>

</html></SCRIPT>
Avatar billede proff Nybegynder
25. december 2003 - 22:08 #13
Håber også lige at du er frisk og svarer på det spg.. Desuden skal jeg lige bruge et svar fra dig :)
Avatar billede eagleeye Praktikant
25. december 2003 - 22:14 #14
Ok ;)
Du kan prøve at lave denne linje om som udskirver:

print "<font size=\"1\"><center><b>Brugeren er oprettet</b><br><font size=\"3\">Du kan logge ind på Chatten, ved at trykke <a href=\"login.php\">her</a>.";

Til den som sender brugeres vidre det gøre med :

header("location: oprettet.php";


Hvis du vil gemme linjen som udskriver kan du indsætte den med header("location ..") før du udskriver ;)
Avatar billede proff Nybegynder
25. december 2003 - 22:31 #15
Høhø.. Du gider vel ikke lave det i fuldkode .. Sådan jeg bare lige kan smide der ind ;D?

Bebe..
Avatar billede eagleeye Praktikant
25. december 2003 - 22:37 #16
Skal jeg sætte det ind og paste hele koden ind?

Det er sådan set "bare" denne linje du skal havde sat ind
header("location: oprettet.php");

Hvor denne linje står:
print "<font size=\"1\"><center><b>Brugeren er oprettet</b><br><font size=\"3\">Du kan logge ind på Chatten, ved at trykke <a href=\"login.php\">her</a>.";
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