Jump to content
php.lv forumi

fopen


xfr33

Recommended Posts

man radies jautājums!

iesākumam daļa kodā:

$dati = fopen($_POST['niks'] .".txt", 'a');
fwrite($dati, "<? $niks=". $_POST['niks'] ."; $parole=". $_POST['parole'] ."; ?>");
fclose($dati);

 

kādēļ kad tiek izveidots tas jaunais fails teksts kuru parāda ir:

<? =zxc; =123; ?>

 

nevis

 

<? $niks=zxc; $parole=123; ?>
Link to comment
Share on other sites

Tāpēc, ka visi mainīgie iekš dubultpēdām pārvēršas par to saturu un "$niks" tiek atpazīts kā mainīgais un aizstāts ar tā saturu , kas visticamāk ir tukšs strings. liec iekš '' nevis ""

Link to comment
Share on other sites

phelix paldies ;)

 

andri, nu tā varētu būt, briesmīgi mocīju galvu lai izdomātu kā var uztaisīt lai pēc reģistrācijas automātiski var ielogoties. nu re, izdomāju :)

traucēt te nevienu arī negribējās :)

Link to comment
Share on other sites

bubu, esmu gandrīz uzmeistarojies reģistrāciju, loginu un datu saglabāšanu uz kompja :) diezgan besīgi, viena lieta tagad neiet :) bet par to beigās.

tātad gribi zināt kāpēc?

mans logins:

<?
session_start();
?>
<?php
if (isset($_POST['submit'])) {
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user=="admin" && $pass=="admin") {
header('Location: members.php');
}
elseif($user==$niks && $pass==$parole) {
header('Location: members.php');
} else {
$bummmmmm = "Lietotājvārds vai parole nav pareiza!";
}
}
?>
<html>
<title>Loginu sistema</title>
<body>
<form action="login.php" method="POST">
Niks: <input type="text" name="user" />
<br/>Parole: <input type="password" name="pass" />
<br/><input type="submit" value="OK" name="submit" />
<input type="reset" value="No jauna!" />
</form>
<?php echo $bummmmmm; ?>
<a href="register.php">Registrejies!</a>
</body>
</html>

lai dabūtu ka pie logina automatiski pieiet klāt mainīgie $niks un $parole ar jaunām vērtībām, kuras darbībā var redzēt kodā! tādēļ no sākuma saglabāju kā tekstu un reģistrācijas brīdī automātiski tiek iemesta include funkcija login.php, kas atver to txt failiņu, kurā ir nodefinēti tie mainīgie, kurus savukārt izmanto lai varētu ielogoties :)

baigais čakars bet nu cenšos PATS apgūt kaut ko :)

 

bet man ir viena problēma!

man šitā funkcija tai login.php neko neieraksta!

$login = fopen("login.php", 'a');
fwrite("<? include('". $_POST['niks'] .".txt'); ?>");
fclose($login);

palīdzēt kāds var?

Link to comment
Share on other sites

konkrētāk būtu "resource $handle" vieta, bet nu kamēr neuzrakstīs fwrite( $login, "<? include('". $_POST['niks'] .".txt'); ?>"); tev laikam nepieleks.

 

Vispār jau tas ko tu veido ir kā caur izpūtēju karburatoru labot, bet nu... laikam jau neuzkāpjot uz grābekļa nevar iemācīt iet viņam apkārt

Edited by PheliX
Link to comment
Share on other sites

phelix, vot par to es arī domāju! vienīgi, tad nesanāks tā ka tas include būs pašās beigās? man liekas ka tas 'a' burtiņš nozīmē ka ir beigās! :)

a man vajag sākumā! mēģināju ar 'w', bet smieklīgi sanāca, izdzēsa visu :D man vajag sākumā :)

 

 

IZZĪLĒJU KAFIJAS BIEZUMOS KA IR ARĪ TĀDS r+ :D PALDIES TIEM KAS PALĪDZĒJA :)

Edited by xfr33
Link to comment
Share on other sites

Kautkāds ārprāts...

Pamata lietas vismaz apskaties, pirms raksti kodu.

Vispār jau tādām lietām būtu jāizmanto datubāze.. bet nu ok, failus arī var, ja jau tik ļoti gribās:

// ierakstam
$niks = "foo";
$parole = "bar";
file_put_contents("$niks.txt", $parole);

// nolasam
$p = file_get_contents("$niks.txt");
echo "Hei, $niks! Tava parole ir $p";

 

IZZĪLĒJU KAFIJAS BIEZUMOS KA IR ARĪ TĀDS r+

Tas nav jāzīlē kafijas biezumos. Tas ir jāapskatās manuālī.

Kafijas biezumos ir jāzīlē atbildes uz jūsu visu jautājumiem te... (kāpēc neiet, kur ir kļūda, man nekas nestrādā).

Un bļaut nevajag.

Link to comment
Share on other sites

bubu, mēģināju kko uzmeistarot arī uz datubāzes, aizgāju tiktālu ka datubāzē pratu pievienot tabulu un userus :)

bet kad uzlieku šito uz login.php $parole = file_get_contents("$niks.txt"); met kļūdu.

Warning: file_get_contents(.txt) [function.file-get-contents]: failed to open stream: No such file or directory in C:\WEB\htdocs\login\login.php on line 5

fails ir uztaisīts, bet login.php nenolasa!

Link to comment
Share on other sites

nosaukums ir tieši .txt vai arī teiksim abc.txt?

bet man ir tāda rindiņa

register.php (reģistrācija) --> reg.php (ielikts file_put_contents) --> ar pogu iet uz reg_done.php (parāda ka ir reģistrējies) --> ar pogu iet uz login.php (vajag ielikt file_get_contents, bet failu neatrod)!

tāda ir tā virkne! tā kā to mainīgo $niks atceras arī login.php vai tomēr nē??

Link to comment
Share on other sites

nosaukums ir tieši .txt vai arī teiksim abc.txt?

Domā man patīk rakstīt ".txt", bet domāt, ka es uzrakstīju "abc.txt"?

Apskaties vēlreiz kļūdas paziņojumu.

 

tā kā to mainīgo $niks atceras arī login.php vai tomēr nē??

Un kā tev šķiet?

Php interpretators visa skripta runtaimu (funkcijas/failus/handļus/mainīgos) darbina/atcerās tikai viena pieprasījuma laikā. Sākoties nākamajam pieprasījumam viss tiek inicializēts pa jaunam.

 

Lūdzu, lūdzu iemācies php pamatus! Tikai pamatus, nekas advancēts no tevis netiek prasīts. Citādi katrs tavs nākamais jautājums ir drausmīgāks par iepriekšējo.

Link to comment
Share on other sites

×
×
  • Create New...