Gå til innhold

Anbefalte innlegg

Jeg er en skikkelig newbie....

Og jeg lurer litt på en kode....

<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<pre>

Velkommen til denne Passord-Generatoren!

den vil generere et passord på 8 tegn...

</pre>



<php? 

$max=8; //antall tegn i passordet 

$tegn="01234567890abcdefghijklmnopqrstuvwxyz-"; //lovlige tegn for passord 



$antall_tegn=strlen($tegn); 

srand((double) microtime() * 1000000); //seed random code 

$password=''; //sjekker at passordet er tomt før vi begynner 

$x=0; //setter loop variabel til 0 

while($x MINDRE ENN $max){ 

 //looper til vi har antall tegn vi trenger 

 $random=round(rand(0,$antall_tegn));  //finner et nytt random tall 

 $password .=substr($tegn,$random,1); //legger random tegn til passordet 

 $x++; 

} 

print "$password"; //printout av passord 



?>

</html>

jeg veit det er ganske simpelt... Men jeg får den ikke til!

Lenke til kommentar
Videoannonse
Annonse


<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<pre>

Velkommen til denne Passord-Generatoren!

<pre>

Velkommen til denne Passord-Generatoren!

den vil generere et passord på tegn...

</pre>

<?php // her hadde du skrevet <php?

$max=8; //antall tegn i passordet

$tegn="01234567890abcdefghijklmnopqrstuvwxyz-"; //lovlige tegn for passord



$antall_tegn=strlen($tegn);

srand((double) microtime() * 1000000); //seed random code

$password=''; //sjekker at passordet er tomt fø begynner

$x=0; //setter loop variabel til 0

while($x < $max){ // her hadde du skrevet while($x MINDRE ENN $max)

 //looper til vi har antall tegn vi trenger

 $random=round(rand(0,$antall_tegn));  //finner et nytt random tall

 $password .=substr($tegn,$random,1); //legger random tegn til passordet

 $x++;

}

print "$password"; //printout av passord



?>

</html>

 

og så lett var den fixet:

Lenke til kommentar

men hvordan kan jeg åpne den så den funker?

Jeg fikset litt på den....

<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<pre>

Velkommen til denne Passord-Generatoren!

den vil generere et passord på 8 tegn...

</pre>

<?php // her hadde du skrevet <php?

$max=8; //antall tegn i passordet

$tegn="01234567890abcdefghijklmnopqrstuvwxyz-"; //lovlige tegn for passord

$antall_tegn=strlen($tegn);

srand((double) microtime() * 1000000); //seed random code

$password=''; //sjekker at passordet er tomt fø begynner

$x=0; //setter loop variabel til 0

while($x < $max){ // her hadde du skrevet while($x MINDRE ENN $max)

 //looper til vi har antall tegn vi trenger

 $random=round(rand(0,$antall_tegn));  //finner et nytt random tall

 $password .=substr($tegn,$random,1); //legger random tegn til passordet

 $x++;

}

print "$password"; //printout av passord



?>

</html>

men når jeg åpner den (passord.php) i IE, funker ikke scriptet... Det eneste som kommer er teksten!

Lenke til kommentar

<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<html>

<head>

<title>PHP</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<pre>

Velkommen til denne Passord-Generatoren!

<pre>

Velkommen til denne Passord-Generatoren!

den vil generere et passord på tegn...

</pre>

<?php // her hadde du skrevet <php?

$max=8; //antall tegn i passordet

$tegn="01234567890abcdefghijklmnopqrstuvwxyz-"; //lovlige tegn for passord



$antall_tegn=strlen($tegn);

srand((double) microtime() * 1000000); //seed random code

$password=''; //sjekker at passordet er tomt fø begynner

$x=0; //setter loop variabel til 0

while($x < $max){ // her hadde du skrevet while($x MINDRE ENN $max)

 //looper til vi har antall tegn vi trenger

 $random=round(rand(0,$antall_tegn));  //finner et nytt random tall

 $password .=substr($tegn,$random,1); //legger random tegn til passordet

 $x++;

}

print "$password"; //printout av passord



?>

</html>

 

og så lett var den fixet:

 

HVORFOR bruke substr()?

 

$password .= $tegn[$random];

Lenke til kommentar

 

HVORFOR bruke substr()?

 

$password .= $tegn[$random];

 

nå var vel poenget det at topic starter er n00b og sannsynligvis vil lære sånne ting med tiden...

 

personlig synes jeg feks dette er en bedre måte å gjøre det på:

 


<?php

function password ($len) {

 $chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ123456789";

 mt_srand( (double) microtime() * 1000000);

 for ($i=1;$i<=$len;$i++) $out .= $chars[mt_rand(0,(strlen($chars)-1))];

 return $out;

}

print password(8); // Tallet her tilsier lengden på passordet.

Lenke til kommentar

personlig synes jeg feks dette er en bedre måte å gjøre det på:

 


<?php

function password ($len) {

 $chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ123456789";

 mt_srand( (double) microtime() * 1000000);

 for ($i=1;$i<=$len;$i++) $out .= $chars[mt_rand(0,(strlen($chars)-1))];

 return $out;

}

print password(8); // Tallet her tilsier lengden på passordet.

 

 

Med denne måten å bygge passordet på så er det vel en viss sjanse for at du får et passord med bare bokstaver. :shrug:

 

Hadde vel kanskje vært bedre å ha to arrays. En med tall og en med bokstaver, og så velge array tilfeldig først for så å velge ut passord-tegn.

Lenke til kommentar

personlig synes jeg feks dette er en bedre måte å gjøre det på:

 


<?php

function password ($len) {

 $chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ123456789";

 mt_srand( (double) microtime() * 1000000);

 for ($i=1;$i<=$len;$i++) $out .= $chars[mt_rand(0,(strlen($chars)-1))];

 return $out;

}

print password(8); // Tallet her tilsier lengden på passordet.

 

 

 

Med denne måten å bygge passordet på så er det vel en viss sjanse for at du får et passord med bare bokstaver. :shrug:

 

Hadde vel kanskje vært bedre å ha to arrays. En med tall og en med bokstaver, og så velge array tilfeldig først for så å velge ut passord-tegn.

 

det har jeg faktisk ikke tenkt over, skal titte på det...

Lenke til kommentar
men en ting: Burner89 du laget denne topicen Hvordan bruke php en stund før denne posten her, fikk du ikke egentlig der svar på hvorfor du ikke får brukt det scriptet direkte i IE?

Nei! Det ble mest krangling om hvordan det gikk an og hvorfor det og hvordan gjøre det og alt muligt!

Lenke til kommentar
  • 3 år senere...

$chars =

'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ01234567890123456789-'

 

nå er sannsynligheten for tall/bokstaver den samme som første kode.

 

søk etter LAMP (linux, apache, mysql, php/perl). Finnes sikkert en howto et sted.

 

www.apache.com

www.php.net

www.mysql.org

 

 

hvis du foretrekker windows:

 

legg inn apache først. så php og mysql for apache.

 

web filene legges vanligvis i c:\program files\apache software foundation\apachexx\htdocs

 

endre config fila til å søke etter index.php som default

c:\program files\apache software foundation\apachexx\conf\httpd.conf

 

bare søk etter index.html og erstatt med, eller legg til index.php

 

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

 

php installasjonen skal ta seg av modul konfigen.

 

så må du eventuelt åpne port 80 i firewallen.

 

sidene leses med http://localhost

Endret av grimjoey
Lenke til kommentar
Gjest
Dette emnet er stengt for flere svar.
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...