Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomoc w dość dużym programie
Forum PHP.pl > Forum > PHP
neon88prv@gmail.com
Witam
Muszę zrobić pewne zadanie ale mam problemy potrzebuję pomocy. Zadanie wygląda tak:

Poniżej zamieściłem szkielet programu. Posiłkując się nim należy rozbudować program student.
Program musi czytać dane z dysku z pliku .csv.
Na koniec program musi zapisywać dane do pliku .csv.
Operacje przeglądania, poprawiania, kasowania, wprowadzania nowych danych muszą być realizowane w tablicy.



Mam kilka szkieletów ale mam problemy z ich rozbudowaniem.

Szkielet pliku startProgram.php


  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Główne menu programu'); // wyświetlenie arkuusza stylii i nagłówka głównego menu
  4. startForm('control.php'); // początek formularza
  5.                           // control.php - plik wykonywany po naciśnięciu dowolnego przycisku
  6. menu();                   // wyświetlenie głównego menu programu                  
  7. endForm();                // koniec formularza
  8. ?>




Szkielet pliku displayData.php


  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Poprawianie danych studenta');
  4. $label=array('imię','nazwisko','index','grupa','semestr');
  5. $data=array('Jan','Kowalski','32444','A01','3');
  6. startForm('control.php');
  7. displayForm($label,$data,false);
  8. buttonBarDisplay();
  9. endForm();
  10. ?>




Szkielet pliku editData.php

  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Przeglądanie danych studenta');
  4. $label=array('imię','nazwisko','index','grupa','semestr');
  5. $data=array('Jan','Kowalski','32444','A01','3');
  6. startForm('control.php');
  7. displayForm($label,$data,true);
  8. buttonBarEdit();
  9. endForm();
  10. ?>



Szkielet pliku insertData.php


  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Wprowadzanie danych studenta');
  4. $label=array('imię','nazwisko','index','grupa','semestr');
  5. $data=array('','','','','');
  6. startForm('control.php');
  7. displayForm($label,$data,true);
  8. buttonBarInsert();
  9. endForm();
  10. ?>




Szkielet pliku delData.php

  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Kasowanie danych studenta');
  4. $label=array('imię','nazwisko','index','grupa','semestr');
  5. $data=array('Jan','Kowalski','32444','A01','3');
  6. startForm('control.php');
  7. displayForm($label,$data,false);
  8. buttonBarDel();
  9. endForm();
  10. ?>




Szkielet pliku exitProgram.php


  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Koniec pracy programu');
  4. startForm('control.php');
  5. buttonBarExit();
  6. endForm();
  7. ?>



Szkielet pliku control.php

  1. <?php
  2. include_once('functionProgram.inc');
  3. if (isset($_POST['menu'])) // naciśnięcie przycisku na ekranie: główne menu programu
  4. {
  5.    switch ($_POST['menu'])
  6.    {
  7.    case "display":
  8.        header("Location: displayData.php");
  9.        break;
  10.    case "edit":
  11.        header("Location: editData.php");
  12.        break;
  13.    case "delete":
  14.        header("Location: delData.php");
  15.        break;
  16.    case "insert":
  17.        header("Location: insertData.php");
  18.        break;
  19.    case "exit":
  20.        header("Location: exitProgram.php");
  21.        break;
  22.    default:
  23.        echo "MESSAGE: błąd operacji<br/>";
  24.        break;
  25.    } // end switch
  26. }else if(isset($_POST['display'])) // nacisnięcie przycisku na ekranie: Poprawianie danych studenta
  27. {
  28.    switch ($_POST['display'])
  29.    {
  30.    case "first":
  31.        header("Location: displayData.php");
  32.        break;
  33.    case "next":
  34.        header("Location: displayData.php");
  35.        break;
  36.    case "prev":
  37.        header("Location: displayData.php");
  38.        break;
  39.    case "last":
  40.        header("Location: displayData.php");
  41.        break;
  42.    case "menu":
  43.        header("Location: startProgram.php");
  44.        break;
  45.    default:
  46.        echo "MESSAGE: błąd operacji<br/>";
  47.        break;
  48.    } // end switch    
  49. }else if(isset($_POST['edit'])) // naciśnięcie przycisku na ekranie: Przeglądanie danych studenta
  50. {
  51.    switch ($_POST['edit'])
  52.    {
  53.    case "first":
  54.        header("Location: editData.php");
  55.        break;
  56.    case "next":
  57.        header("Location: editData.php");
  58.        break;
  59.    case "prev":
  60.        header("Location: editData.php");
  61.        break;
  62.    case "last":
  63.        header("Location: editData.php");
  64.        break;
  65.    case "menu":
  66.        header("Location: startProgram.php");
  67.        break;
  68.    default:
  69.        echo "MESSAGE: błąd operacji<br/>";
  70.        break;
  71.    } // end switch        
  72. }else if(isset($_POST['insert'])) // naciśnięcie przycisku na ekranie: Wprowadzanie danych studenta
  73. {
  74.    switch ($_POST['insert'])
  75.    {
  76.    case "insert":
  77.        header("Location: insertData.php");
  78.        break;
  79.    case "menu":
  80.        header("Location: startProgram.php");
  81.        break;
  82.    default:
  83.        echo "MESSAGE: błąd operacji<br/>";
  84.        break;
  85.    } // end switch            
  86. }else if(isset($_POST['delete'])) // naciśnięcie przycisku na ekranie: Kasowanie danych studenta
  87. {
  88.    switch ($_POST['delete'])
  89.    {
  90.    case "first":
  91.        header("Location: delData.php");
  92.        break;
  93.    case "next":
  94.        header("Location: delData.php");
  95.        break;
  96.    case "prev":
  97.        header("Location: delData.php");
  98.        break;
  99.    case "last":
  100.        header("Location: delData.php");
  101.        break;
  102.    case "delete":
  103.        header("Location: delData.php");
  104.        break;
  105.    case "menu":
  106.        header("Location: startProgram.php");
  107.        break;
  108.    default:
  109.        echo "MESSAGE: błąd operacji<br/>";
  110.        break;
  111.    } // end switch            
  112. }else if(isset($_POST['exit'])) // naciśnięcie przycisku na ekranie: Koniec pracy programu
  113. {
  114.    switch ($_POST['exit'])
  115.    {
  116.    case "exit":
  117.        header("Location: startProgram.php");
  118.        break;
  119.    default:
  120.        echo "MESSAGE: błąd operacji<br/>";
  121.        break;
  122.    } // end switch    
  123. }
  124. ?>




Szkielet pliku functionProgram.inc

  1. <?php
  2. function startForm($akcja)
  3. {
  4.    echo "<form  method = 'post' action = $akcja>";
  5. }
  6. function displayForm($label=array(),$data=array(),$edit)
  7. {
  8.    $range=count($label);
  9.    for ($i=0;$i<$range;$i++)
  10.    {
  11.        if (!$edit)
  12.        {echo "<input type='text' name='dane[]' value='$data[$i]' disabled='disabled'
  13.        style='width:100;font-size:15px'/>";}else
  14.        {echo "<input type='text' name='dane[]' value='$data[$i]' style='width:100;font-size:15px'/>";}
  15.        echo " $label[$i]<br/>";
  16.        echo "<input type='hidden' name='etykieta[]'value='$label[$i]'>";
  17.    }
  18.    echo "<br/><br/>";
  19. }// *** end displayForm
  20. function endForm()
  21. {
  22.    echo "</form>";
  23. }
  24. function displayStyles($header)
  25. {
  26. ?>
  27. <style type='text/css'>
  28.      body {background-color:'#FFEFD5';}
  29.      input {width:'60';font-size:'15px';}
  30.      .nagl {background-color:'PeachPuff';}
  31. </style>    
  32. <?php
  33.    echo "<h3>$header</h3>";
  34. }
  35. function submit($text,$action)
  36. {
  37.    echo "<input type='submit' name='$action' value='$text'> ";
  38. }
  39. function menu()
  40. {
  41.    submit('display','menu');echo '<br/><br/>';
  42.    submit('edit','menu');echo '<br/><br/>';
  43.    submit('insert','menu');echo '<br/><br/>';
  44.    submit('delete','menu');echo '<br/><br/>';
  45.    submit('exit','menu');echo '<br/><br/>';
  46. }
  47. function buttonBarDisplay()
  48. {
  49.    submit('first','display');
  50.    submit('next','display');
  51.    submit('prev','display');
  52.    submit('last','display');
  53.    submit('menu','display');
  54. }
  55. function buttonBarEdit()
  56. {
  57.    submit('first','edit');
  58.    submit('next','edit');
  59.    submit('prev','edit');
  60.    submit('last','edit');
  61.    submit('menu','edit');
  62. }
  63. function buttonBarDel()
  64. {
  65.    submit('first','delete');
  66.    submit('next','delete');
  67.    submit('prev','delete');
  68.    submit('last','delete');
  69.    submit('delete','delete');
  70.    submit('menu','delete');    
  71. }
  72. function buttonBarInsert()
  73. {
  74.    submit('insert','insert');
  75.    submit('menu','insert');
  76. }
  77. function buttonBarExit()
  78. {
  79.    submit('exit','exit');
  80. }
  81. ?>


Nie proszę Was o zrobienie tego za mnie ale o pomoc w tym programie bo z php idzie mi ciężko.
abcms
Tzn nie do końca wiem, czego oczekujesz, chyba prościej byłoby gdybyś zwrócił się z konkretnymi problemami, których nie potrafisz rozwiązać...

Pozdrawiam
neon88prv@gmail.com
ok może rzeczywiście nie napisałem o co chodzi sorki.

Więc na początek:
Mam problem po odpaleniu programy widzę coś takiego:

Warning: Cannot modify header information - headers already sent by (output started at /home/blueh18/public_html/szkola/control.php:1) in /home/blueh18/public_html/szkola/control.php on line 8
Spawnm
było miliony razy na forum ... poszukaj .
ustaw kodowanie plików na utf-8 bez bom
neon88prv@gmail.com
próbowałem nic nie dało dodawałem też
ob_start();
ob_end_flush();

i też nic
kajzur
To może masz po prostu coś przed session?
rzymek01
czy na pewno to nie wysyła danych do przeglądarki?
Kod
function displayStyles($header)
{
?>
<style type='text/css'>
     body {background-color:'#FFEFD5';}
     input {width:'60';font-size:'15px';}
     .nagl {background-color:'PeachPuff';}
</style>    
<?php
   echo "<h3>$header</h3>";
}


// nie smile.gif ale masz pewno jakieś entery, spacje lub znaki BOM na początku pliku

@kajzur, o jakie session ci chodzi? :]
neon88prv@gmail.com
nie mam pojęcia co jest nie tak.

Y sorki ale nie podałem dokładniejszych danych.

Plik startProgram.php odpala się

po wciśnięciu którego kolwiek z przycisków pokazuje się właśnie ten błąd. Tak jakby w pliku control.php był błąd.
Zależnie od wciśniętego przycisku końcówka błędu ...on line X zmienia się.

Sprawdzałem w Dreamveawer i PhpDesigner i nie ma ani żadnych znaków ani spacji czy enterów na początku a pliki zapisałem jeszcze raz bez dom'a
rzymek01
wyświetlasz dane z jakiejś funkcji, nawet masz komentarz:

  1. <?php
  2. include_once('functionProgram.inc');
  3. displayStyles('Główne menu programu'); // wyświetlenie arkuusza stylii i nagłówka głównego menu
  4. startForm('control.php'); // początek formularza
  5. ?>


więc musisz dać buforowanie, na samym początku plików (dokładniej: przed wyświetleniem jakichkolwiek danych)
a na samym końcu wyświetlić zawartośćz bufora
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.