Sprüche beginnen nicht von neuem !
contool
- programmiertechnik
Hallo Zusammen !
Bin neu hier. Hoffe ich poste das Thema hier in dem richtigen Bereich.
Ich bin erst seit kurzem auf dem Gebiet Web-Programmierung und verstehe leider noch nicht allzu viel davon.
Wir haben in unserer Firma bestehende Homepages die jeweils ein paar Anpassungen benötigen.
Nun geht es darum das auf der einen Site jeweils 3 Sprüche erscheinen sollen. Diese sind jeweils verteilt auf 3 kleine Tabellen. Das hatte eigentlich auch funktioniert nun ist jedoch der Counter oder was dahinter steckt abgelaufen und die Sprüche kommen nicht von neuem. Habe mal ein paar text ausschnitte aus dem Quellcode herausgesucht die etwas damit zu tun haben könnten.
<!--DB-Include-->
<!--#include file="includes/dbanbindung.asp"-->
<%
'HINTERGRUNDFARBE BEI KURSE/LEHRGAENGE: bgcolor="#99FF33"
'
'<div align="right" class="Stil22 Stil20"><font color="#F8DE36">Information</font></div>
'
'Konstanten definieren:
minus=0
Selection=0
set Selection=Request.QueryString("minus") 'User-Selektion abfragen
'if Selection <> 1 and Selection <> 2 and Selection <> 0 then
if Selection = "" then
' keine User-Selektion bei Abfrage vorhanden/angegeben ->Fehler abfangen
Selection=0 ' 0 = den Spruch von heute anzeigen
end if
'set spruch_today = DB.Execute("SELECT * FROM spruchtexte WHERE (((spruchtexte.datum)=Date()-" & Selection & ")) ORDER BY spruchtexte.nummer, spruchtexte.datum ") 'Hier die User-Selektion zum Berechnen verwenden.
'ResultSet für die Sprüche und Texte aus der DB:
set spruch_today = DB.Execute("SELECT spruchtexte.datum, * FROM spruchtexte WHERE (((spruchtexte.datum)=DateAdd('d',-" & Selection & ",Date()))) ORDER BY spruchtexte.nummer, spruchtexte.datum ") 'Hier die User-Selektion zum Berechnen verwenden.
'div. ResultSet's:
Set news_information = DB.Execute("SELECT * FROM news WHERE menuepunkt = 'home_information' ORDER BY id DESC")
Set news_aktuelles = DB.Execute("SELECT * FROM news WHERE menuepunkt = 'home_aktuelles' ORDER BY id DESC")
Set news_kurse = DB.Execute("SELECT * FROM news WHERE menuepunkt = 'home_kurse' ORDER BY id DESC")
%>
Hier wird glaube ich definiert aus welcher Datenbank er die Sprüche etc. holt ist das korrekt?
Hier im unterent Teil sind die Tabellen in denen die Sprüche erscheinen sollen:
<%
Do Until spruch\_today.eof
%>
<tr >
<td class="Stil17" rowspan="0" colspan="2" width="75%" height="60px" align="left" valign="bottom"><%=spruch_today("spruch")%></td>
<td></td>
<td rowspan="0" width="25%"><span class="Stil27">Erkenntnisse:</span></td>
</tr>
<tr >
<td class="Stil16" rowspan="4" colspan="2" width="75%" height="120px" align="left" valign="middle"><%=spruch\_today("text")%></td>
<td rowspan="4"></td>
</tr>
<tr class="Stil26" >
<td class="Stil26" width="25%"><span class="Stil26"><a href="index.asp?minus=2" target="\_parent" class="Stil26">Vorgestern</a></span></td>
</tr>
<tr>
<td class="Stil26" width="25%"><span class="Stil26"><a href="index.asp?minus=1" target="\_parent" class="Stil26">Gestern</a></span></td>
</tr>
<tr>
<td class="Stil26" width="25%"><span class="Stil26"><a href="index.asp?minus=0" target="\_parent" class="Stil26">Heute</a></span></td>
</tr>
<%
spruch\_today.movenext
loop
%>
Leider habe ich überhaupt keine Ahnung wie das genau funktioniert mit diesen Sprüchen. Kann mir da einer weiterhelfen? Irgendwie fehlt da was damit die Sprüche wieder von neuem beginnen, habe aber keine Ahnung an was es liegen könnte.
Besten Dank für eure Hilfe !
Freundlicher Gruss Christian Brem, Contool St. Gallen AG
Moin!
Alter Schwede. Hätte nicht gedacht, ausserhalb der Arbeit nochmal ne ASP Seite zu sehen. Ihr wisst, daß Microsoft ASP nicht länger supportet? Könnt icht nicht auf was besseres, aktuelleres umstellen? Das und was ich sonst noch von der Seite weiß sollte euch dazu animieren sieeinmal komplett neu aufzuziehen. Nicht nur daß die Technik veraltet ist, sie benutzt schlechtes HTML und ist eine Gefahr! Ihr habt wenigstens eine echteSicherheitslücke: Selection=Request.QueryString("minus") ermöglich SQL Injection der schönsten Sorte. Hier wird irgendein übermittelter Weret ungeprüft übernommen und später in die SQL-Abfrage eingebaut, die auch Dein Problem zu sein scheint. So kann ALLES mit eurer Datenbank gemacht werden. Soll ich eben mal ein paar Tabellen löschen?
Falls das der Originalcode ist: Bitte deaktiviere diesen Code und schalte ihn nicht wieder online, bevor die Lücke geschlossen wurde. Dank des Codes hier kann jetzt jeder der das liest eurer Seite problemlos schaden.
'ResultSet für die Sprüche und Texte aus der DB:
set spruch_today = DB.Execute("SELECT spruchtexte.datum, * FROM spruchtexte WHERE (((spruchtexte.datum)=DateAdd('d',-" & Selection & ",Date()))) ORDER BY spruchtexte.nummer, spruchtexte.datum ") 'Hier die User-Selektion zum Berechnen verwenden.
Diese Zeile liest die Sprüche aus einer Datenbank und nimmt dafür ein Datum. Eure Spruchdatenbank hat also scheinbar keine Sprüche mit aktuellem Datum. Das einfachste wäre das Datumsfeld zu updaten. Denn Ahnung von der Materie scheinst Du ja keine zu haben. Warum überlässt eure Firma das nichtmal einem Profi?
Was ich eigentlich denke habe ich aber oben geschrieben: Abreissen und neu aufbauen. Diesmal mit vernünftiger Technik.
jm2c
Warum überlässt eure Firma das nichtmal einem Profi?
Ich seh grad: Du bist der Profi dort.
Sollte es in Deiner Macht liegen: Schafft euch doch ein CMS oder entsprechendes Framework (Typo3?) samt passender aktueller Servertechnik an. Dafür kannst Du gern das Forum hier konsultieren.
hallo ...
"Netzwerk- und Webadministrator
Junior Consultant / Head of ICT"
Wow! So eine geile Kombination sieht man selten.
Ich könnte wetten, dass die Kunden schlange stehen, mein aktueller Arbeitgeber (grosse Bank mit drei Buchstaben) wäre da einer der ersten Kandidaten. Gott-sei-dank muss ich mir den Scheiss hier nur noch 2 Monate antun, dann gehts auf die Insel.
Cheers, Frank
Hi.
Warum überlässt eure Firma das nichtmal einem Profi?
Ich seh grad: Du bist der Profi dort.
Allerdings ist er etwas kopflos. ;)
Schönen Sonntag noch!
O'Brien
Hey hey !
Danke für die Antwort :D
Ja hab davon echt keine Ahnung, hab ich ja auch geschrieben ;)
Oke werd das Ding löschen. Ja leider bin ich dafür Verantwortlich und ich bin eigentlich Server Administrator...naja ich schau mal ob das was wird mit dem neu aufsetzen der seite.
Trotzdem vielen Dank
Gruss Christian