[PHP/MySQL] Probleme mit GET UND POST ! Neues Problem ...

mydoys.de

Well-known member
ID: 84968
L
20 April 2006
2.743
123
Mein neues Problem ist diese:

https://pbhelp.de/adminbereich/index.php

Login : 1234567

Wenn mann im Menü Klickt passiert nichts oder alle beiden Sprung Marken stehen da..

Code sie Diesem Post



-----------ALTES --- PROBLEM ------------

Hi Leute ich arbeite gerade an meinem Lexikon und mich stört das was was ich nicht ganz verstehe..


Mal zeig es was an mal nicht BSP :

https://www.pbhelp.de/paintball_lexikon.php?jump=inhalt&lexikon=a
oder
https://www.pbhelp.de/paintball_lexikon.php?jump=inhalt&lexikon=1

(bei den anderen Buchstaben ist noch kein Inhalt..)


Mein Quelltext:

PHP:
if($jump=="$_GET[inhalt]")
{
echo"<table>";
$abfrage = "SELECT * FROM lexikon WHERE buchstaben='$_GET[lexikon]'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_array($ergebnis))
{
echo"<tr valign=\"top\">
<td><b><i>$row[suchwort]</b></i></td>
<td>$row[text]</td>
<td></td></tr>";
}
echo"</table>";
}


Zum Problem:
Wenn amnn in dem Meü mit dem Buchstaben rumklickt zeigt es Manschmal einfach NIX an... warum?
 
Zuletzt bearbeitet:
  • $_GET[a] in $_GET['a'] ändern
  • Tipp: Arbeite mit Eindrücken ;)
Ausprobieren, und Resultat posten.


Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/web50/html/pbhelp.de/paintball_lexikon.php on line 25

line 25 :
PHP:
if($jump=="$_GET['inhalt']")
 
Und im Query musst du es noch so gestalten: buchstaben='".$_GET['lexikon']."'";

hm komisch...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web50/html/pbhelp.de/paintball_lexikon.php on line 30


PHP:
28 : $abfrage = "SELECT * FROM lexikon WHERE buchstaben=".$_GET['lexikon']."";
29 : $ergebnis = mysql_query($abfrage);
30 : while($row = mysql_fetch_array($ergebnis))
31 : {


Edit:

mit
PHP:
buchstaben='".$_GET['lexikon']."'";
klpat erstmal alles Prima


Danke erstmal ....
 
Und im Query musst du es noch so gestalten: buchstaben='".$_GET['lexikon']."'";

oder so
PHP:
buchstabe='{$_GET['lexikon']}'
... dann hat man nicht das klammern-wirrwar. gleiches solltest du in der echo-ausgabe bei allen variablen machen...

und wieder:
PHP:
30 : if( $ergebnis ) while($row = mysql_fetch_array($ergebnis))


[edit]
und dann solltest du noch deinen avatar ändern. ich denke nicht, dass die mods es gern sehen, wenn du dich hier als admin ausgibst...
[/edit]
 
oder so
PHP:
buchstabe='{$_GET['lexikon']}'
... dann hat man nicht das klammern-wirrwar. gleiches solltest du in der echo-ausgabe bei allen variablen machen...

und wieder:
PHP:
30 : if( $ergebnis ) while($row = mysql_fetch_array($ergebnis))


[edit]
und dann solltest du noch deinen avatar ändern. ich denke nicht, dass die mods es gern sehen, wenn du dich hier als admin ausgibst...
[/edit]


Danke für den nette Hilfe..

Wegen Dem AVA.. das habe ich schon sehr lange hier bei klamm.de und es hat noch keiner was gesagt den ich gebe ichn ja nicht als klamm.de Admin aus..

Tuht mir echt sehr leid wenn man das so auffassen könnte werde das eh bald ändern..
 
Wegen Dem AVA.. das habe ich schon sehr lange hier bei klamm.de und es hat noch keiner was gesagt den ich gebe ichn ja nicht als klamm.de Admin aus..

ok, wenn du meinst. ich kenne die mods da etwas spitzfindiger :) dass du dich nicht als klamm admin ausgibst ist klar ... allerdings erst auf den zweiten blick :)

läuft dein kram denn jetzt?
 
ok, wenn du meinst. ich kenne die mods da etwas spitzfindiger :) dass du dich nicht als klamm admin ausgibst ist klar ... allerdings erst auf den zweiten blick :)

läuft dein kram denn jetzt?

naja..
Habe gerade mitbekommen das Manschmal es erst beim 2 Klick auf den Buchstaben kommt..

Gerade wenn mann nach etwas sucht "Berstscheibe" und dan auf einen Buchstaben klickt im Menü kommt nix
 
hmm..
ein anderes Problem.. (fast das gleich)

Ich habe eine Datei welche ein Forumular sende :

Bsp :
PHP:
echo"
<FORM action=\"?jump=speichern\" method=\"post\">
<TABLE>
<TR valign=top class=\"input\">
    <TD>SUCHWORT</TD>
    <TD><input type=\"text\" name=\"suchwort\" size=\"28\"></TD>
  </TR>
</TR>
</TABLE>
<INPUT type=submit value=\"Eintragen\">
</FORM>";


Diese Springt hier hin:

PHP:
if($jump==$_POST['speichern'])
{
$anzahl = MYSQL_NUM_ROWS(MYSQL_QUERY( "SELECT * FROM begriff_lexikon WHERE (suchwort = '$_POST[suchwort]')"));
if ($anzahl != 0)
{
echo("<font color=\"red\">Leider ist für diesen Suchbegriff schon etwas vorhanden :-(</font><br>");
echo "<br><br><a href='javascript:history.back()'><b>zurück...</b></a>";
include_once("footer.inc.php"); 
die();
}
$datum = date("j.m.Y");
mysql_query("INSERT INTO `begriff_lexikon` (`suchwort`, `text`, `buchstaben`, `eingetragenvon`, `datum`) VALUES ('$_POST[suchwort]', '$_POST[text]', '$_POST[buchstaben]', '$_POST[name]', '$datum') ");
echo mysql_error();
echo"Danke für deinen Eintrag<br><br><a href='javascript:history.back()'><b>zurück...</b></a>";
}


Si mir wird aber immer die ganze Zeit wenn ich diese datei aufrufe diese Angezeigt :

Leider ist für diesen Suchbegriff schon etwas vorhanden :-(
 
Meine Login Datei :

PHP:
 <?php include_once("header.inc.php"); ?>


<?php 
session_start();
include_once("../config.inc.php"); 

if($fehler==$_GET['logout'])
{
session_destroy();
echo "<b>Admin Session geschlossen..</b>";
die();
}

// user bereits eingeloggt 
if (isset($_SESSION['userid'])) {  
echo "<center>
<font color=\"red\"><b><img src=\"achtung.gif\"> Sicherheitswarung</b></font><br>
<a href=\"?fehler=logout&$PHPSESSID\">Nicht Vergessen Auszuloggen</a>";
echo"<br><br><a href=\"adminbereich.php?jump=start\">Hier Finden sie ihre Administrations Oberfläche</a>";
} 
?>


<form name="FormName" action="adminbereich.php?jump=start" method="post" class="input">
<table align="center">
<tr align="center">
<td align="center">Account ID:</font></td>
<td align="center" class="input"><input type="text" name="userid" size="24"></td>
</tr>
<tr align="center">
<td align="center">Passwort:</font></td>
<td align="center"><input type="password" name="passwort" size="24"></td>
</tr>
</table><br>
<p align="center"><input type="submit" name="submitButtonName"></p>
<p></p>
</form>
</b></font>


<?php include_once("footer.inc.php"); ?>

Meine Adminbereich Datei :

PHP:
<?php
include_once("header.inc.php"); 
include_once("../config.inc.php");

if(empty($_SESSION['userid'])|| !isset($_SESSION['userid']))
$_SESSION['userid'] = $_POST[userid];
if(empty($_SESSION['passwort'])|| !isset($_SESSION['passwort']))
$_SESSION['passwort']=$_POST[passwort];


$res = mysql_query("select * from adminlogindaten where loginnamen = $_SESSION[userid]");
$num = mysql_affected_rows();
if ($num>0)
{
$dbpasswort = mysql_result($res,0,"passwort");

if ($_SESSION[passwort] == $dbpasswort)
{
$res = mysql_query("select * from adminlogindaten where loginnamen =  $_SESSION[userid]");
echo mysql_error();
$num = mysql_affected_rows();
if ($num>0)
{

if($jump==$_GET['start'])
{
echo"Willkommen in ihrem Personlichem Adminbereich";
}


if($jump==$_GET['begriff'])
{
echo"-------------";
}




//ENDE
}
}
else
{
echo "<font color='darkred'><b>Achtung:</b></font> Bitte das Passwort Prüfen diese Stimmt nicht mit der Account ID überein.!</b><br><br>"; session_destroy();
}
}
else
{
echo "<font color='darkred'><b>Achtung:</b></font> Bitte die Account ID Prüfen in der Datenbank ist nichts gefunden worden.!<br><br>"; session_destroy();
}

include_once("footer.inc.php"); 
?>
 
Also ich kann hier auf Anhieb gar nichts erkennen ehrlich gesagt da der ganze Code irgendwie etwas ... unstrukturiert ... unbeholfen ... aussieht?

Mal einfache Basic Tipps fuer die Zukunft sodass dir nach einer Zeit das Programmieren selber einfacher faellt:

1) Gewoehne dir eine feste Schreibweise deiner Sachen an, dazu gehoert soetwas wie Zeileneinrueckung, Leerzeilen, Kommentare, ob " oder ' und so weiter ...
2) Eventuell mal mit einem Template System auseinander setzen wie beispielsweise Smarty. Wenn du bei deinen echos bleiben moechtest dann bitte richtig und nicht son Quirckszeug benutzen. Also anstatt: echo "Die Kuh sagt: $muh"; dann bitte: echo "Die Kuh sagt: ".$muh; oder: echo 'Die Kuh sagt: '.$muh;.
3) never trust user input: Validiere erstmal die ganzen User Inputs bzw. mache dich mal mit Grundsicherheitkonzepten wie Cross Site Scripting und SQL Injections vertraut, weil ich bezweifel dass deine Seite dann lange nur die vorgesehenen Administratoren beherbergt :)

Liebe Gruesse,
artemis