Variables vergelijken

Status
Niet open voor verdere reacties.

Deparis

Gebruiker
Lid geworden
18 apr 2013
Berichten
80
Hi
Ik zit met het volgende probleem:
Vanuit 2 tekst files verkrijg ik 2 variables.. dit doe ik met de eerste:
Code:
$fp = @fopen ("category.txt", "r");

if ($fp) {
   while(!feof($fp)) {
   $lines[] = fgets($fp);					
   }
   fclose($fp);}

de tweede is hetzelfde maar dan een ander file.
Als ik nu de 2 variables wil vergelijken met:
Code:
if($lines[2] == $other[4]) echo "hetzefde";

Dit lukt maar steeds niet en ik weet niet waarom....
Weet iemand wat ik fout doe?
 
Wat gaat er mis?

Wat krijg je te zien als je de twee waardes dump?
PHP:
var_dump($lines[2]);
var_dump($other[4]);
 
Hi!

Ik krijg hetvolgende:
Code:
-------------------------------------------------------------------------------------
 var_dump($lines[2]); gives:
 string(23) "vriendschap " 

 var_dump($other[4]); gives:
 string(11) "fijne dag "
 -------------------------------------------------------------------------------------

Nu begrijp ik waarom ze niet te vergeliken zijn..
Blijft echter de vraag: hoe doe ik de vergelijk met alleen : vriendeschap & fijne dag ??
 
Wat wil je bereiken? Waarom ben je juist die twee strings met elkaar aan het vergelijken?
 
Hi
Het is een Ecard script waar je als admin ecards kunt toevoegen en bewerken.
Om een ecard toe te voegen gebruik ik als een "option select" de categorieen uit een text file met:
Code:
if ($lines[0]) echo "<option value=$lines[0]>$lines[0]</option>";
if ($lines[1]) echo "<option value=$lines[1]>$lines[1]</option>";
if ($lines[2]) echo "<option value=$lines[2]>$lines[2]</option>";
if ($lines[3]) echo "<option value=$lines[3]>$lines[3]</option>";
if ($lines[4]) echo "<option value=$lines[4]>$lines[4]</option>";
if ($lines[5]) echo "<option value=$lines[5]>$lines[5]</option>";
if ($lines[6]) echo "<option value=$lines[6]>$lines[6]</option>";
if ($lines[7]) echo "<option value=$lines[7]>$lines[7]</option>";

Dat werkt prima! maar om een ecard te bewerken wil il dezelfde dropdown (om van categorie te wisselen).
Het belangrijkste is nu dat de huidige categorie van de ecard geselecteerd moet zijn met "selected".
Hier moet dus een vergelijk gemaakt worden tussen de waarde uit de categorie.txt en de other.txt.
 
Laatst bewerkt:
Hm, 't is mij nog niet duidelijk. Kun je de volledige code posten?

Even terzijde, dat laatste blok kun je beter vervangen door een loop, zo bijvoorbeeld.
PHP:
<?php
foreach($lines as $line){
?>
    <option value='<?=$line;?>' ><?=$lines;?></option>
<?php
}
?>

Op die manier hoef je je code niet aan te passen als het aantal regels verandert.
 
Hi Giga,

Je code is inderdaad stukken beter.. werkt als een trein.

De edit Ecard is ook een form waarin de gegevens en categorie van de Ecard uit other.txt wordt gehaald.

De option select (dropdown) gegvens worden zoals boven uit categorieen.txt gehaald.

Nu moet de option geselecteerd worden behorende bij de Ecard en dat is een vergelijk:

Code:
if($lines[2] == $other[4]) echo "selected";

en dit lukt niet....
 
dan is er al 7 dagen gezocht op iets dat al bestaat "als je begrijpt wat ik bedoel".
 
Nee, verklaar je nader, en dit keer zonder vaagheid ;).
 
Hi Giga,

Je code is inderdaad stukken beter.. werkt als een trein.

De edit Ecard is ook een form waarin de gegevens en categorie van de Ecard uit other.txt wordt gehaald.

De option select (dropdown) gegvens worden zoals boven uit categorieen.txt gehaald.

Nu moet de option geselecteerd worden behorende bij de Ecard en dat is een vergelijk:

Code:
if($lines[2] == $other[4]) echo "selected";

en dit lukt niet....

Het is me nog altijd niet duidelijk wat je nu precies aan het doen bent, laat de volledige code eens zien.

@kenikavanbis: wat heeft md5 hiermee te maken?
 
hi!

De volledige code van de edit_greet form is:

Code:
else if($_GET['action'] == "change_greet") {
$l=base64_decode($m);
if($l==$password){
		if($_GET['id'] >= 0){
				global $filename;
				$id = $_GET['id'];
				$fp = @fopen($filename, 'r');
				$array = explode("\n", fread($fp, filesize($filename)));
				for($x=0;$x<sizeof($array);$x++) {
					$temp = explode(";",$array[$x]);
					$line[$x] = "$temp[0];$temp[1];$temp[2];$temp[3];$temp[4];$temp[5];$temp[6];";
				}
				$data_submitted = time();
				$mod = explode(";", $line[$id]);
				echo "<center><font face=verdana size=3>Update Ecard:</center><br><br>";
				echo "<img src=$mod[1] width=250><br><br>";
				
				echo "<form method=\"POST\" action=\"?action=change_greet2\" method=\"post\">";
 				echo "<table><tr><td>Thumbnail Path:</td><td><input type=\"text\" value=\"$mod[1]\" name=\"thumbnail\" size=\"50\"></td></tr>";
				echo "<font face=arial size=2><tr><td>Ecard Path:</td><td><input type=text name=ecard_path value='$mod[2]' size=50></td></font></tr>";
				echo "<tr><font face=arial size=2><td></td><td><input type=hidden name=category size=50 maxlength=300 value='$mod[3]'></font></td></tr>";
				
                echo "<tr><font face=arial size=2><td>Category:</td><td></font><input type=text name=cat size=50 value='$mod[4]'> *CaSe SeNsEtIvE</td></tr>";
				
				echo "<input type=\"hidden\" name=data_submitted value=\"$data_submitted\"> ";
				echo "<tr><td></td><input type=\"hidden\" name=m value=\"$m\"><td><br><input type=\"submit\" value=\"submit\">&nbsp;&nbsp;";
				echo "<input type=\"reset\" value=\"Reset\"></td></tr>";
				echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
				echo "</form></table>";
				echo "<br><br><input type=\"button\" value=\"terug naar de Kaarten\" onclick=\"history.back(-1)\" /><br><br>";

		}

Dit geeft hetvolgende:

4-12-2016.jpg

Waar de pijl staat wil ik nu de keuze opties van de verschillende categorieën, én de categorie behorende bij de Ecard geselecteerd.
 
Het leek dat hij twee files wil contoleren op gelijkheid. dus komt er dan md5 file (intersectie) om de hoek kijken. Vandaar mijn vage vraag omdat ik niet ziet zeker kon weten met te de weinige informatie.
Nu Ecard kan ik er ook eens iets van voorbeeld zien

een vcard ziet er zo uit
Code:
BEGIN:VCARD
VERSION:4.0
N:%name->value%;%forename->value%;;;
FN:%forename->value% %name->value%
ORG:%company->value%
TITLE:%username->value%
PHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=work,voice;VALUE=uri:tel:%tel...%
TEL;TYPE=home,voice;VALUE=uri:tel:%tel...%
ADR;TYPE=work;LABEL="%adress...%;%country->value%
ADR;TYPE=home;LABEL="%adress...%...
EMAIL:%email->value%
REV:%reversion%
END:VCARD
graag had ik het platform/cms die het gebruikt geweten.

Laat me weten als door this lectie de tekst niet goed heb geinterpreteert.
 
Hi
contoleren op gelijkheid. dus komt er dan md5 file (intersectie) om de hoek kijken
Volgens mij heft dit er helemaal niets mee te maken :confused:
 
Laatst bewerkt:
Volgens mij heft dit er helemaal niets mee te maken :confused:
Correct! Je kunt MD5 gebruiken om een hash te maken van (de inhoud van) een bestand, je kunt dat gebruiken om er snel achter te komen of twee bestanden verschillende inhoud hebben, of dat nu een totaal ander tekst is, of een extra spatie. Wat jij, volgens mij, wil doen, is twee strings (stukjes tekst) met elkaar vergelijken. Maar, volgens mij hebben we nog altijd niet de volledige code. Misschien zie ik wat over het hoofd, maar het is me nog altijd duister wat je van je vergelijking verwacht.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan