php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.04.2006, 17:05  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard Gästebuch Prob

HI
Ich habe ein Prob mit meinen Gästebuch. Es ist nähmlich der fall das ich da mit IF frage wann der sende button gedrückt wir aber es passiert nix weil das gästebuch auch nicht angezeigt wir. kann mir wer sagen was ich falsch gemacht habe?

Code:
<script languag="JavaScript">
function addsmilie(smilie)
{
document.smilieink.text.value=document.smilieink.text.value+' '+smilie;
document.smilieink.text.focus();
}
</script>

<?
//Eintellungen:
 $gbpfad = "gbextras";// einstellung des Gästebuch Pfades Bsp: (DE/Gaestebuch)
                 // Wichtig: Den / macht er selber vor dem letzten Namen

  include("connect.php");
  include("$gbpfad/smilies.php");
  include("$gbpfad/short_words.php");

if (Senden)
{
 $timestamp = time(d);
  $datum = date("d.m.Y",$timestamp);
  $uhrzeit = date("H:i",$timestamp);

// Bei PHPmyadmin die Tabelle gastbook mit 7 Feldern erstellen.
//  1. ID 2.uhrzeit 3.datum 4.name 5.email 6.web_adresse 7.text


  $name = $_GET["name"];
  $email = $_GET["email"];
  $text = $_GET["text"];
  $web_adresse = $_GET["web_adresse"];


  $eintrag = "INSERT INTO gastbook (uhrzeit, datum, name, email, web_adresse, text)
   VALUES ('$uhrzeit', '$datum', '$name', '$email', '$web_adresse', '$text')";
   $eintrag = mysql_query($eintrag);

}
else
{

echo"
<form name=smilieink>
<table>
<font face=arial size=2>Name: </font><input name=name>


<font face=arial size=2>Email: </font> <input name=email >


<font face=arial size=2>Web Adresse: </font> <input name=web_adresse><font face=arial size=1>V:0.20</font>
<table border=0>
<td><font face=arial size=2>Text:</font> <textarea cols=30 rows=7 wrap=virtual name=text></textarea>
</td><td>";
include("$gbpfad/smilieink.php");
echo "</td></table>




<input type=submit value=Senden></p>
</table>";

// Anzeige der Daten==>

$seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
   {
   $seite = 1;
   }

//Einträge pro Seite: Hier 15 pro Seite
$eintraege_pro_seite = 6;

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle heißt hier einfach: Tabelle
$abfrage = "SELECT uhrzeit,datum,name,email,web_adresse,text FROM gastbook ORDER BY ID desc LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);

while ($data = mysql_fetch_array ($ergebnis, MYSQL_NUM))

    {
   echo $data->id."
"; // Hier die Ausgabe der Einträge

$TextOhneHTML = htmlspecialchars($data[5], ENT_QUOTES);
$TextMitSmilies = smileize($TextOhneHTML);

echo "<table width=300 border=1>



<tr>
<td width=150>$data[0],$data[1]</td>
<td width=150>Email: <a href=mailto:$data[3]>$data[3]</a></td>
</tr>
<tr>
<td width=150>Name: $data[2]</td>
<td width=150>Web adresse:<a href=http://$data[4]>$data[4]</a></td>
</tr>
</table>
<table border=1 width=300><td>Text:
<hr color=#000000>$TextMitSmilies</td></table>
</p>";
}


//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5


//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, bloß das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

$result = mysql_query("SELECT id FROM gastbook");
$menge = mysql_num_rows($result);

//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
echo "<div align=\"\">";
echo "Seite: ";


//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   if($seite == $b)
      {
      echo "  $b ";
      }

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
   else
      {
      echo "  <a href=\"?seite=$b\">$b</a> ";
      }


   }
echo "</div>";

echo "</form>";
}
?>
mokus ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.04.2006, 17:18  
Erfahrener Benutzer
 
Registriert seit: 11.07.2004
Beiträge: 269
function
function eine Nachricht über ICQ schicken
Standard

hi zum formular nimm < form method=post...
button gib dem kind nen namen <input type="submit" name="button_senden"...
dann in der if abfrage: if(isset($_POST['button_senden'))...
__________________
Es ist ein großer Trost, andere dort scheitern zu sehen, wo man selbst gescheitert ist. (William Somerset Maugham)
function ist offline  
Alt 17.04.2006, 17:47  
Gast
 
Beiträge: n/a
Standard

Baue mal die Zeile
PHP-Code:
error_reporting(E_ALL); 
an den Anfang des Scriptes ein. Außerdem halte ich es nicht gerade für sehr geschickt, die Methode Get zu nehmen, Post dürfte hier wohl die eindeutig bessere Wahl sein.

Die Daten einfach so in die DB zu hauen, ist auch nicht das gelbe vom Ei. htmlentities und mysql_real_string wären wohl angebracht.

Und "gastbook" finde ich drollig. Ich dachte immer, dass es gaestebuch oder guestbook heißt.

Gruß
phpfan
 
Alt 17.04.2006, 18:30  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard

so ich habe es jetzt alles geändert nur jetzt kommt die fehler meldung

Notice: Undefined index: seite in /usr/export/www/vhosts/funnetwork/hosting/mokus/Gaestebuch/Gaestebucheingabe.php on line 63

und

Notice: Use of undefined constant d - assumed 'd' in /usr/export/www/vhosts/funnetwork/hosting/mokus/Gaestebuch/Gaestebucheingabe.php on line 22

was hat das zu bedeuten ?


Hier ist nochmal der Code:
Code:
<script languag="JavaScript">
function addsmilie(smilie)
{
document.smilieink.text.value=document.smilieink.text.value+' '+smilie;
document.smilieink.text.focus();
}
</script>

<?
error_reporting(E_ALL);

//Eintellungen:
 $gbpfad = "gbextras";// einstellung des Gästebuch Pfades Bsp: (DE/Gaestebuch)
                 // Wichtig: Den / macht er selber vor dem letzten Namen

  include("connect.php");
  include("$gbpfad/smilies.php");
  include("$gbpfad/short_words.php");

if(isset($_POST['button_senden']))
{
 $timestamp = time(d);
  $datum = date("d.m.Y",$timestamp);
  $uhrzeit = date("H:i",$timestamp);

// Bei PHPmyadmin die Tabelle gastbook mit 7 Feldern erstellen.
//  1. ID 2.uhrzeit 3.datum 4.name 5.email 6.web_adresse 7.text


  $name = $_POST["name"];
  $email = $_POST["email"];
  $text = $_POST["text"];
  $web_adresse = $_POST["web_adresse"];


  $eintrag = "INSERT INTO gastbook (uhrzeit, datum, name, email, web_adresse, text)
   VALUES ('$uhrzeit', '$datum', '$name', '$email', '$web_adresse', '$text')";
   $eintrag = mysql_query($eintrag);

}
else
{

echo"
<form method=POST name=button_senden>
<table>
<font face=arial size=2>Name: </font><input name=name>


<font face=arial size=2>Email: </font> <input name=email >


<font face=arial size=2>Web Adresse: </font> <input name=web_adresse><font face=arial size=1>V:0.20</font>
<table border=0>
<td><font face=arial size=2>Text:</font> <textarea cols=30 rows=7 wrap=virtual name=text></textarea>
</td><td>";
include("$gbpfad/smilieink.php");
echo "</td></table>




<input type=submit value=Senden></p>
</table>";

// Anzeige der Daten==>

$seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
   {
   $seite = 1;
   }

//Einträge pro Seite: Hier 15 pro Seite
$eintraege_pro_seite = 6;

//Ausrechen welche Spalte man zuerst ausgeben muss:

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;


//Tabelle Abfragen
//Tabelle heißt hier einfach: Tabelle
$abfrage = "SELECT uhrzeit,datum,name,email,web_adresse,text FROM gastbook ORDER BY ID desc LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);

while ($data = mysql_fetch_array ($ergebnis, MYSQL_NUM))

    {
   echo $data->id."
"; // Hier die Ausgabe der Einträge

$TextOhneHTML = htmlspecialchars($data[5], ENT_QUOTES);
$TextMitSmilies = smileize($TextOhneHTML);

echo "<table width=300 border=1>



<tr>
<td width=150>$data[0],$data[1]</td>
<td width=150>Email: <a href=mailto:$data[3]>$data[3]</a></td>
</tr>
<tr>
<td width=150>Name: $data[2]</td>
<td width=150>Web adresse:<a href=http://$data[4]>$data[4]</a></td>
</tr>
</table>
<table border=1 width=300><td>Text:
<hr color=#000000>$TextMitSmilies</td></table>
</p>";
}


//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5


//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, bloß das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

$result = mysql_query("SELECT id FROM gastbook");
$menge = mysql_num_rows($result);

//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
echo "<div align=\"\">";
echo "Seite: ";


//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   if($seite == $b)
      {
      echo "  $b ";
      }

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
   else
      {
      echo "  <a href=\"?seite=$b\">$b</a> ";
      }


   }
echo "</div>";

echo "</form>";
}
?>
mokus ist offline  
Alt 17.04.2006, 19:37  
Gast
 
Beiträge: n/a
Standard

Notice: Use of undefined constant d - assumed 'd' in /usr/export/www/vhosts/funnetwork/hosting/mokus/Gaestebuch/Gaestebucheingabe.php on line 22
$timestamp = time(d);
d ist keine Konstante

Notice: Undefined index: seite in /usr/export/www/vhosts/funnetwork/hosting/mokus/Gaestebuch/Gaestebucheingabe.php on line 63
$seite = $_GET["seite"];
$_GET['seite'] gibt es nicht.

Gruß
phpfan
 
Alt 17.04.2006, 21:07  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard

danke nochmal an alle die mir geholfen habe es geht jetzt ohne Probleme
mokus ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Besucherzähler abfrage Prob mokus PHP Tipps 2006 20 15.05.2006 20:56
Datenbank senden Prob mokus PHP Tipps 2006 16 10.05.2006 20:56
Newsletter Prob mokus PHP Tipps 2006 1 17.04.2006 16:23
timestamp prob lindner PHP Tipps 2005-2 9 04.08.2005 18:50
Kleines Prob mit PHP PHP Tipps 2005 5 20.05.2005 19:38
JS Frage und HTML li prob HTML, Usability und Barrierefreiheit 3 05.05.2005 10:16
css layout prob imported_dex HTML, Usability und Barrierefreiheit 4 19.04.2005 19:19
Cookie prob? Broadcast PHP Tipps 2004-2 1 05.12.2004 21:49
prob bei paginierung PHP Tipps 2004 2 26.08.2004 21:31
Prob mit "if" PHP Tipps 2004 7 10.08.2004 19:45
[Erledigt] mysql prob... (Errcode: 13) Datenbanken 7 27.07.2004 19:33
anzeige prob PHP Tipps 2004 2 11.07.2004 13:03
Bild größe hat prob mit umbenennung. JEGO PHP Tipps 2004 1 08.07.2004 16:30
noch ein prob b++ PHP Tipps 2004 2 20.06.2004 20:37
leichte Prob mit header JEGO PHP Tipps 2004 10 11.06.2004 13:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.