Avatar billede dellevela Nybegynder
18. februar 2003 - 20:33 Der er 2 kommentarer og
1 løsning

url maskine ting

jeg har lavet et login system databasen ser sådan her ud:
CREATE TABLE users ( id INT NOT NULL auto_increment, brugernavn varchar(16),
password varchar(16),
url varchar(80),
hits varchar(80),
PRIMARY KEY (id) )
_________________________________________________________
opret.php

<?
require("config.php");
?>

<html>
<head>
<title>opret.php</title>
</head>
<body>
<br><br>
<form action="opret-ok.php" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="password"><br>
<input type="submit" name="opret" value="Opret">
</form>

</body>
</html>

opret-ok.php
<?
mysql_connect("localhost", "younk_dk", "13GwpRUo"); mysql_select_db("younk_dk");
$result = mysql_query("select brugernavn from users where brugernavn = '$brugernavn'")
or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
?>

<html>
<head>
<title>opret-ok.php</title>
</head>
<body>
<br>

<br>
</body>
</html>
<br>
<?
print "Desværre brugernavnet er optaget";
} elseif ($brugernavn && $password) {
mysql_query("insert into users (brugernavn, password) values ('$brugernavn', '$password')")
or die(mysql_error());
} else {
print "Du skal udfylde alle felterne!!";
}
?> 

_________________________________________________________
login.php

<?
require("config.php");
$result = mysql_query("select password from users where brugernavn = '$brugernavn'")
or die (mysql_error());
$row = mysql_fetch_array($result);
if($row[password] == $HTTP_POST_VARS[password]){
echo 'korrekt password';
?>
<html>
<head>
<title>Login-ok.php</title>
</head>
<body>

<font color="#FFFFFF">velkommen ind!!!</font>




</body>
</html>
<?
}
else{
echo 'forkert password';
exit
?>
<?
}

?>

Så nu er log in systemet

_______________________________________________________

jeg har prøvet mange gange (4½ time) på at når man opretter en bruger skal den i tabellen url står http://www.younk.dk og i hits skal der stå 0

der står jo id ud for hver bruger der er oprettet på login siden skal der så står velkommen:  du har id 1 for at reklamere skal du reklamere for www.younk.dk/etellerandet.php?=id1
når han så fortæller hans ven om www.younk.dk/etellerandet.php?=id1 skal den så gå ind på http://www.younk.dk og han skal få et hits


kan i forstå hvad jeg mener???
Avatar billede rzj Nybegynder
18. februar 2003 - 21:10 #1
ja, jeg forstår godt hvad du mener:
sessoin_start(); //tilføj dette til FØRSTE linie i login.php

//Denne funktion gør at alle sider kender de to session vars.
//Du kan derfor altid få fat i brugerens id/navn
funktion init_user($id_from_db, $username_from_db){
global $USER_ID, $USER_NAME;
$USER_ID = $id_from_db;
$USER_NAME = $username_from_db;

session_register("USER_ID");
session_register("USER_NAME");
}

//Denne funktion kaldes når brugerens logon er godkendt (true).
function set_url_hits($url, $hits){

$sql = "INSERT INTO users ('url', 'hits') VALUES ('$url', '$hits')
          WHERE id = $_SESSION['USER_ID']";
 
mysql_connect("localhost", "xxxxxx", "xxxxxxxx");
mysql_select_db("younk_dk");
$result = mysql_query($sql);
}

function extract_pr_link(){
$sql = "SELECT url FROM users WHERE id = $_SESSION['USER_ID']";
 
mysql_connect("localhost", "xxxxxx", "xxxxxxxx");
mysql_select_db("younk_dk");
$result = mysql_query($sql);
mysql_fetch_row($result);

return

}
dernæst giver du linket s
Avatar billede rzj Nybegynder
18. februar 2003 - 21:21 #2
ups, videre. Fik submitted uden at blive færdig:

//Denne funktion hiver det link der skal reklameres for ud
//Og returnere det så du kan informere brugeren
function extract_pr_link(){
$sql = "SELECT url FROM users WHERE id = $_SESSION['USER_ID']";
 
mysql_connect("localhost", "xxxxxx", "xxxxxxxx");
mysql_select_db("younk_dk");
$result = mysql_query($sql);
$url = mysql_fetch_row($result);

return 'Du skal reklamere for linket: '.$url[0].'?id='.$_SERVER['USER_ID'];

}

OK, det er vist nok for nu. Måske fatter du ikke en brik, måske er det skudt under målet. Hvad ved jeg, men princippet er altså ovenstående funktioner. Så skal du bare pusle med at kalde dem de rigtige steder osv.
hov, egentligt skal du vel også have en funktion der ligger et hit til brugerens hits, hvis dette er angivet i url, ik ;-)

if(isset($id)){
push_hit($id);
}
function push_hit($id){
$sql = "UPDATE users SET 'hits' = 'hits' + 1
          WHERE id = $id";
 
mysql_connect("localhost", "xxxxxx", "xxxxxxxx");
mysql_select_db("younk_dk");
$result = mysql_query($sql);
}

Ja og skal sql statement i funktionen set_url_hits($url, $hits) selvfølgelig være en UPDATE også (en svipser).
Du får sikkert en bunke fejl, men lad os tage dem efterhånden. Jeg skriver ovenstående frit fra leveren, såååå det er ikke testet eller noget...
Det kunne sikkert også gøres smartere og flottere hvus man lige tænker sig om - det gider jeg ikke nu.....og desuden forstår du sikkert mere, hvis det ikke er så kompakt...
/raz
Avatar billede dellevela Nybegynder
30. april 2003 - 15:19 #3
close
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