raivis Posted November 29, 2004 Author Report Share Posted November 29, 2004 (edited) Kur kļūda...? Fatal error: Can't use function return value in write context in c:\www\unregister.php on line 4 adreses.txtjuris@inbox.lv|baiba.e@hotmail.com|peter@grin.org unregister.php <?php $meklejama = "juris@inbox.lv"; $adreses=str_replace(array("\n","\r",' '),'',file_get_contents('adreses.txt')); $adreses=explode('|',$adreses); unset(array_search($meklejama,$adreses)); $fh=fopen('adreses.txt','w'); fwrite($fh,implode('|',$adreses)); fclose($fh); ?> ??????????????????????????????????????? if $meklejama = atrasta($adreses); { delete atrastais $meklejama; echo "Jūsu e-pasta adrese $meklejama veiksmīgi atreģistrēta"; } else if $meklejama nav atrasta($adreses); { echo "Adrese nav reģisrēta sistēmā!"; } ??????????????????????????????????????? Edited November 29, 2004 by raivis Link to comment Share on other sites More sharing options...
bubu Posted November 29, 2004 Report Share Posted November 29, 2004 Man vajadzētu katra otrā rindiņa $name, $email izvadīt citā krāsā.. Nu tad kāpēc tu to nedari, nelasi to failu masīvā? $file = file("data.txt"); $totalLines = sizeof($file); $users = array(); // tukšs masīvs for($line = 0; $line < $totalLines; $line++){ @list($name,$age,$email) = explode("|", $file[$line]); $users[$name] = $email; } // tagad $users ir aizpildīts Link to comment Share on other sites More sharing options...
bubu Posted November 29, 2004 Report Share Posted November 29, 2004 Kur kļūda...? Can't use function return value in write context in c:\www\unregister.php on line 4 Un kura ir 4-tā rindiņa? Ja šī: unset(array_search($meklejama,$adreses)); tad varbūt pamēģini šādi: $key = array_search($meklejama,$adreses); if ($key !== false) { unser($adreses[$key]); } Jo manuprāt array_search atgriež masīva atslēgu, nevis pašu masīva elementu. Tāpēc unsetot var tikai norādot kurā masīvā ir šī atslēga, nevis pašu atslēgu unsetot! Link to comment Share on other sites More sharing options...
raivis Posted November 29, 2004 Author Report Share Posted November 29, 2004 :huh: Pat nezinu kā tev pateikties bubu.. Liels, liels, milzīgs tev paldies! Izmantojot http://php.lv/f/, lai risinātu radušos jautājumus php programēšanā, jūs: bubu, Venom, рпр, Kaklz un daudzi citi esat ne tikai man patiesi ļoti, ļoti izpalīdzējuši ;) Paldies! Link to comment Share on other sites More sharing options...
raivis Posted December 6, 2004 Author Report Share Posted December 6, 2004 Vēlos, lai no faila data.txt 0.rindiņas nolasītu $date, $user, $msg 1.rindiņas nolasītu $name, $surename, $email 2.rindiņas nolasītu $name, $user, $pass vai tas ir iespējams, text faila katrai rindiņai piešķirt atšķirīgus mainīgos..!? $fileData = file("data.txt");$messageList = array(); foreach ($fileData as $row){ $date = date("d.m.Y"); list($date, $user, $msg) = explode('|', $row); $messageList[] = array('date' => $date, 'user' => $user, 'msg' => $msg); } foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; } data.txt 03.12.2004|Jānis|komentārs BLĀ|Juriks|Novovskis|juris@inbox.lv| Baiba|baiba19|parole| Link to comment Share on other sites More sharing options...
orion Posted December 6, 2004 Report Share Posted December 6, 2004 Vainu liec tukshumus neesosho veertiibu vietaa: Nav precīzī, bet aptuveni šītā 03.12.2004|Jānis|||komentārs BLĀ|| ||Juriks|Novovskis||juris@inbox.lv|| ||Baiba||baiba19|||parole| Vai arī lieto datubāzi un tad vienmēr zināsi, ko nolasi!! Link to comment Share on other sites More sharing options...
raivis Posted December 7, 2004 Author Report Share Posted December 7, 2004 Vainu liec tukshumus neesosho veertiibu vietaa: Nav precīzī, bet aptuveni šītā 03.12.2004|Jānis|||komentārs BLĀ|| ||Juriks|Novovskis||juris@inbox.lv|| ||Baiba||baiba19|||parole| Vai arī lieto datubāzi un tad vienmēr zināsi, ko nolasi!! Tas diemžēl nav tas, ko vēlējos panākt :( .. Link to comment Share on other sites More sharing options...
bubu Posted December 8, 2004 Report Share Posted December 8, 2004 Vēlos, lai no faila data.txt 0.rindiņas nolasītu $date, $user, $msg 1.rindiņas nolasītu $name, $surename, $email 2.rindiņas nolasītu $name, $user, $pass Es nu galīgi nesaprotu, kur ir problēmas?!? $f = fopen('data.txt', 'r'); list($date, $user, $msg) = explode('|', fgets($f)); list($name, $surename) = explode('|', fgets($f)); list($name, $user) = explode('|', fgets($f)); fclose($f); Tikai ievēro, ka tev nezkāpēc mainīgais $name un $user ir divās vietās viens un tas pats! Link to comment Share on other sites More sharing options...
raivis Posted December 8, 2004 Author Report Share Posted December 8, 2004 (edited) Kur kļūda!? $fileData = file("data.txt"); $personList = array(); foreach ($fileData as $row){ list($name, $age, $email) = explode('|', $row); $personList[] = array('name' => $name, 'age' => $age, 'email' => $email); } // 4. punkts //No faila "data.txt" print/apluukot taas rindinjas $name,$age,$email veertiibu, kuraa $name=="Pereris"; echo '<h1>Personas dati</h1>'; foreach ($personList as $key => $person){ if ($person['name'] == 'Peteris'){ echo '<h2>' . $person['name'] . '</h2> <p>Vecums: ' . $person['age'] . '</p> <p>E-pasts: ' . $person['email'] . '</p>'; } else { echo "no info"; } } ..vēlos nolasīt $person['name'], $person['age'], $person['email'], ja $person['name'] == 'Peteris', bet, ja $person['name'] nav 'Peteris', tad echo "no info"; ..? Edited December 8, 2004 by raivis Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2004 Report Share Posted December 9, 2004 Nu viss kārtībā tak. Viss strādā kā vajag. Tavs kods: // Izdrukājam tekstu "Personas dati" // katrai personai daram sekojošo: // ja šī persona ir pēteris, tad: // izdrukājam name, age, e-mail // citādi (ja tā nav Pēteris), tad: // izdrukājam "no info" Tātad ja dati.txt satur sekojošas rindas: Janis|20|janka@info.lv Peteris|30|petka@inbox.lv Jurka|40|jurka@one.lv Tad tavs kods izdrukās apmēram sekojošas rindas: no info Personas dati (Peteris, 30, petka@inbox.lv) no info Jo pirmā un pēdējā persona nav Pēteris, bet pa vidam ir Pēteris. Tā ka, kļūdas nav. Link to comment Share on other sites More sharing options...
raivis Posted December 9, 2004 Author Report Share Posted December 9, 2004 !? Bet, ja man vajadzētu: ja persona "Pēteris" ir atrastrs==$name, tad: izdrukāt $name, $age, $e-mail; citādi (ja "Pēteris" nav atrasts), tad: izdrukāt "Pēteris nav atrasts!"; //tikai VIENU reizi!!! data.txt: Janis|20|janka@info.lv Petja|30|petka@inbox.lv Baiba|19|baiba@hotmail.com Jurka|40|jurka@one.lv izdrukāt: Pēteris nav atrasts! .. Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2004 Report Share Posted December 9, 2004 Tad tavs kods nav pareizs. Bet redz, tu jau pseidokodu pareizu uzrakstīji. Tā ka pakustini maz-mazdrusciņ savas smadzenes un padomā kā to pārvērst uz php (dari lēnam, pa rindiņai, nevis visu uzreiz, ja neredzi kā). Un uzdod konkrētus jautājumus ko gribi panākt, citādi zin, sāk apnikt rastīt visus skriptus tev priekšā. Link to comment Share on other sites More sharing options...
raivis Posted December 9, 2004 Author Report Share Posted December 9, 2004 !Un tā atkal nav korekti: <?php $meklejama = "Janis"; $adreses = str_replace(array('name' => $name, 'age' => $age, 'email' => $email),'',file_get_contents('data2.txt')); $adreses = list($name, $age, $email) = explode('|', $adreses); $key = array_search($meklejama,$adreses); if ($key !== false) { echo $meklejama." <b>ir</b> atrasts!"; } else { echo $meklejama." <b>nav</b> atrasts!"; } ?> ..ai, nezinu:( Man napieciešams noteikt: Ja $meklejama == $name, tad: izdukāt $meklejama=> $name, $age, $email; citādi (, ja $meklejama nav $name), tad: izdrukāt $meklejama." nav atrasts"; Link to comment Share on other sites More sharing options...
raivis Posted December 9, 2004 Author Report Share Posted December 9, 2004 (edited) nez vai sapratīsiet jautājumu, bet.. Ja data.txt: 03.12.2004|janis|komentārs@07.12.2004 16:35|peter|komentārs1*07.12.2004 19:48|olga|komentārs2*12.12.2004 08:06|janis|komentārs3* 21.10.2004|admin|komentārs@07.11.2004 16:35|peter|komentārs1*07.11.2004 19:48|olga|komentārs2* Kā iespējams šo skriptu attiecināt uz failu data.txt sākot ar simbolu @ $fileData = file('data.txt'); $messageList = array(); foreach ($fileData as $row){ list($date, $user, $msg) = explode('|', $row); $messageList[$user] = array('date' => $date, 'user' => $user, 'msg' => $msg); } ksort($messageList); echo '<h4>Ziņojumi..</h4>'; foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; } proti, if ($lpp==$rindinja) { print no rindiņas $rindinja mainīgo $message['date'], $message['user'], $message['msg'] vērtības } else { ja nav iepostotu ziņojumu: print "no message"; } proti, gala rezultātā vajadzētu izskatīties kam tml: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 03.12.2004 Janis komentārs [3 komentāri] --- 21.10.2004 Admin komentārs [2 komentāri] --- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Aplūkojot 03.12.2004 datuma komentārus: //?lpp=0 03.12.2004 Janis komentārs ------------------------------------------------------ 12.12.2004 08:06 Janis komentārs3 --- 07.12.2004 19:48 Olga komentārs2 --- 07.12.2004 16:35 Peter komentārs1 --- Pievienot savu komentāru.. Aplūkojot 03.12.2004 datuma komentārus: //?lpp=1 21.10.2004 Admin komentārs ------------------------------------------------------ 07.11.2004 19:48 Peter komentārs2 --- 07.11.2004 16:35 Olga komentārs1 --- Pievienot savu komentāru.. !??? Edited December 9, 2004 by raivis Link to comment Share on other sites More sharing options...
raivis Posted December 10, 2004 Author Report Share Posted December 10, 2004 Kā, izejot no šī koda, lai pieprasu: ja $person['name'] nav 'Peteris', tad: izvadīt "no info"; //tikai 1reizi $fileData = file("data.txt"); $personList = array(); foreach ($fileData as $row){ list($name, $age, $email) = explode('|', $row); $personList[] = array('name' => $name, 'age' => $age, 'email' => $email); } echo '<h1>Personas dati</h1>'; foreach ($personList as $key => $person){ if ($person['name'] == 'Peteris'){ echo '<h2>' . $person['name'] . '</h2> <p>Vecums: ' . $person['age'] . '</p> <p>E-pasts: ' . $person['email'] . '</p>'; }// else { // echo "no info"; //} } Link to comment Share on other sites More sharing options...
Recommended Posts