denkfehler beim vergleichen von strings?

snikka

Mitglied
hi,

also die var $letter kommt von einer anderen Seite, sie soll hier erst in der var $str_neu geschrieben werden und später ( falls der inhalt der $letter nicht schon enthalten ist) auf die var $str_alt überspielt werden... doch so wie es aussieht bekomme ich probleme beim zusammenfügen der $str_alt und der $str_neu... hier der quelltext

PHP:
$str_neu = "$letter";
	if($str_neu != $str_alt)
	{
		$str_wort = $str_alt.$str_neu;
		print_r($str_wort);
		$str_alt  = $str_wort;
	}
echo $str_alt;

ich hatte überlegt es schon mit strcmp zu machen, aber mit binären ergebnissen kann ich nichts anfangen....

als ausgabe bekomme ich jetzt auch immer nur den letzten buchstaben der in die var $letter geschrieben wurde....


***edit***

kann es ein das es schon beim übergeben der var $letter probleme gibt..... denn mir ist grade aufgefallen, dass ich die Seite auf der dieser Code steht immer neu aufrufe wenn $letter übergeben wird... und $str_alt wird ja nirgenswo gespeichert...... oder?
 
Zuletzt bearbeitet:
Wenn du eine Variable nicht explizit in einer Datei, Datenbank etc. speicherst und sie auch nicht erneut per Browser oder Session übergibst, ist diese natürlich undefiniert.

Das Problem liegt also scheinbar woanders.
 
Dazu brauchst du nicht unbedingt eine Datenbank. Du könntest das ganze auch als Sessionvariable übergeben. Oder - sofern das deine Sicherheitsanforderungen zulassen - in einen Input-Tag mit dem Typ "hidden" innerhalb deiner Form schreiben.

Nur mal so als Denkanstoß, ich weiß ja nicht, was du vorhast ;)
 
Original geschrieben von reima

Nur mal so als Denkanstoß, ich weiß ja nicht, was du vorhast ;)

die welt erobern hahaha ;)
mhm ich arbeite hier leider nicht mit sessions.... und zur info.. es wird eine virtuelle tastatur... aber ich habe bestimmt noch öfters probleme vielleicht siehste dann mehr quelltext ;)
 
ich habe das mal dazu geschrieben... aber ich habe keine ahnung warum er den neuen buchstaben der kommt nicht speichert.... bzw den alten überschreibt....
die verbindung zum sql server habe ich offen gelassen
PHP:
if($str_neu != $str_db)
	{	
		$str_db_alt = $str_db;
		$str_wort = $str_db.$str_neu;
		$str_db  = $str_wort;
		print_r($str_wort);
		@mysql_querry("update tp_select set old = $str_db_alt where old = $str_db")
	}
zum test hatte ich mal feste werte in die querry geschrieben.... aber er updatet / löscht / addiert nichts.... nur auslesen funktioniert....


für hilfe wäre ich echt dankbar...thx
 
1. würde ich alle Variablen in einer SQL-Anweisung stets so schreiben: '".$variable."' - Da es ansonsten Problemem mit Strings gibt!!!

2.@mysql_query nur mit einem r ;)!

3. würde ich den alten Buchstaben vorher auslesen und dann mit dem neuen zusammenfügen und dass das jeweilige feld updaten

4. noch viel Spaß :-þ!
 
Außerdem würde ich bei (My)SQL-Abfragen alle Werte in einfache Anführungszeichen setzen. Dann sind auch schon gleich mal Namenskollisionen mit Schlüsselwörtern ausgeschlossen.
 
ahh jo danke habs jetzt geändert und noch ein bischen umgeschrieben... und das r.... war wohl n fehler beim kopieren ;)

nochmals danke für die tips :-)
 
Zuletzt bearbeitet:
Zurück