 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
17.01.2003, 18:59
|
#1
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Variablen Übergabe per URL
Hallo,
hab wiedermal ein Prob
Also ich hab ne Seite, in die das Gästebuch includet wird, wenn ich in der URL ?start=guestbook eingebe. Das Gästebuch besteht nur aus einer Datei. Nun hab ich aber das Problem, dass beim Gästebuch auch die Variable $start genützt wird, damit mache ich die Seitenblätterung, also falls ?start=1 dann geht das GB auf Seite 1. Das Problem ist, dass nun ein link generiert wird, der mich auf Seite 1 überleitet, wenn ?start=1 gesetzt wird per URL Eingabezeile. Nun wenn ich also das Gästebuch include, funktioniert das nicht mehr und auch das absenden bzw. Eintragen in die Datenbank/gästebuch funktioniert nicht mehr, was muss ich da machen ?
Danke und cu
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
17.01.2003, 20:33
|
#2
|
|
TP-Veteran
Registriert seit: Oct 2001
Ort: Oberau
|
ohne, dass du den Code mal veröffentlichst wirds nicht funken. ICh mein die Fehleranalyse ...
|
|
|
17.01.2003, 21:23
|
#3
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Hi,
es gibt ja keinen Parsefehler oder sonstwas, sondern es funktioniert andersweg einfach nicht
Also mal n bichen Code:
PHP-Code:
<?php
switch($start){
case"home"; include('news.php'); break;
case"work"; include('work.php'); break;
case"guide"; include('guide.php'); break;
case"about"; include('about.php'); break;
case"misc"; include('misc.php'); break;
case"links"; include('links.php'); break;
case"guestlog"; include('guestlog.php'); break;
case"contact"; include('contact.php'); break;
} ?>
hiermit generiere ich also start, und mit ?start=guestlog wird das gästebuch includet, wie gesagt es ist nur 1 php seite.
und hiermit gebe ich im gästebuch die Seitenblätterung aus:
PHP-Code:
if($start > 0.1) {
$zurueck = $start - 5;
echo "<a href=\"$PHP_SELF?start=$zurueck\"><< Zurück</a>";
}
for($i = 0; $i <= $zeigen; $i++) {
echo " <a href=\"$guestlog?start=$n\">$i</a> ";
$n += 5;
}
$weiter = $start + 5;
if($reihen > $weiter) {
echo "<a href=\"$PHP_SELF?start=$weiter\">Weiter >></a>";
}
Doch nun will ich eben das Gästebuch include, doch wenni ich dann unten auf den nächste Seite Link klicke, dann ist das GB dann geht irgendwie nix mehr, auch eintragen nicht.
cu
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
18.01.2003, 01:23
|
#4
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Hallo,
warum nimmst du für das Includen deiner einzelnen Seiten nicht einfach einen anderen Variablennamen, dann kannst du beide Variablen der URL mitgeben, z. B. mit $action:
PHP-Code:
echo "<a href=\"$PHP_SELF?action=guestlog&start=$zurueck\"><< Zurück</a>";
somit würde mit $action die richtige Seite includet und mit $start kann dein Gästebuchskript die einzelnen Seiten ansteuern.
An register_globals=off solltest du noch denken und die Variablen über $_GET[] auslesen, aber das ist eine andere Geschichte...
Gruß, Jürgen
|
|
|
18.01.2003, 14:27
|
#5
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Hi,
also mit dem Eintragen funzt es nun soweit, doch das mit der Seitenblätterung geht noch immer nicht. Um euch das mal zu zeigen, hier funktioniert das nicht: http://www.styleswitcher.ch/new/inde...start=guestlog
Hoffe da gibt es noch eine Lösung, habe die Links nämlich wie von Jürgen gezeigt angepasst, aber es geht noch nicht
cu
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
18.01.2003, 14:31
|
#6
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
So wie es jetzt ist, kann es aus folgendem Grund nicht funktionieren:
Wenn ich bei dir zuerst auf das Guestbook gehe und dann auf weiterblättern, steht folgende URL in der Adresszeile:
Code:
.../new/index.php?start=guestlog&start=10.1
du belegst also $start 2 x mit verschiedenen werten! Der Aufruf des Gästebuches sollte mit einer andere Variable, also z. B. action=guestlog erfolgen, dann funzt das auch  .
Gruß, Jürgen
|
|
|
18.01.2003, 14:56
|
#7
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Hi,
na endlich funzt es, vielen Dank
kleine Nebenwirkung: wenn ich jetzt das Gästebuch aufrufe ?switch=guestlog , dann gibts einen Mysql_fetch_array fehler
Wieso das ?
Zeile 33 ist nur die While schleife zum auslesen der Beiträge.
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
18.01.2003, 14:59
|
#8
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Könntest du mal den betroffenen Bereich der guestlog.php (ich nehme an, die ist es) und den genauen Fehlerwortlaut posten?
|
|
|
18.01.2003, 15:37
|
#9
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Also die Fehlermeldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/styleswi/public_html/new/guestlog.php on line 33
Und dann das Eintragen, wo es den Fehler gibt:
PHP-Code:
//Auslesen der Einträge
$result = mysql_query("SELECT `zeitstempel` , `guestname`, `message` , `guestmail` , `guestpage` FROM `guestbook` ORDER BY `zeitstempel` DESC LIMIT $start,15");
while($daten = mysql_fetch_array($result)){ // Zeile 33
echo "<tr><td class=\"cell\">".$daten['guestname']." <a href=\"mailto:".$daten['guestmail']."\"><img src=\"images/email.gif\" height=\"18\" width=\"18\" align=\"absmiddle\" border=\"0\"></a> <a href=".$daten['guestpage']." target=\"_blank\"><img src=\"images/page.gif\" height=\"18\" width=\"18\" align=\"absmiddle\" border=\"0\"></a> </td></tr>
<tr><td class=\"cell2\">".$daten['message']."</td></tr>";
}
Danach folgt der Code für die Seitenblätterung und dann das Eintragsformular.
cu
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
18.01.2003, 15:48
|
#10
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Das liegt einfach an Zeile 32 (der Zeile darüber):
PHP-Code:
ORDER BY `zeitstempel` DESC LIMIT $start,15");
$start ist hier undefiniert, dadurch funktioniert die SQL-Query nicht mehr. Schau mal, wie das vorher ausgesehen hat, d. h. es muss irgendwo $start=0 stehen, wenn keine start-Variable übergeben wurde, damit das LIMIT richtig gesetzt wird.
|
|
|
18.01.2003, 15:55
|
#11
|
|
TP-Veteran
Registriert seit: Sep 2002
Ort: Winterthur
|
Heija ho, du bleibst ja echt die ganze Zeit am Ball hier, nicht schlecht her Specht. Ich hab den Fehler nun korrigieren können und zwar war es die Zeile hier:
PHP-Code:
if($start) { $start = 0.1; }
und die musste ich in
PHP-Code:
if(!$start) { $start = 0.1; }
abändern
Vielen Dank für die super Hilfe, hier wird einem echt immer! geholfen, thx a lot dafür
cu
__________________
Metal klingt am besten, wenn man taub ist.
|
|
|
18.01.2003, 16:08
|
#12
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Aber bitte, gerne  .
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:35 Uhr.
|
 |