eli väsäsin tälläisen, mutta se vain kuvittelee jatkuvasti että rivi olisi jo olemassa eli mikähän ihme tässä nyt sitten mahtaa mättää kun en itse keksinyt kyllä..
<?php $tieto = file("komgal01.txt"); $data = "".$_POST['nick']."> ".$_POST['hakusana'].""; foreach($tieto as $data ) { $kuvaus=split(" ",$data); $osoiteTiedostossa=$kuvaus[0]; if($osoiteTiedostossa==$data) { $osoiteLoytyi=true; break; } } if($osoiteLoytyi==true) { print "oli jo tollanen"; }else{ $tt = fopen("komgal01.txt", "a+"); fputs ($tt, "".$_POST['nick'].">"); fputs ($tt, " ".$_POST['hakusana'].""); fputs($tt, "\r\n"); //suljetaan tiedosto fclose($tt); ; } ?>
<?php $tieto = file("komgal01.txt"); $data = "".$_POST['nick']."> ".$_POST['hakusana'].""; foreach($tieto as $data) { $kuvaus=explode(" ",$data); $osoiteTiedostossa=$kuvaus[0]; if($osoiteTiedostossa==$data) { $osoiteLoytyi=true; break; } } if($osoiteLoytyi==true) { print "oli jo tollanen"; }else{ $tt = fopen("komgal01.txt", "a+"); fputs ($tt, "".$_POST['nick'].">"); fputs ($tt, " ".$_POST['hakusana'].""); fputs($tt, "\r\n"); //suljetaan tiedosto fclose($tt); ; } ?>
Vaihdoin ton split(); funktion tilalle explode(); funktion, kokeile jos toimis...
Muuten, toi välilyöntien perusteella pilkkominen on huono tapa, sillä jos käyttäjän tunnuksessa on välilyönti ni toi skripti ei toimi. Pilko se jotenkin muuten tai varmista rekisteröityessä että käyttäjänimessä ei ole välilyöntejä.
enpä kyllä noinkaan saanut toimimaan :(
Kokeileppa käyttää mielikuvitusta muuttujien nimessä. Nyt löytyy mm. kaksi $data-muuttujaa
$data = "".$_POST['nick']."> ".$_POST['hakusana'].""; ja foreach($tieto as $data)
siis hetkinen eikö tuo nyt muka tulosta noiden kahden muuttujan sisältöä data muuttujaan ? jollois se etsisisi data muuttujaa tuolta tiedostosta ?
$data muuttujan arvona on tässä kohdassa jokin tiedoston rivi:
if($osoiteTiedostossa==$data)
Ja tätä riviä sen myöskään tajua:
$data = "".$_POST['nick']."> ".$_POST['hakusana']."";
Jos tarkoitus on tehdä tuosta merkkijono, niin tuo tapa on täysin turha. Pelkkä pisteoperaattori riittää muuttamaan sen merkkijonoksi.
Ja vielä viimeisenä virheenä näyttäisi olevan ennen elsen lopetusta oleva ylimääräinen puolipiste.
siis tarkoitus oli saada luettua lomakkeilta tulevat tiedot muuttujaan $data ja sen jälkeen verrata niitä jo txt-tiedostossa oleviin riveihin jottei sinne kirjotettaisi samaa samaa riviä kahta kertaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.