Also
1. Ich weiß was eine If-Anweisung ist. Aber auch nur von Visual Basic oder Borland Delphi.
2. Ich habe Apache, weil ich mit dem Programm Typo3 arbeiten MUSS.
3. Dsa stimmt ich habe noch nie mit PHP gearbeitet.
In Tabelle html-file laden
-
-
Ja das stimmt, aber bei nem Gästebuch würde ich nie Get benutzen, sondern immer post... allerdings so reichts bei mir und von daher will ich nix dran ändern was ich schon immer so gemacht habe ...
aber danke für den Hinweis
greetz
-
Zitat von Dede4
Also
1. Ich weiß was eine If-Anweisung ist. Aber auch nur von Visual Basic oder Borland Delphi.
2. Ich habe Apache, weil ich mit dem Programm Typo3 arbeiten MUSS.
3. Dsa stimmt ich habe noch nie mit PHP gearbeitet.Ich kenn mich mit VB nicht wirklich aus, aber normal sind If anweisung und immer das gleiche, halt wenn , das dann das... sehen halt nur etwas anders aus.
Wenn du Apache ahst, dann versteh ich nicht wo dein Fehler liegen soll, du hast aber bei dateienauf der gleichen Ebene liegen ja? sonst musste nämlich bei include nen unterordner mit angeben... Dateieindung ist php? die datei in der Includeanweisung hat den richtigen Namen wie die Datei in deinem htdoc ordner? -
jetzt würd ich auch was gegen POST sagen beim GB aber ich lass es
jedem das seine
Nur soviel wenn du die daten per post sendest was nicht falsch ist
nur wenn was nicht stimmt und du mit javascript:history.back() dann zurück willst sind die daten weg
und der user ärgert sich und lässt es ein 2-mal zu schreibenAber wie gesagt jedem das seine
-
und wie starte ich eine PHP-File mit Typo3 bzw mit Apache?
Alle files sind richtig bezeichnet und auch Endung ist ebenso php wie auch der Ordner htdocs in dem sie sich befinden
-
schrottschuss:
das ist natürlich der nachteil, aber wie sollte ich denn sonst an die DB übertragen außer mit post, mit get gehts schlechter... mank önnte ne vorschauseite erstellen und dabei auf fehler im eintrag hinweisen und dann in die db...mmh...Dede4
ich selber nutze xamp, aber das dürfte nicht viel anders sein, in deina dressleiste eingeben:localhost/index.php
mit localhost befindest du dich im htdocs ordner, und von da an denpfad zur seite, wenn die seitein dem ordner test leigt dann so:
localhost/test/index.php
denke mal so...
greetz
-
Zitat von Mülla
schrottschuss:
das ist natürlich der nachteil, aber wie sollte ich denn sonst an die DB übertragen außer mit post, mit get gehts schlechter... mank önnte ne vorschauseite erstellen und dabei auf fehler im eintrag hinweisen und dann in die db...mmh...Jo so mach ich das kannst es dir ja mal anschauen lass halt ein Feld beim eintragen weg
Gästebuch
musst halt von der vorschauseite aus alle daten wieder mit zurückgeben -
Ja schaut gut aus, so mach ichs glabue auch, weiß jetzt nicht was für ein code dahinter steckt, aber bei der fehler ausgabe siehts beimir auch so aus...
greetz
-
Ja schaut gut aus, so mach ichs glabue auch, weiß jetzt nicht was für ein code dahinter steckt, aber bei der fehler ausgabe siehts beimir auch so aus...
greetz
-
Code
$zu_link =" &eintrag_array[mail]=$eintrag_array[mail] &eintrag_array[autor]=$eintrag_array[autor] &eintrag_array[inhalt]=$eintrag_array[inhalt] &eintrag_array[ueberschrift]=$eintrag_array[ueberschrift]";
und dann am zurücklink anhängenfertig musst das halt mit deinen variabeln machen
achso vergiss nicht im Formular auch das value zu bestimmen
Kannst natürlich auch nur die Daten zurückgeben die auch vorhanden sind musst das halt dann in der fehlerabfrage klären... -
sieht gut aus, werd ich bei mir mal einbauen, an sowas hab ich noch nicht gedacht... aber es stimmt, wenn man einmal alles eingetragen hat und es kommt ein fehler,d ann will mannich nochmal...
greetz und thx für den tipp
-
jepp sollche beschwerden hab ich schon öfters von freunden gehört also musst ich mir was einfallen lassen
Zu dein smiles warum machste das nicht mit java das wenn er auf ein smile klickt das es auch gleich im Eintagfenster erscheint?
Code<SCRIPT language=Javascript> <!-- function setsmile(Zeichen) { document.gbform.eintrag.value = document.gbform.eintrag.value + Zeichen; } //--> </SCRIPT>
Link jetzt <a href=javascript:setsmile(':-(')><img src=smile.gif></a>
vergiss nicht dem formular noch ein name zu geben hier wäre es dann soPS:solltest vielleicht das ?action=gb_entry als verborgenes feld mitgeben nicht das es mal zu fehlern kommt
-
Daran hab ichauchschon gedacht mit den Smileys, bin aber kein große Javascript könner *g*... aber das sieht gut aus und werd ich auch anwenden...
das mit dem ?action=gb_entry überlege ich komplett rauszunehmen und dann den code fürs eintragen in eine andere datei zu schreiben, und vor allem werde ich die eintragsvariablenändern, ich übergebe alles mit variablen, also mit den namen der textfelder etc. man kann bei mir über den link auch einen eintragmachen, und dadurch z.B. das find feld ändern...
-
das ist klar das es var sind nur der normale user kenn sie ja garnicht bzw weis damit nix anzufangen
und wenn du dein eintrag dann sowieso mit $_POST[] kontrollierst
dürfte das eigentlich nicht gehen den eintrag über die adressleiste einzugeben(bin mir da aber nicht sicher)
dadurch das ich mit einem array arbeite ist das kontrollieren mit $_POST[] etwas schwierig darum eine neue seite bei mir....
es ist schwierig POST daten in eine switch-anweisung zu verarbeiten es zwar möglich nur der aufwand nicht werd.... -
da hast du recht, aber mein gb ist ein etwas schwächeres Modell z.B. an das übergeben mit $_POST['variable']hab ich nicht gedacht, sondern ich habs bislang sogemacht:
SQLINSERT INTO gbook (id, datum, zeit, name, email, www, icq, msn, pic, eintrag, find, ip_adresse) VALUES ('','$datum','$zeit','$name','$email','$www','$icq','$msn','$pic','$eintrag','$find','$ip')
also wennman sichd en quelltext ansieht und die namen der inputs nimmt geht das theoretisch... aber das will ich nun ändern, da mich jemand daraufhingewiesen hat...
-
SQL
INSERT INTO gbook SET datum= '$datum' , zeit= '$zeit', name='$name', email = '$email', www='$www', icq='$icq', msn='$msn', pic = '$pic', eintrag = '$eintrag', find='$find' , ip_adresse='$ip'
du musst die ID nicht mitgeben bei neueintrag wenn sie auto_increment ist macht dann die DB selber
mit deinem INSERT kannst du mehrere datensätze gleichzeitig speichernSQLINSERT INTO gbook (id, datum, zeit, name, email, www, icq, msn, pic, eintrag, find, ip_adresse) VALUES ('','$datum','$zeit','$name','$email','$www','$icq','$msn','$pic','$eintrag','$find','$ip') ('','$datum1','$zeit1','$name1','$email1','$www1','$icq1','$msn1','$pic'1,'$eintrag1','$find1','$ip1')
wenn du nur ein Datensatz speicherst reicht meine Variante aus
Du hast recht wenn sich jemand damit auskennt kann er es auch über die Adressleiste machen aber wer ist schon so dumm und macht sich die mühe das alles in die adressleiste einzugeben mir wäre das zu blöd...
-
stimmt schon, die mühe würde ich mir nicht machen, aber es ist eine sicherheitslücke...
ja mit der id, da hab ich auch schon überlegt, sie steht auf jeden als auto_increment, aber ich muss ja igrendwei das feld angeben, nicht dass der auf einmal das datum in das feld Id schreibt... naja hab jedenfalls ebenmal gesehen, meine ID spinnt, falls es dir in meiem gb aufgefallen ist, nach eintrag 15 kommt 314, irgendwie spinnt dat, hatte die tabelle aml gelöscht, hatte vorher so um die 400 einträge, aber waurm der jetzt mit der id spinnt, weiß ich nicht... ahbs jedenfalls schon geändert, weißt du woran das liegenkönnte? -
ich sehe in deinem GB nur 17 einträge wo sind da 314???
weis nicht genau was du meinst?
Die datenbank verwechselt datum mit ID nicht!!!!!Mach mal ein dump von der Tabelle nur Daten und schau dir alle ID´s an wenn was nicht richtig ist ändere es in die richtige reinfolge leere die Tab und lad das geänderte Dump neu ein schau mal ob der autoindex stimmt sprich wenn 17 einträge müsste der nächste 18 sein...
Dann mal noch was anderes dein gb zieht ja spamspider an
Code
Alles anzeigenfunction no_spam($mail_a) { $str = ""; $a = unpack("C*", $mail_a); foreach ($a as $b) $str .= sprintf("%%%X", $b); return $str; } $m= explode("@",$eintrag_array[mail]); $link_1 = $m[0]." -at- ".$m[1]; $mail = no_spam("$eintrag_array[mail]"); $link = "<a title=\"".$eintrag_array[autor]." eine mail scheiben\" href=\"mailto:".$mail."?subject=www.schrottschuss.net - Gästebuchsystem\">".$link_1."</a>";
ausgabe im QuelltextCode[url='mailto:%64%61%6E%69%65%6C%2E%6D%75%65%6C%6C%65%72%38%33%40%67%6D%78%2E%64%65?subject=www.schrottschuss.net - Gästebuchsystem']xxxxxxxx -at- gmx.de[/url]
solltest daran auch mal arbeiten bin froh das der spam bei mir langsam weniger wird
Nachtrag:
Warum lässt du das Datum und die Zeit nicht von der DB eintragen schon hast du nix mehr damit zu tun mit TIMESTAMP, aber wenn deine Kommentare auch in der selben spalte sind vergiss es wieder weil sonst wenn du ein kom. hinzufügst auch das Datum geändert wirdCode
Alles anzeigen# # Tabellenstruktur für Tabelle `Muella` # CREATE TABLE `Muella` ( `ID` int(11) NOT NULL auto_increment, `datum` timestamp(14) NOT NULL, KEY `ID` (`ID`) ) TYPE=MyISAM COMMENT='Test' AUTO_INCREMENT=2 ; # # Daten für Tabelle `Muella` # INSERT INTO `Muella` VALUES (1, 20041026170828);
so um das Datum nun zusplittenCode
Alles anzeigenfunction format_datum ($datumsstring) { if (strlen ($datumsstring) != 14) { $formatted_datum = FALSE; } else { $formatted_datum[jahr] = substr ($datumsstring, 0, 4); $formatted_datum[monat] = substr ($datumsstring, 4, 2); $formatted_datum[tag] = substr ($datumsstring, 6, 2); $formatted_datum[std] = substr ($datumsstring, 8, 2); $formatted_datum[min] = substr ($datumsstring, 10, 2); $formatted_datum[sek] = substr ($datumsstring, 12, 2); } return $formatted_datum; } $datum = format_datum($row[datum]); $eintrag_tag = $datum[tag].".".$datum[monat].".".$datum[jahr]; $eintag_zeit = $datum[std].":".$datum[min].":".$datum[sek];
-
ne das mit der idh ab ich bereits wieder geändert, da stand nur 314,hab ich dann auf 17 geändert...
das mit dem spam wusste ich auch noch nit... was ich nicht alles weiß...
-
-