Проблем с един скрипт за записване на данни.

maxaffey

Registered
Имам един скрипт за показване на данни в едно падащо меню, като взема данните от два други файла. В него всичко е о.к., но като се обработи пак и се препратят данните за следваща обработка добавя някакво празно поле зад числото. ето искриптовете:

Код:
<form name="form1" method="post" action="newz.php">
<select name="kat2" id="kat2">
                        <?php

$n=file("nomera.inc");
$s=file("kat.inc");
$output="";

foreach($n as $num){list(,$stok)=each($s);
$output.="<option value='$num'>$stok</option>";
}
echo($output);


?>
</select>
<INPUT name="submit" TYPE=submit CLASS=but VALUE="Въведи">

</form>

като nomera.inc съдържа:
1
2
3

а kat.inc съдържа:
категория1
категория2
категория3

ето и newz.php:

Код:
<? 
				
$kat2=$HTTP_POST_VARS['kat2'];

$zapis=$kat2." \n" ; 


$fp = fopen ( "file.inc" ,"a"); 
fwrite($fp, $zapis ); 
fclose($fp);

?>


И като запише данните, т.е. числата в file.inc не ги записва "1" а така "1 ", т.е. слага един интервал след числото.

Ако някой може да ми каже как да оправя тази грешка пишете моля!
 
Код:
$zapis=$kat2." \n"


Има оставен интервал. :)

Трябва да е така (според мен).

Код:
$zapis=$kat2."\n"
 
Код:
<? 
				
$kat2=$HTTP_POST_VARS['kat2'];

$zapis=$kat2." \n" ; 
$zapis=str_replace(" ",'',$zapis);
$fp = fopen ( "file.inc" ,"a"); 
fwrite($fp, $zapis ); 
fclose($fp);

?>

Я пробвай така.
 
maxaffey каза:
Не се получава и по този начин. Пак слага интервал зад числото!?!?

:( :( :(


Тогава ползвай str_replace при самото четене от файла.
Код:
<form name="form1" method="post" action="newz.php"> 
<select name="kat2" id="kat2"> 
                        <?php 

$n=file("nomera.inc"); 
$s=file("kat.inc"); 
$output=""; 

foreach($n as $num)
{
list(,$stok)=each($s); 
$stok=str_replace(" ",'',$stok);
$output.="<option value='$num'>$stok</option>"; 
} 
echo($output); 


?> 
</select> 
<INPUT name="submit" TYPE=submit CLASS=but VALUE="Въведи"> 

</form>
 
Не се получава и по този начин :( , явно това е някакъв бък в системата!!! Просто продължава да си оставя накакъв интервал отзад!!!

Явно трябва да го мисля по дриг начин! :shock: :?
 

Back
Горе