Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 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
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
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.
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 (IMG:http://forum.php.pl/style_emoticons/default/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.
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ć (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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.
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.
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ł (IMG:http://forum.php.pl/style_emoticons/default/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.
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 17:41