Problem mit foreach

alex130

Erfahrenes Mitglied
Hallo,
ich hab ein Problem und zwar, gebe ich Links ein, z.B.
http://google.de
http://tutorials.de
http://google.com
Die werden dann von meinem Script folgender maßen verarbeitet:
PHP:
		$links = explode("\n", $_POST['links']);
			
		foreach($links as $link)
		{
		echo $link."<br>";
		}

Nun hab ich ein Problem, ich habe 3 Links eingegeben aber bekomme 6 raus, also es sieht so aus, als würde die Schleife 2mal durchlaufen werden.
Weiß jemand woran das liegt?
Danke
 
print_r($_POST):
Code:
Array ( [folder] => [password] => alex [links] => http://google.de http://tutorials.de http://google.com [protect] => Protect )

print_r($links):
Code:
Array ( [0] => http://google.de [1] => http://tutorials.de [2] => http://google.com )

Ausgabe:
Code:
http://google.de
http://tutorials.de
http://google.com
http://google.de
http://tutorials.de
http://google.com
 
Hi,

na ja, im $_POST-Array kann man jetzt nichts sehen. Hast Du die Zeilenumbrüche entfernt? Bei mir sieht die Ausgabe von print_r anders aus...
Ist aber auch egal. print_r($links) zeigt ja, dass nur 3 Elemente im Array vorhanden sind. Und da eine foreach-Schleife nicht so mir nichts dir nichts doppelt läuft, musst Du uns irgendwas verschweigen. ;)

LG
 
Also hier ist meine komplette Datei:
PHP:
<?php

$page = "protect.tpl";

if(isset($_POST['protect']))
{
	if($_POST['links'] != '')
	{	
		$links = explode("\n", $_POST['links']);

		if($_POST['folder'] == '')
		{
			$folder = time();
		}
		else
		{
			$folder = $_POST['folder'];
		}
		
		//$folderid = mysql_insert_id();
		
		foreach($links as $link)
		{
			echo $link."<br>";
		}
		$tpl->assign("submit", 1);
		$tpl->assign("msg", "Eingetragen");
	}
	else
	{
		$tpl->assign("msg", "Bitte geben Sie LInks ein");	
	}
}
else
{
	$tpl->assign("submit", 0);
}

?>
 
Jetzt hab ich gerade gesehen, wenn ich die Foreach weg tu und nur print_r($links) mache, dann sieht es so aus:
Code:
Array ( [0] => http://google.de [1] => http://tutorials.de [2] => http://google.com ) Array ( [0] => http://google.de [1] => http://tutorials.de [2] => http://google.com ) Eingetragen
Also muss da schon wo der Fehler sein
 
Ja vorher war es dopppelt, dachte es lag an der Schleife und hab deshalb nur eins gepostet, doch das print_r war ja gar nicht in der Schleife...
 
print_r($_POST)
Code:
Array ( [folder] => [password] => alex [links] => http://google.de http://tutorials.de http://google.com [protect] => Protect ) Array ( [folder] => [password] => alex [links] => http://google.de http://tutorials.de http://google.com [protect] => Protect ) Eingetragen

print_r($_POST['links'])
Code:
http://google.de http://tutorials.de http://google.comhttp://google.de http://tutorials.de http://google.com Eingetragen
 
Zurück