php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-06-2003, 13:58
Laslayer
 Newbie
Links : Onlinestatus : Laslayer ist offline
Registriert seit: Jun 2003
Beiträge: 32
Laslayer ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fehler und ich weiß nicht wo. Bin totaler Anfänge

Hallo,

folgendes Problem:

#############################################
Hier zuerst mal die Eingabemaske:
#############################################

PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<
head>
<
title>Unbenanntes Dokument</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</
head>

<
body>
<
p>&nbsp;</p>
<
form name="suche" method="get" action="../suche_mitglied.php">
  <
p align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Datenbank
    durchsuchen
</strong></font></p>
  <
table width="34%" border="0" align="center" cellpadding="0" cellspacing="0">
    <
tr>
      <
td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif">Suchbegriff
        eingeben
</font></td>
    </
tr>
    <
tr>
      <
td width="48%">&nbsp;</td>
      <
td width="52%">&nbsp;</td>
    </
tr>
    <
tr>
      <
td colspan="2"><div align="center">
          <
input name="suche" type="text" id="suche" size="40">
        </
div></td>
    </
tr>
    <
tr>
      <
td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif">
        <
input type="checkbox" name="checkbox" value="checkbox">
        
in Mitgliedereigenschaften suchen</font></td>
    </
tr>
    <
tr>
      <
td><div align="right">
          <
input type="submit" name="Submit" value="Suchen">
        </
div></td>
      <
td><input type="reset" name="Submit2" value="Eingaben l&ouml;schen"></td>
    </
tr>
  </
table>
  <
div align="center"></div>
</
form>
<
p>&nbsp;</p>
</
body>
</
html

#############################################
und das dazugehörige PHP Skript für die Abfrage.
#############################################

PHP-Code:
<?
   
// Verbindung zur Datenbank herstellen

  
$db mysql_connect("localhost""root""");
  
mysql_select_db("mitglied_db",$db);
  
  
// Beim Erstaufruf die Eingabemaske anzeigen:
  
if (empty($action))
  {
    include 
"suche.htm";
  }
  
// User hat den Button angeklickt:
  
    
else
   {
    
$qu trim($keyword);
    
$query "".$qu;
    
$query "".$query;
    
$searchQuery $query;
    
$qquery ereg_replace("%","\\%",$query);
    
$qquery ereg_replace("_","\\_",$qquery);

    
// Keine Eingabe durch User
    
      
if ( strlen($query)==)
    {
      print 
$tlt_font;
      include 
"empty_search.htm";
      exit;
    }

    
$user_query "SELECT * FROM mitglieder WHERE name='$qu'";
    
$kunden_result mysql_query($mitglied_query);
    if (
$mitglied_result)
    {
      
$row mysql_fetch_array($mitglied_result);
      if (
$row 0)
      {
        
$id  mysql_result($mitlied_result,0,"id");
        }
      else
      {
        print 
$flr_font."<center>Mitglied $qu nicht in Datenbank gefunden.</center><BR>";
        include 
"suche.htm";
      }
    }

    else
    {
      print 
mysql_error();
    }
  }
?>
Wo liegt der Fehler? Ich werde ständig nach klicken des Submit Buttons auf "Seite nicht gefunden" zurückgelinkt. Bitte nach möglichkeit den Fehler einfach beschreiben da ich noch am Anfang stehe und mich erst seit einen Monat mit mysql und php beschäftige. Danke Euch allen im vorraus.

EDIT:
php.tags powered by Abraxax

Geändert von Abraxax (02-06-2003 um 14:05 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 02-06-2003, 14:03
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du rufst ne seite auf, die es nicht gibt. änder mal das hier:

<form name="suche" method="get" action="../suche_mitglied.php">
in
<form name="suche" method="post" action="suche_mitglied.php">
__________________
Kissolino.com
Mit Zitat antworten
  #3 (permalink)  
Alt 02-06-2003, 14:04
hand
 PHP Expert
Links : Onlinestatus : hand ist offline
Registriert seit: Dec 2001
Ort: Kärnten
Beiträge: 3.138
hand ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Möglichkeit 1:

Nach dem Absenden des Forms wird das Sktript "../suche_mitglied.php" aufgerufen.

Exisitiert dieses File ?
Mit Zitat antworten
  #4 (permalink)  
Alt 02-06-2003, 16:02
Laslayer
 Newbie
Links : Onlinestatus : Laslayer ist offline
Registriert seit: Jun 2003
Beiträge: 32
Laslayer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

Danke für die schnellen Antworten. Also dieses File suche_mitglied.php existiert. Der Fehler lag in der Pfadangabe. Dummer Fehler der mir eigentlich nicht passieren sollte :-). Jetzt bekomme ich zumindest keine Fehlermeldung mehr was aber auch nicht so gut ist da ich überhaupt keine Rückmeldung bzw. mysql_error bekomme. Ich sende die Suchanfrage ab und das wars. Die Eingabemaske bleibt stehen. hmmmm. klingt wenn ich das beschreibe zwar ein klein wenig blöd (zumindest für die Profis unter Euch) jedoch hilft mir meine vorhandene Literatur da auch nicht weiter.

Wo liegt der Fehler nun?

Danke

Geändert von Laslayer (02-06-2003 um 16:04 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 02-06-2003, 16:06
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es macht schon sinn, "action" zu übergeben. wo nix ist, ist empty($action) auch immer wahr.

<input type="submit" name="action" value="Suchen">
sollte dein problem lösen

btw: im formular hast due ein feld namens 'suche', in der php-datei
prüfst du $keyword.

PHP-Code:
$qu trim($keyword);
    
$query "".$qu;
    
$query "".$query;
    
$searchQuery $query;
    
$qquery ereg_replace("%","\%",$query);
    
$qquery ereg_replace("_","\_",$qquery);

// duch das ersetzen:
$query addslashes($suche); 
zudem wäre es besser auf die variablen per $_POST[], $_GET[], ... zuzugreifen. such mal im forum nach "register globals"
__________________
Kissolino.com

Geändert von Wurzel (02-06-2003 um 16:12 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 02-06-2003, 16:45
Laslayer
 Newbie
Links : Onlinestatus : Laslayer ist offline
Registriert seit: Jun 2003
Beiträge: 32
Laslayer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

super, ich erhalte eine Fehlermeldung. "Query was empty". Diese erscheint aber nur wenn ich den Radiobutton "in Mitgliedereigenschaften suchen" aktiviert habe. sonst bleibt alles wie vorher beschrieben.

Aber mich drängt ja niemand ;-)
Mit Zitat antworten
  #7 (permalink)  
Alt 02-06-2003, 17:02
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schau dir dein php-script mal ganz genau an.

ich pick nur mal eine stelle raus:
PHP-Code:
...
    
$user_query "SELECT * FROM mitglieder WHERE name='$qu'";
    
$kunden_result mysql_query($mitglied_query);
    if (
$mitglied_result)
... 
- du formulierst eine db-abfrage => $user_query
- du fragst die db => $kunden_result = mysql_query($mitglied_query);
- $mitglied_query ??? hallo, wo kommt die denn plötzlich her
- du fragst, ob es ein ergebnis gibt => if ($mitglied_result)
- dasselbe phänomen: eine undefinierte variable, die somit inhaltlos ist

undsoweiter undsofort. mach dich am besten erst einmal grundlegend mit
php vertraut. wie werden variablen übergeben, kauf dir ein gutes buch.
verstehe, was du liest und dann leg los.

ein gutes tutorial gibts auch unter http://www.schattenbaum.net/php
__________________
Kissolino.com
Mit Zitat antworten
  #8 (permalink)  
Alt 03-06-2003, 09:52
Laslayer
 Newbie
Links : Onlinestatus : Laslayer ist offline
Registriert seit: Jun 2003
Beiträge: 32
Laslayer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

du hast ja recht. Ich habe jedoch kein gutes Buch gefunden was meine Probleme einfach beantworten kann. Ich habe mir zum Beispiel das Buch "Jetzt lerne ich MySql und PHP" aus dem Markt und Technik Verlag zugelegt aber ich finde es einfach zu umständlich beschrieben oder ich denke zu kompliziert. Das die Abfragen nicht stimmen liegt nur daran das ich den Code schon mehrmals umgeschrieben habe und immer wieder neue Datenbanken angelegt habe. Das nächste Problem ist das meine Skripte auf dem Lokalen Server teilweise nicht laufen jedoch wenn ich Sie auf den Webspace kopiere gehen Sie auf einmal und umgekehrt. Das macht das dahintersteigen für mich als Anfänger nicht gerade leicht wenn man auf einmal mit Problemen konfrontiert ist die nirgendwo oder nur mit ewiger Suche zu lösen sind und mit der eigentlichen Aufgabe nichts zu tun haben.

Danke jedoch für Deine Hilfe und ich werde nichts desto trotz weitermachen.
Mit Zitat antworten
  #9 (permalink)  
Alt 03-06-2003, 10:04
invitatoinvitat
 Junior Member
Links : Onlinestatus : invitatoinvitat ist offline
Registriert seit: May 2003
Beiträge: 133
invitatoinvitat ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich würde nicht den button action nennen.

da viele einfach enter drücken anstatt den button, und dann wäre action natürlich auch empty.
Mit Zitat antworten
  #10 (permalink)  
Alt 03-06-2003, 10:21
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Laslayer
.... Danke jedoch für Deine Hilfe und ich werde nichts desto trotz weitermachen.
Davon wollte ich dich auch nicht abhalten

Ok, kleiner schnellkurs anhand deines scriptes:

formulare & formfelder
- formulare mit method=post & action=DasAufzurufendeScript.php versehen
- hast du ja
- formfelder (input, textarea, select, buttons, etc.) bekommen einen eindeutigen namen
- der name des feldes wird nach dem absenden des formulares zum namen der variablen, z.B.
Code:
<input type="text" name="meinfeld" value="test">
wird nach absenden zu
$meinfeld mit dem inhalt "test"
besser:
$_POST['meinfeld'] mit dem inhalt "test"

Bedingungen
- vergleichen kannst du nur, was du vorher auch definiert hast
- nur wenn im formular ein feld namens "action" existiert, kannst du auch
ein ergebnis aus
Code:
if(!empty($action))
erwarten. ansonsten
wird die bedingung nie erfüllt, weil die var immer leer ist.

SQL-Abfragen
- siehe verwenden von variablen

grundsätzlich
- wenn etwas nicht funktioniert, füg nicht wahllos irgendetwas in ein script
ein, in der hoffnung, das wird schon
- halte den code so einfach wie möglich, aufblähen kannst du ihn immer noch
- überlege, was du willst und code dann

ein einfaches beispiel
PHP-Code:
// SUCHMASKE
<form name="suche" method="get" action="suche_mitglied.php">
  <
p>Suchbegriff eingeben</p>
  <
p><input name="suche" type="text" id="suche" size="40"></p>
  <
p><input type="submit" name="action" value="Suchen"></p>
</
form>


// SUCHE_MITGLIED.PHP

  
if ($suche == "")  // wenn form gesendet, aber keine eingabe im feld suche
  
{
    print 
"Kein Suchwort eingegeben";
  }
    else
   {
    
// Verbindung zur Datenbank herstellen
    
$db mysql_connect("localhost""root""") or die(mysql_error());
    
mysql_select_db("mitglied_db",$db) or die(mysql_error());
 
    
$suche trim($suche);
    
$suche addslashes($suche);

    
$user_query "SELECT * FROM mitglieder WHERE name='$suche'";
    
$result mysql_query($user_query) or die(mysql_error());
    if (
mysql_num_rows($result) >0// hats ein ergebnis
    
{
        
$id  mysql_result($result,0,"id");
         print 
"Mitglied ".$suche." mit ID: ".$id." gefunden.";
     }
      else
      {
        print 
"Mitglied ".$suche." nicht gefunden.";
      }
    }
?> 
so, nu schau mal in ruhe darüber, schlag die verwendeten funktionen nach und bau es aus.

EDIT:
mist, zischenzeitlich die falsche taste gedrückt, gmmml
__________________
Kissolino.com

Geändert von Wurzel (03-06-2003 um 10:27 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 03-06-2003, 13:49
Laslayer
 Newbie
Links : Onlinestatus : Laslayer ist offline
Registriert seit: Jun 2003
Beiträge: 32
Laslayer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für diese ausführliche Hilfe. Anhand so eines Tutorial verstehe ich auch die Thematik. Ich kann nur nichts damit anfangen wenn in einen Buch wie den meinen steht ich soll dann eine Verbindung zur Datenbank herstellen und die erklären das anhand der Dos-Box beziehen sich aber auf ein HTML bzw. PHP Dokument. Gerade dies ist für Anfänger sehr verwirrend zumal viele und ich zähle mich darunter lieber praktisch an die Sache herangeführt werden. Kannst Du mir denn ein gutes Buch empfehlen?

Danke
Mit Zitat antworten
  #12 (permalink)  
Alt 03-06-2003, 17:11
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

guckst du hier
Was für PHP Bücher benutzt ihr ?
__________________
Kissolino.com
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:34 Uhr.