Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> echo() a znaczniki html np <td>
milas_86
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


Witam. Mam pytanie o funkcje echo. Jak jak zapisać znacznik html np <td> w funkcji echo() żeby strona sie sie validowała? chodzi mi konkretnie o to by zczytać rekordy z bazy i wstawić je do tabeli. Moje (działające) rozwiązanie jest takie:

  1. <?php
  2. while($row = mysql_fetch_array($res, mysql_both)){  
  3. echo('<tr><td>'.$row[0].'</td><td>'.$row[1].'</td><td>'.$row[2].'</td>')
  4. }
  5. ?>


To rozwiązanie sie nie validuje... prosze o pomoc! Jak to ineczej rozwiązać?

Ten post edytował batman 6.06.2008, 11:40:01
Powód edycji: dodałem bbcode
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Jak wstawiasz kod, to użyj odpowiedniego bbcode, by post był bardziej czytelny. Tym razem dodałem to za Ciebie, ale następnym razem pamiętaj, by zrobić to samemu.

A co do Twojego problemu:
  1. <?php
  2. while($row = mysql_fetch_array($res, mysql_both)){
  3. echo '<tr>';
  4. echo '<td>'.$row[0].'</td>';
  5. echo '<td>'.$row[1].'</td>';
  6. echo '<td>'.$row[2].'</td>';
  7. echo '</tr>';
  8. }
  9. ?>
Sądzę, że to rozwiąże Twój problem. Zapomniałeś o zamknięciu znacznika tr.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
milas_86
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


Sorki to jest mój pierwszy post smile.gif

Twój sposób działa ale strona nadal sie nie validuje...
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




A co się nie waliduje. Może błąd jest w innym miejscu?
Wklej to co Ci wywala walidator.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
milas_86
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


Line 56, Column 12: character data is not allowed here. echo '<tr>';

You have used character data somewhere it is not permitted to appear. Mistakes that can cause this error include:

  • putting text directly in the body of the document without wrapping it in a container element (such as a <p>aragraph</p>), or
  • forgetting to quote an attribute value (where characters such as "%" and "/" are common, but cannot appear without surrounding quotes), or
  • using XHTML-style self-closing tags (such as <meta ... />) in HTML 4.01 or earlier. To fix, remove the extra slash ('/') character. For more information about the reasons for this, see Empty elements in SGML, HTML, XML, and XHTML.
Go to the top of the page
+Quote Post
Shili
post
Post #6





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


A masz gdzieś znaczniki table?
Go to the top of the page
+Quote Post
milas_86
post
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


tak mam znacznik <table>

np polecenie:

echo '<h1> PHP </h1>';

też sie nie waliduje... A może jakiś printf to zrobić?! ale nie wiem jak zrobić żeby printf wstawiał do tabeli
Go to the top of the page
+Quote Post
Shili
post
Post #8





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Wklej cały kod wygenerowany przez php. Tak będzie najprościej i nie będziemy musieli zgadywać winksmiley.jpg
Go to the top of the page
+Quote Post
milas_86
post
Post #9





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


CODE
<?php
session_start();
if (!isset($_SESSION["login"]))
{

header("Location: login.php");

}
?>
<!-- saved from url=(0022)http://internet.e-mail -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Aplikacja</title>
<style type="text/css">
body {background-color: green;}
table.baza{ border-style: double;}
.bold {font-weight: bold; color: orange;}
.orange {color: orange;}
a { font-size: 20px; color: black; text-decoration: none;}
a:hover { font-size: 20px; color: black; text-decoration: underline;}
h3 {font-size: 16px; color: orange;}

</style>
</head>
<body>
<h2>Informacje o pracownikach</h2>

<p>Jesli chcesz dodac pracownika do bazy kliknij<a href="pi.php"><span class="bold"> DODAJ</span></a></p>

<p>Jesli chcesz usunac pracownika do bazy kliknij<a href="delete.php"><span class="bold"> USUN</span></a></p>

<p>Jesli chcesz sie wylogowac z bazy kliknij<a href="logout.php"><span class="bold"> WYLOGUJ</span></a></p>

<table class="baza" border="1">

<tr>
<td style="width:50px;">ID</td>
<td style="width:200px;">Nazwisko i Imie</td>
<td style="width:70px;">Zarobki</td>
<td style="width:50px;">Wiek</td>
<?php
$sql = mysql_connect("localhost", "pi", "wuesenhaide");
mysql_select_db("webdb");
$res = mysql_query("select * from pracownicy order by id");
$ile = mysql_num_rows($res);
echo "ilosc pracownikow w bazie: ";
echo $ile;


echo("\n");

while($row = mysql_fetch_array($res, MYSQL_BOTH))
{
echo ('<tr><td>'.$row[0].'</td><td>'.$row[1].' '.$row[2].'</td><td>'.$row[3].'</td><td>'.$row[4].'</td></tr>') ;
echo("\n");

}

mysql_close($sql);
?>
</table>
</body>
</html>


Ten post edytował milas_86 6.06.2008, 12:13:52
Go to the top of the page
+Quote Post
Shili
post
Post #10





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Prosiłam o kod html, który pokazuje się jak wybierasz w przeglądarce pokaż źródło. Na razie nie bardzo mogę sama odpalić apacha i sprawdzić, także prośbę ponawiam winksmiley.jpg
Go to the top of the page
+Quote Post
batman
post
Post #11





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Nie masz znacznika tr po
  1. <td style="width:50px;">Wiek</td>


edit
A dokładniej znacznika zamykającego.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
milas_86
post
Post #12





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


  1. <!-- saved from url=(0022)http://internet.e-mail -->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  3. "http://www.w3.org/TR/html4/strict.dtd">
  4. <title>Aplikacja</title>
  5. <style type="text/css">
  6. body {background-color: green;}
  7. table.baza{ border-style: double;}
  8. .bold {font-weight: bold; color: orange;}
  9. .orange {color: orange;}
  10. a { font-size: 20px; color: black; text-decoration: none;}
  11. a:hover { font-size: 20px; color: black; text-decoration: underline;}
  12. h3 {font-size: 16px; color: orange;}
  13.  
  14. </style>
  15. </head>
  16. <h2>Informacje o pracownikach</h2>
  17.  
  18. <p>Jesli chcesz dodac pracownika do bazy kliknij<a href="pi.php"><span class="bold"> DODAJ</span></a></p>
  19. <p>Jesli chcesz usunac pracownika do bazy kliknij<a href="delete.php"><span class="bold"> USUN</span></a></p>
  20.  
  21. <p>Jesli chcesz sie wylogowac z bazy kliknij<a href="logout.php"><span class="bold"> WYLOGUJ</span></a></p>
  22.  
  23. <table class="baza" border="1">
  24.  
  25. <tr>
  26. <td style="width:50px;">ID</td>
  27. <td style="width:200px;">Nazwisko i Imie</td>
  28. <td style="width:70px;">Zarobki</td>
  29. <td style="width:50px;">Wiek</td>
  30. ilosc pracownikow w bazie: 6
  31. <tr><td>1</td><td>Nowak Jan</td><td>1500</td><td>25</td></tr>
  32. <tr><td>2</td><td>Kowal Maria</td><td>2000</td><td>30</td></tr>
  33. <tr><td>3</td><td>Brodka Monika</td><td>3500</td><td>21</td></tr>
  34. <tr><td>4</td><td>Pocztowy Jerzy</td><td>2300.5</td><td>34</td></tr>
  35. <tr><td>5</td><td>Polka Wiktoria</td><td>10000</td><td>31</td></tr>
  36. <tr><td>6</td><td>Wons Wons</td><td>20</td><td>20</td></tr>
  37. </tr>
  38. </body>
  39. </html>
Powód edycji: poprawiłem bbcode
Go to the top of the page
+Quote Post
batman
post
Post #13





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W moim poprzednim poście masz info dlaczego jest błąd walidacji.
Do tego dołożę jeszcze jedną rzecz. Wywal te spany z klasą bold i użyj znacznika b, a kolor dodaj do znacznika a.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
milas_86
post
Post #14





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


że nie ma znacznika tr to jest prawda ale jak go dadam to walidacja pokazuje że coś jest z nim nie tak. czy on jest czy nie to strona działa. ale nie w tym rzecz... chodzi mi o funkcje echo w pętli while. tam wywala bład!

polecenie echo ('<td>'); działa ale sie nie waliduje. chdzi mi o taki sposób zapisania tego że by walidator sie nie jarała :]
Go to the top of the page
+Quote Post
Shili
post
Post #15





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Bo jeszcze zamiast
  1. <tr><td>6</td><td>Wons Wons</td><td>20</td><td>20</td></tr>
  2. </tr>

powinno być
  1. <tr><td>6</td><td>Wons Wons</td><td>20</td><td>20</td></tr>
Go to the top of the page
+Quote Post
milas_86
post
Post #16





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


Nie wczuwajcie sie w kod strony :] znajdzie mi taki sposób wyświetlania sformatowanego tekstu w php żeby sie walidował smile.gif

tak jak wczesniej pisałem polecenie

echo ('<h1>PHP</h1>');
echo '<h1>PHP</h1>';
echo "<h1>PHP</h1>";
echo ("<h1>PHP</h1>");

działają ale sie nie walidują! potrzbuje iny sposób zapisania tego
Go to the top of the page
+Quote Post
batman
post
Post #17





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




1. To jak zapiszesz echo nie ma żadnego wpływu na walidację kodu HTML.
2. Zamykający znacznik tr jest potrzebny.
3. Otwierasz tabelę, wstawiasz kolumny, a potem robisz echo $ile;

Popraw to i zobaczymy co na to walidator.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
milas_86
post
Post #18





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.06.2008

Ostrzeżenie: (0%)
-----


Kod
<?php            
if (isset($_GET["login"]))
{
if ($_GET["login"]=="lukasz"&&$_GET["haslo"]=="mili")
{
session_start();
$_SESSION["login"]=$_GET["login"];
header("Location:list.php");
}else{
    echo('<h1>Login lub haslo jest niepoprawne!</h1>');
}
}
?>
<!-- saved from url=(0022)http://internet.e-mail -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>

<title>Aplikacja</title>
</head>
<body style="background-color:green;">
<h2>Logowanie</h2>

<form method="GET" action="login.php">
      <p>Login:    
    <input type="text" name="login"><br><br>
    Haslo:    
    <input type="password" name ="haslo"><br><br>
    <input type="submit" value="Zaloguj"></p>
    </form>  

</body>
</html>


dlaczego wywala mi bład przy

echo('<h1>Login lub haslo jest niepoprawne!</h1>');

ta sama historia...
Go to the top of the page
+Quote Post
Shili
post
Post #19





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


O kurcze, tego nie zauważyłam.

h1 musi być w elemencie body, a Ty je wciskasz przed html.
Go to the top of the page
+Quote Post
revyag
post
Post #20





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


@milas_86, odnoszę wrażenie że próbujesz przepuszczać przez validator kod php co oczywiście jest kiepskim pomysłem bo w jaki sposób validator wskazuje Ci że masz błąd przy "echo" ? Waliduj to co wypluwa serwer www a nie kod który stronę generuje.


--------------------
-------------

------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 22:54