hilfe bei chat

02/22/2012 18:26 vladik13x#1
Hallo Elitepvpers,
Ich hab seit gestern angefangen ein chat zu scripten
und brauche eure hilfe .

Mein Problem ist nähmlich follgendes bei den input type soll der text wieder ausgegebn werden stattdessen kommt eine Fehlermeldung

Notice: Undefined index: Inhalt in C:\xampp\htdocs\Chat.php on line 22


hier der script.


<form action="chat.php" method="post">
<input type="text" value="schreibe hier deine Nachricht rein" size="40px" maxlength="40px" name="Inhalt">
</form>

<?php
echo $_POST["Inhalt"];
?>


<input type="button" value="Senden" />
</div>
</body>
</html>
02/22/2012 21:18 yym3#2
Wie soll "Inhalt" einen wert haben, bevor du das Formular abgesendet hast?
Außerdem würde ich mir etwas Ajax angucken für den Chat (vorallem jQuery) ;).

Gruß
yym3.
02/22/2012 22:01 vladik13x#3
naja leer udnd as was er dan eintippt soll ja dan ausgegebn werden o:

hm okey mach ich falls das nicht allzuschwer ist
02/23/2012 08:03 boxxiebabee#4
einfach mit isset überprüfen ob es diesen POST gibt, wenn ja solls ausgegeben werden, ansonsten halt nicht.
02/23/2012 10:20 galaxyo#5
Deinem Button den Namen "submit" geben.

HTML Code:
<input type="button" name="submit" value="Senden" />
PHP Code:

if(isset($_POST["submit"])) { // Überprüfen ob Formular abgesendet wurde.

   
echo $_POST["Inhalt"]; // Wenn Ja, Inhalt ausgeben.


Außerdem gehört der Button IN die Form.

Folgendermaßen:

HTML Code:
<form action="chat.php" method="post">

<input type="text" value="schreibe hier deine Nachricht rein" size="40px" maxlength="40px" name="Inhalt">

<?php



?>

<input type="button" value="Senden" />

</form>
Stichworte:

Jquery, JavaScript, Ajax.

Ich habe letztens sogar noch ein recht gutes Video zu diesem Thema gesehen.

Bitteschön:
02/23/2012 15:37 JacK le chilla#6
wenn du keine Ahnung von PHP etc. hast versuch dich an was einfachem oder mach ein paar Tutorials durch, sonst bist du falls du es doch schaffst ziemlich traurig wenn einer als Username 'DROP user' ... (hab jetzt keinen Gültigen Query angegeben) eingibt, und ne ganze Tabelle von dir verschwindet und dein Script somit futsch ist ^^
02/23/2012 16:10 galaxyo#7
Ich hab echt das Gefühl, dass du nur irrelevantes Zeug postest. Und das Script verschwindet ja auch wenn jemand eine Tabelle dropt.

Es wurde in keiner Hinsicht von Querys oder Datenbanken gesprochen und Master of Disaster meldet sich zu Wort und muss verwirrung stiften. Sorry aber sowas nervt mich tierisch. Hauptsache klugscheißern. Das hab ich am liebsten.

Schön und gut wenn man versucht zu helfen. Aber dann auch bitte beim Thema bleiben. Danke!

Edit:

Weißte was? Ich hab dich jetzt mal reported. Das ist wirklich unfassbar. Glaubst du ernsthaft du hilfst irgendwem durch dein unnötiges gelaber? Lies dir mal deine letzten 3 Postings durch und erzähl mir welche davon zum eigentlichen Hauptthema gehören und hilfreich sind.
02/23/2012 17:26 vladik13x#8
ouh man ich klaube ist eine nummer zu krass für mich :s

ich kappier jetz nix mehr o;
02/23/2012 18:03 yym3#9
vladik13x, guck dir das video von galaxyo an, falls deine Englisch kenntnisse gut sind, ich hab es mir vorhin auch angeguckt und es ist eigentlich recht gut ;).
Aber falls du noch nicht solang in dem Gebiet Webentwicklung bist würd ich mit anderen sachen noch etwas üben.

Gruß
yym3.
02/23/2012 20:01 galaxyo#10
Quote:
Originally Posted by vladik13x View Post
ouh man ich klaube ist eine nummer zu krass für mich :s

ich kappier jetz nix mehr o;
Nicht aufgeben ;) Sicher ist es irgendwo frustrierend aber wenns dann läuft ist es doch gut oder nicht?

Das was ich gepostet habe war eine überarbeitete Version deines Scripts.

HTML Code:
<form action="chat.php" method="post">

<input type="text" value="schreibe hier deine Nachricht rein" size="40px" maxlength="40px" name="Inhalt">

<?php

if(isset($_POST["submit"])) { // Überprüfen ob Formular abgesendet wurde.

   echo $_POST["Inhalt"]; // Wenn Ja, Inhalt ausgeben.

}  

?>

<input type="submit" name="submit" value="Senden" />

</form>
Das ist der vollständige Code und sollte funktionieren. So, jetzt sollte der Inhalt ausgegeben werden sobald das Formular abgesendet wurde.

Kleine Erläuterung:

WICHTIG: Natürlich muss die action in der Form dem Dokument entsprechen. Wenn du die Werte an ein anderes Dokument übergibst funktioniert es natürlich nicht. D.h. wenn deine PHP-File "index.php" heißt, muss deine action auch index.php heißen.

Bsp:

Dokument = index.php
Dementsprechend:
<form action="index.php" method="post">

Wir haben dem Button einen Namen gegeben. Undzwar "submit". Wenn das Formular abgesendet wird, wird in $_POST ein Feld mit dem Namen "submit" angelegt. Im PHP Teil überprüfen wir ganz einfach ob es dieses Feld gibt. Das machen wir mit if(isset($_POST["submit"])). Falls das Feld existrieren sollte, wird ganz einfach das Feld "Inhalt" ausgegeben mit echo $_POST["inhalt"].

Wir können nunmal kein Feld ausgeben wenn es nicht existiert. Und in welchem Fall existiert ein Feld NICHT? Genau, wenn das Formular nicht abgesendet wurde. Deshalb überprüfen wir ob das Formular abgesendet wurde um Fehlern vorzubeugen.

Was du allerdings für einen funktionierenden Chat brauchst ist folgendes:

Mysql
Ajax
JQuery/Javascript

Und ab jetzt wird es nur noch schwieriger. Versuche einfach deine Kenntnisse durch Tutorials usw. zu festigen bzw. zu erweitern. Aufgeben ist nicht ;)
02/24/2012 15:12 vladik13x#11
naja kp aber ehm ich kann nix mit den button senden erst wenn ich das feld halt enter drücke und und ich kann das gesendete nicht sehen o:
02/24/2012 16:31 galaxyo#12
Habs gefixt. Zum abesnden von Formularen wird "submit" und nicht "button" verwendet. Hatte ich übersehen als ich deinen Code kopiert/korrigiert habe, sorry. Sollte jetzt funktionieren.

PHP Code:

<form action="chat.php" method="post">

<input type="text" value="schreibe hier deine Nachricht rein" size="40px" maxlength="40px" name="Inhalt">

<?php

if(isset($_POST["submit"])) { // Überprüfen ob Formular abgesendet wurde.

   
echo $_POST["Inhalt"]; // Wenn Ja, Inhalt ausgeben.

}  

?>

<input type="submit" name="submit" value="Senden" />

</form>
Wichtig ist natürlich auf die "action" im Form-Tag (<form>) zu achten. In diesem Fall muss der Name des Dokumentes mit der Action (wie bereits gesagt) identisch sein.