• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Nachhilfe in Variablen...

Toxictype

New member
Hallo,
wie bekomme ich Vars die in einer Schleife definiert werden aus dieser Schleife heraus?

Folgender Code (Upload Bilder mit Ersetzen von Zeichen):
PHP:
// Button
if (isset($action) && ($action == 'speichern')) {
	//
	for ($i=1; $i<=4; $i++) {
	//
	$bild = '$bild_';
	$bild = $bild.$i;	
	//
	$bild = $userfile_name[($i-1)];
	//
	$bild = str_replace(' ','',$bild);
	$bild = str_replace('#','',$bild);
	$bild = str_replace('ü','ue',$bild);
	$bild = str_replace('ö','oe',$bild);
	$bild = str_replace('ä','ae',$bild);
	$bild = str_replace('ß','ss',$bild);
	//
	@copy($userfile[($i-1)],"../$bild_".$i."");
	//
	if ($userfile[($i-1)] == 'none')
	echo 'Info: Bild '.$i.' fehlt!<br>';
	else
	copy($userfile[($i-1)],$files."/".$bild);
	//
	}
	//
	// Eintrag in DB
	$query = "INSERT INTO `".$table_2."` (`bild_1`, `bild_2`, `bild_3`, `bild_4`) VALUES ('".$bild_1."', '".$bild_2."', '".$bild_3."', '".$bild_4."')";
...
exit;
}

Wir ihr seht, brauche ich die Vars $bild_1 - $bild_4, um die Pfade in die DB zu bekommen.

Gruß
Tox
 
Speicher die Daten einfach in einem Array.
PHP:
// Button
if (isset($action) && ($action == 'speichern')) {
    //
    $bilder = array();
    for ($i=1; $i<=4; $i++) { 
    //
    $bilder[] = $bild = str_replace(
        array(' ', '#', 'ü', 'ö', 'ä', 'ß'),
        array('', '', 'ue', 'oe', 'ae', 'ss'),
        $userfile_name[$i-1]
    );
    //
    @copy($userfile[$i-1],"../".$bild."_".$i."");
    //
    if ($userfile[$i-1] == 'none')
    echo 'Info: Bild '.$i.' fehlt!<br>';
    else
    copy($userfile[$i-1],$files."/".$bild);
    //
    }
    //
    // Eintrag in DB
    $query = "INSERT INTO `".$table_2."` (`bild_1`, `bild_2`, `bild_3`, `bild_4`) VALUES ('".$bilder[0]."', '".$bilder[1]."', '".$bilder[2]."', '".$bilder[3]."')";
...
exit;
}
Ich hab außerdem ein paar Sachen geändert/entfernt, weil sie unsinnig/(nicht nötig) waren. Oder hast du Code dazwischen ausgelassen?
 
WOW! :beatup: Das ging schnell!
Jetzt sag noch, Du hast es getestet und ich weiß Bescheid... :brainless

Ich muss mal kurz einen Stop einlegen, bin aber in höchstens einer Stunde wieder online. An ein Array bzw. Sessions habe ich auch gedacht und habe es ausprobiert. Leider kam bei mir nicht wirklich etwas herum...

Erstmal vielen Dank für die schnelle Hilfe!

Bis gleich!
 
Nur eine kleine Anmerkung:
PHP:
    for ($i=1; $i<=4; $i++) { 
    //
    $bilder[] = $bild = str_replace(
        array(' ', '#', 'ü', 'ö', 'ä', 'ß'),
        array('', '', 'ue', 'oe', 'ae', 'ss'),
        $userfile_name[$i-1]
Geht schneller mit
PHP:
    $srch = array(' ', '#', 'ü', 'ö', 'ä', 'ß');
    $rplc = array('', '', 'ue', 'oe', 'ae', 'ss');
    for ($i=1; $i<=4; $i++) { 
    //
    $bilder[] = $bild = str_replace($srch,$rplc,
        $userfile_name[$i-1]
 
OK, ich werde es gleich ausprobieren.

Müsste es folgender Zeile:
PHP:
...
else
copy($userfile[($i-1)],$files."/".$bild);
...
nicht so sein:
PHP:
...
else
copy($userfile[($i-1)],$files."/".$bilder[$i]);


EDIT: SORRY! MUSS ES NICHT!!! ;-)
heissen?

Oder irre ich mich?
 
Zuletzt bearbeitet:
Zurück
Oben