Internetseite

  • #1
T

The Choosen One

Mitglied
Themenersteller
Dabei seit
22.04.2009
Beiträge
20
Reaktionspunkte
0
Hallo,

wie kann ich mir eine Internet seite machen, in der z.B ein Feld und man dort was einegebn kann und des dann gespecihert wird und für mich lesbar ist.

greetz standei

[br][blue]*PCDSven: Verschoben aus "Server-Betriebssysteme und -Anwendungen"*[/blue]
 
  • #2
Das kannst mit einem normalen HTML Formular machen und dann mit PHP in einer Datei oder auf MySQL speichern.

So kann das HTML Script aussehen :
Code:
<html>

<h1>
 <p align=center><font color=#00FF00>News hinzufuegen?</font></p>
</h1><br>

<form action=news.php Method=post>

    <p align=center><font color=#00FF00><b>Titel :</b></font></p>
      <p align=center><input name=name size=40></p>

    <p align=center><font color=#00FF00><b>Inhalt:</b></font></p>
      <p align=center><textarea name=inhalt cols=40
       rows=12 wrap=physical></textarea></p>
  <p align=center><input type=submit value=Absenden></p>
 </form>

  </body>
 </html>

So würde der Code zum speichern bei MySQL aussehen dann.

Code:
<?php

$link = mysql_connect(localhost,*Username*,*Passwort*) or die (Keine Verbindung moeglich);

mysql_select_db(*Datenbank Name*) or die (Die Datenbank existiert nicht);

$name = $_POST[name];

$inhalt = $_POST[inhalt];

$datum = time();

$aktiv = 1; //1: Einträge werden aktiviert gespeichert

//Wurden die benötigten Felder ausgefüllt?

if($name ==  OR $inhalt == )

	{

  echo Bitte die Felder \Name\ und \Inhalt\ ausfüllen<br> <a href=\*zur homepage oder so*\>Zurück</a>;

  exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert

  }



$eintrag = INSERT INTO *Tabellenname* (datum, name, inhalt, aktiv) VALUES ('$datum',->$name',->$inhalt',->$aktiv');

$eintragen = mysql_query($eintrag);



//Wurde der Eintrag erfolgreich gespeichert?

if($eintragen == true)

  {

  echo Beitrag erfolgreich gespeichert. ;

  }

else

  {

  echo Fehler beim Speichern;

  }

echo <br> <a href=\weiter.html\ target=\links\>Zur�ck</a>;

?>

Der Text in * ist nur als Platzhalter bzw. Bezeichnung, da mußt du dann die richitgen Daten eintragen.

Und dann mußt du die Daten ja auch noch abfragen, das machst du dann hiermit :

Code:
<?php

$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;

  }

//Verbindung zu Datenbank aufbauen

$link = mysql_connect(localhost,*Username*,*Passwort*) or die (Keine Verbindung moeglich);

mysql_select_db(Datenbank Name) or die (Die Datenbank existiert nicht);

//Eintr�ge pro Seite: Hier 15 pro Seite

$eintraege_pro_seite = 15;

//Ausrechen welche Spalte man zuerst ausgeben muss:

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

//Tabelle Abfragen

//Tabelle heisst hier einfach: Tabelle

$abfrage = SELECT * FROM *-tabellenname-* WHERE aktiv =->1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite;

$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))

	{

	$inhalt = $row->inhalt;

	$inhalt = htmlentities($inhalt);

	$inhalt = nl2br($inhalt);

	$datum = date(d.m.Y H:i, $row->datum);



	//Der Besucher hat keine E-Mail Adresse angegeben:

	if($row->email == )

	  {

	  $name = <b>$row->name</b>;

	  }

	else

	  {

	  //Der User hat eine Email Adresse angegeben:

	  $name = <a href=\mailto:$row->email\>$row->name</a>;

	  }



	echo 

  <table align=\center\ border=\0\ cellspacing=\0\ cellpadding=\5\ bgcolor=\#000000\ width=\80%\>

  <tr bgcolor=\#ffffff\>

  <td>

  <b>$name</b> am $datum

  </td>

  </tr>

  <tr bgcolor=\#ffffff\>

  <td>

<b>
  $inhalt
</b>

  </td>

  </tr>

  </table><br> ;

  }

//Jetzt kommt das Inhaltsverzeichnis,

//sprich dort steht jetzt: Seite: 1 2 3 4 5

//Wieviele Eintraege gibt es ueberhaupt

//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 Blaetterfunktion nicht richtig,

//und hier kann nur 1 Feld abgefragt werden, also id



$result = mysql_query(SELECT id FROM -*tabellenname-* WHERE aktiv =->1');

$menge = mysql_num_rows($result);



//Errechnen wieviele Seiten es geben wird

$wieviel_seiten = $menge / $eintraege_pro_seite;



//Ausgabe der Seitenlinks:

echo <div align=\center\>;

echo <font color=\yellow\><b>Seite:</b></font> ;





//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  <font color=\yellow\><b>$b</b></font> ;

	 }



  //Aus dieser Seite ist der User nicht, also einen Link ausgeben

  else

	 {

	 echo  <a href=\?seite=$b\>$b</a> ;

	 }


  }

echo </div>;

?>

Wie gesagt, das sind nur Beipsiele wie du es machen könntest !

Tabellenname ist auch nur Platzhalter, da muß dann der Name deiner Tabelle bei MySQL rein.

Gruß Rap
 
  • #3
Wow ich bin erstaunt :-D

Vielen vielen Dank.

Da ich totaler Anfänger bin, hätte ich noch ein paar Fragen:

Ich hab mir jetzt so ein kostenlosen Webspace geholt auf ohost.de

Hab Ftp und MySql aktiviert. Wo muss ich den Code jetzt reinschreiben und wo kann ich die gespeicherten Daten dann nachlesen ???
 
  • #4
Also das was in HTML geschrieben ist kannst du mit HTML Editoren wie z.B. Note Tab Pro schreiben, sowas wie PHP also zum speichern und auslesen von der MySql Datenbank kannst du ganz normal mit dem Windows Notepad sprich einem ganz normalen Texteditor schreiben, du mußt dann nur beim speichern darauf achten das du unten dann einstellt bei Dateien auf alle Dateien und dann hinter deinem PHP Script ein .php schreibst, sonst wird es nicht als PHP abgespeichert.

Die Codes oder besser Scripts lädst du ganz normal auf deinen Webspace hoch, meist in den Ordner www oder HTML, müßte aber dort auch erklärt sein.
Wenn du willst das dieses HTML Script, sprich das zum eintragen gleich beim aufrufen deiner Seite gestartet wird dann mußt du es als index.html oder index.php abspeichern, weil nur index automatisch gestartet wird.

Du mußt aber auch in MySql noch eine Tabelle anlegen wo die Einträge dann gespeichert werden.


Die Tabelle kannst du so dann anlegen.

die Tabelle kannst du nennen wie du möchtest und hat 6 Spalten mit folgenden Eigenschaften:

id, int, 5, unsigned, not null, , auto_increment, primary,
datum, int, 11, unsigned, not null,
name, varchar, 150, , not null,
email, varchar, 150, , not null,
inhalt, text, , , not null,
aktiv, tinyint, 1, unsigned, not null,


Gruß Rap
 
  • #5
Hmmm ich glaub ich bin nach der großartigen Hilfe immer noch zu doof :|

meine Hp

i-wie speicherts des ned in meiner Datenbank obwohl kein Fehler kommt wie Datenbank existiert nicht oder sowas.

Also ich hab die Sternchen gelöscht und was reingeschrieben jetzt schauts so aus

  • [li]<?php

    $link = mysql_connect(localhost,***********,*******) or die (Keine Verbindung moeglich);

    mysql_select_db(glueckwunsch) or die (Die Datenbank existiert nicht);

    $name = $_POST[name];

    $inhalt = $_POST[inhalt];

    $datum = time();

    $aktiv = 1; //1: Einträge werden aktiviert gespeichert

    //Wurden die benötigten Felder ausgefüllt?

    if($name == OR $inhalt == )

    {

    echo Bitte die Felder \Name\ und \Inhalt\ ausfüllen<br> <a href=\*zur homepage oder so*\>Zurück</a>;

    exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert

    }



    $eintrag = INSERT INTO -Tabellenname- (datum, name, inhalt, aktiv) VALUES ('$datum',->$name',->$inhalt',->$aktiv');

    $eintragen = mysql_query($eintrag);



    //Wurde der Eintrag erfolgreich gespeichert?

    if($eintragen == true)

    {

    echo Beitrag erfolgreich gespeichert. ;

    }

    else

    {

    echo Fehler beim Speichern;

    }

    echo <br> <a href=\weiter.html\ target=\links\>Zurueck</a>;

    ?> [/li]
    [li][/li]

  • [li]<?php

    $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;

    }

    //Verbindung zu Datenbank aufbauen

    $link = mysql_connect(localhost,********,*******) or die (Keine Verbindung moeglich);

    mysql_select_db(glueckwunsch) or die (Die Datenbank existiert nicht);

    //Eintraege pro Seite: Hier 15 pro Seite

    $eintraege_pro_seite = 15;

    //Ausrechen welche Spalte man zuerst ausgeben muss:

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

    //Tabelle Abfragen

    //Tabelle heisst hier einfach: Tabelle

    $abfrage = SELECT * FROM -Tabellenname- WHERE aktiv =->1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite;

    $ergebnis = mysql_query($abfrage);

    while($row = mysql_fetch_object($ergebnis))

    {

    $inhalt = $row->inhalt;

    $inhalt = htmlentities($inhalt);

    $inhalt = nl2br($inhalt);

    $datum = date(d.m.Y H:i, $row->datum);



    //Der Besucher hat keine E-Mail Adresse angegeben:

    if($row->email == )

    {

    $name = <b>$row->name</b>;

    }

    else

    {

    //Der User hat eine Email Adresse angegeben:

    $name = <a href=\mailto:$row->email\>$row->name</a>;

    }



    echo

    <table align=\center\ border=\0\ cellspacing=\0\ cellpadding=\5\ bgcolor=\#000000\ width=\80%\>

    <tr bgcolor=\#ffffff\>

    <td>

    <b>$name</b> am $datum

    </td>

    </tr>

    <tr bgcolor=\#ffffff\>

    <td>

    <b>
    $inhalt
    </b>

    </td>

    </tr>

    </table><br> ;

    }

    //Jetzt kommt das Inhaltsverzeichnis,

    //sprich dort steht jetzt: Seite: 1 2 3 4 5

    //Wieviele Eintraege gibt es ueberhaupt

    //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 Blaetterfunktion nicht richtig,

    //und hier kann nur 1 Feld abgefragt werden, also id



    $result = mysql_query(SELECT id FROM -Tabellenname- WHERE aktiv =->1');

    $menge = mysql_num_rows($result);



    //Errechnen wieviele Seiten es geben wird

    $wieviel_seiten = $menge / $eintraege_pro_seite;



    //Ausgabe der Seitenlinks:

    echo <div align=\center\>;

    echo <font color=\yellow\><b>Seite:</b></font> ;





    //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 <font color=\yellow\><b>$b</b></font> ;

    }



    //Aus dieser Seite ist der User nicht, also einen Link ausgeben

    else

    {

    echo <a href=\?seite=$b\>$b</a> ;

    }


    }

    echo </div>;

    ?>


    [/li]
    [li][/li]

wobei meine Tabelle Tabellenname heisst und die Datenbank glueckwunsch heisst.
 
  • #6
Ist das nur ein Beispiel, oder steht das wirklich so im Script?
Code:
SELECT * FROM -Tabellenname- WHERE aktiv ....

richtig wäre:
Code:
SELECT * FROM Tabellenname WHERE aktiv ....

Du kannst aber auch mal mysql_error abfragen, dann siehst du ja ob es an der SQL-Syntax liegt ;)
=>
 
  • #7
Hi,

Das mit -Tabellenname- mußt du ändern, denn das war extra so geschrieben weil du dort den Namen deiner Tabelle eintragen mußt den du bei MySql angelegt hast.

Also wenn deine Tabelle bei MySql glueckwuensche heißt muß dort glueckwuensche auch rein.

Und du kannst das Script zum auslesen der Daten unter das Formular Script einfügen , dann hast du eine Art Gästebuch effekt wo jeder dann lesen kann und auch eintragen kann, das ist dir aber überlassen.
 
  • #8
Hmm geht immernoch nicht. Normalerweise müsste doch bei der Dateinbank bei Datenbank anzeigen des vorher eingegeben dastehen oder ??? Oder mach cih da schon was beim nachschauen falsch...Naja ich probier das mal mit der Abfrage aber erst mrogen ;)
 
  • #9
Ja, habe dir ja das Ausgabescript auch gegeben, das kannst du ja wie gesagt zu dem Formularscript zufügen, also unter das HTML setzen und dort mußt du natürlich auch die gleichen Daten eintragen wie in das script zum speichern.

Dann sollte es funktionieren das du auch das lesen kannst.
 
Thema:

Internetseite

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben