За последние 24 часа нас посетил 18281 программист и 1600 роботов. Сейчас ищут 886 программистов ...

headers

Тема в разделе "PHP для новичков", создана пользователем Privetik, 29 фев 2016.

  1. Privetik

    Privetik Новичок

    С нами с:
    26 фев 2016
    Сообщения:
    24
    Симпатии:
    0
    Код (PHP):
    1. <?php
    2. $log=$_SESSION['login'];
    3. $pass=$_SESSION['pass'];
    4. $gorod=$_SESSION['gorod'];
    5. $strana=$_SESSION['strana'];
    6. $shkola=$_SESSION['shkola'];
    7. $name=$_SESSION['imya'];
    8. $familiya=$_SESSION['familiya'];
    9. $id=$_SESSION['id'];
    10. $nameofalbum=$_SESSION['nameofalbum'];
    11.  
    12. $db_log='root';
    13. $db_host='localhost';
    14. $db_pass='';
    15. $db_db='social';
    16.  
    17.  
    18. $connect=new mysqli($db_host,$db_log,$db_pass,$db_db);
    19. if($connect->connect_error) die ($connect->connect_error);
    20.  
    21. //echo "Альбом $nameofalbum";
    22.  
    23. //echo "добавить фотографии к альбому:";
    24. echo"<form method='post' action='' enctype='multipart/form-data'>";
    25. echo"<input type='file' name='newphoto' required='required'>";
    26. echo"<input type='submit' value='загрузить'> ";
    27. echo "</form>";
    28.  
    29.  
    30.  
    31. $query1="select * from photos where albumname='$nameofalbum'";
    32. $result1=$connect->query($query1);
    33. $rows1=$result1->num_rows;
    34. for ($i=0;$i<$rows1;$i++){
    35.     $result1->data_seek($i);
    36.     $row1=$result1->fetch_assoc();
    37.     $photourl=$row1['photourl'];
    38.     echo "<img style='display: inline-block; height: 280px;width: 250px; float:left;' src='$photourl'>";
    39.  
    40. }
    41.  
    42.  
    43. if ($_FILES) {
    44.  
    45.     $name=$_FILES['newphoto']['name'];  ///photo name
    46.     $a=$_FILES['newphoto']['type'];
    47.     $b='image/jpeg';
    48.     $c='image/png';
    49.  
    50.         if ($a != $b and $a != $c) {
    51.             echo " пожалуйста выберите изображение формата jpeg или png";
    52.             echo <<<_b
    53.         [url="http://localhost/main.php"] вернутся на главную</h3>[/url]
    54.  
    55. _b;
    56.         }
    57.  
    58.         else {
    59.  
    60.             if (!file_exists("photo/" . $log ."/" . $nameofalbum)) {
    61.  
    62.  
    63.                 $query = "select * from albums where albumname='$nameofalbum'";
    64.                 $result = $connect->query($query)->fetch_assoc();
    65.                 $albumid = $result['albumid'];  ///album id
    66.  
    67.                 $query= "select * from photos";
    68.                 $row=$result=$connect->query($query)->num_rows;
    69.                 $row1=$row + 1 ;  ///photoid
    70.                 $k="photo/$log/$nameofalbum/$name"; //photo url
    71.                 $query="insert into photos(albumid,photoid,photoname,photourl,albumname) values ('$albumid','$row1','$name','$k','$nameofalbum')";
    72.                 $result=$connect->query($query);
    73.  
    74.                 mkdir("photo/$log/$nameofalbum", 0777, true);
    75.                 move_uploaded_file($_FILES['newphoto']['tmp_name'], "photo/" . $log . "/" . $nameofalbum. "/" . $name);
    76.                 header("Location: photo.php");
    77.                 //echo "фотография добавлена '$name'<br><img style=' height: 280px;width: 250px;' src='photo/$log/$nameofalbum/$name'>";
    78.  
    79.             } else {
    80.  
    81.  
    82.                 $query = "select * from albums where albumname='$nameofalbum'";
    83.                 $result = $connect->query($query)->fetch_assoc();
    84.                 $albumid = $result['albumid'];  ///album id
    85.  
    86.                 $query= "select * from photos";
    87.                 $row=$result=$connect->query($query)->num_rows;
    88.                 $row1=$row + 1 ;  ///photoid
    89.                 $k="photo/$log/$nameofalbum/$name"; //photo url
    90.                 $query="insert into photos(albumid,photoid,photoname,photourl,albumname) values ('$albumid','$row1','$name','$k','$nameofalbum')";
    91.                 $result=$connect->query($query);
    92.  
    93.                 move_uploaded_file($_FILES['newphoto']['tmp_name'], "photo/" . $log . "/" . $nameofalbum. "/" . $name);
    94.                 header("Location: photo.php");
    95.                // echo "фотография добавлена '$name'<br><img style=' height: 280px; width: 250px;' src='photo/$log/$nameofalbum/$name'>";
    96.  
    97.             }
    98.  
    99.         }
    100. } 
    Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\localhost\photo.php:25) in D:\OpenServer\domains\localhost\photo.php on line 95 знаю почему, но не получается найти где отправлена инфа до редиректа.

    просто без редиректа при обновлении страници пост опять отправляет данные и они снова записываются в бд

    тупой вопрос закрывайте тему.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Смотри на 25 строку, тут отправили