tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
1497
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    germanius germanius ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    21
    Hallo
    php und mysql ist für mich noch was neu, aber hatte mir u.a. das Buch von Kevin Yank reingezogen, nur daß es dennoch nicht richtig geht...es erfolgt scheinbar kein Eintrag in die Datenbank und ich sehe den/die Fehler nicht...

    Hier der code von reg_insert.php:

    <?
    include ('db_connect.php');
    mysql_select_db(db123456);

    $eintrag = "INSERT INTO adressdaten (vname, nname, ansprechpartner,
    firma, strasse, nr, plz, ort, land, telefon, fax, email, url, username, passwort, bankname, blz, konto_nr) VALUES ('$vname', '$nname', '$ansprechpartner', '$firma','$strasse','$nr','$plz','$ort','$land','$telefon','$fax','$email','$url','$username','$pass wort','$bankname','$blz','$konto_nr')";
    $eintragen = mysql_query($eintrag);
    // $info="echo("<p>Daten erfolgreich gespeichert</p>")";
    // print $info
    ?>
    ist der $ falsch bei den values ?

    hier das formular zur datenabnahme:

    <html>

    <head>
    <title>Kundenregistrierung</title>
    </head>

    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <p> Registrierung als Kunde:</p>
    <form method="post" action="reg_insert.php">
    <table border="1" width="500">
    <tr>
    <td width="169">
    <p> </p>
    </td>
    <td width="315">
    <p> </p>
    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Ihr Vorname</p>
    </td>
    <td width="315">
    <p>

    <input type="text" name="$vname">

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Ihr Nachnahme</p>
    </td>
    <td width="315">
    <p><input type="text" name="$nname"></p>
    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Weiterer Ansprechpartner</p>
    </td>
    <td width="315">
    <p><input type="text" name="$ansprechpartner"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Firmenname</p>
    </td>
    <td width="315">
    <p><input type="text" name="$firma"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Strasse / Nr</p>
    </td>
    <td width="315">
    <p><input type="text" name="$strasse"> <input type="text" name="$nr" size="4"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>PLZ / Ort</p>
    </td>
    <td width="315">
    <p><input type="text" name="$plz" size="8"> <input type="text" name="$ort"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Land</p>
    </td>
    <td width="315">
    <p><input type="text" name="$land"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Telefon</p>
    </td>
    <td width="315">
    <p><input type="text" name="$telefon"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Fax</p>
    </td>
    <td width="315">
    <p><input type="text" name="$fax"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Email</p>
    </td>
    <td width="315">
    <p><input type="text" name="$email"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Internet</p>
    </td>
    <td width="315">
    <p><input type="text" name="$url"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>LoginName</p>
    </td>
    <td width="315">
    <p><input type="text" name="$username"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Paßwort</p>
    </td>
    <td width="315">
    <p><input type="text" name="$passwort"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Bankname</p>
    </td>
    <td width="315">
    <p><input type="text" name="$bankname"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>Bankleitzahl</p>
    </td>
    <td width="315">
    <p><input type="text" name="$blz"></p>

    </td>
    </tr>
    <tr>
    <td width="169">
    <p>KontoNr</p>
    </td>
    <td width="315">
    <p><input type="text" name="$konto_nr"></p>
    </td>
    </tr>
    <tr>
    <td width="169">
    <p> <input type="reset" name="delete" value="Daten löschen"></p>
    </td>
    <td width="315">
    <p> <input type="submit" name="daten_eintragen " value="Speichern"></p>
    </td>
    </tr>
    </table>
    </form>


    </body>

    </html>

    Ist im Formular ein Fehler drin ?

    hier die Abfrage:
    <?
    include ('db_connect.php');
    mysql_select_db(db123456) or die("Auswahl der Datenbank fehlgeschlagen");

    $abfrage = ("SELECT vname, nname ansprechpartner,
    firma, strasse, nr, plz, ort, land, telefon, fax, email, url, username, passwort, bankname, blz, konto_nr * FROM adressdaten");
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->url;
    echo $row->nname;
    echo $row->vname;
    echo $row->firma;
    }
    Paßt das alles zusammen ? wo fehlert da was ?

    Vielen Dank für Hilfe, da ich den Fehler nicht ersehe...und es bald online bringen muß...
    mfg
    Germanius
     

  2. #2
    Registriert seit
    Sep 2003
    Ort
    Salzburg
    Beiträge
    225
    Also ich würd mal hinter das "connect" ein "or die ("Keine Verbindung")" einbauen, damit kannst du dann mal feststellen ob du bei den Verbindungsparametern einen Fehler drin hast.

    Immer wenn ich den Fehler hatte, dann hab ich mal die einzufügenden Werte rausgenommen und nur einen Eintrag machen lassen. Also

    INSERT INTO tbl_tabelle (Feld) VALUES (Wert)

    Ähm, andere Frage: Wo kommen die Variablen her die du einfügen willst? Hast du auch mit $_REQUEST['Variable'] vom HTML Formular geholt?

    Wenn du mit "post" Daten an ein php Script schickst, musst du die bevor du damit arbeiten kannst "zuteilen".

    Also wenn du im HTML Formular die Variable "name" schickst, dann musst im Zielscript die Variable so zuweisen:

    $name=$_REQUEST['name'];

    Und erst dann kannst du diese verwenden!

    *Hoffentlich mein letzter Edit dieses Beitrags
    Geändert von Chocobanana (04.06.04 um 12:31 Uhr)
     

  3. #3
    germanius germanius ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    21
    Hi
    ups, das request war mit unbekannt , ich dachte, das wird automatisch übergeben durch action.
    Ich werds mal umfummeln...
    Danke
    till later
     

  4. #4
    BenKioo BenKioo ist offline Grünschnabel
    Registriert seit
    Jun 2004
    Beiträge
    1
    @ Chocobanana

    wo ist der eigentlich der Unterschied zwischen $_REQUEST['var'] und dem $HTTP_POST_VARS['var'] ? gibts noch andere Möglichkeiten an die Werte des Formulars dranzukommen ?

    ps : bin auch Anfänger
     
    diffrent day, same shit

  5. #5
    germanius germanius ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    21
    Ok, hatte es geändert, es kommt kein Fehler beim Eintragen, aber die Daten spuckt er dennoch nicht aus - wird es wie folgt eingefügt ?


    reg_insert.php:

    <?
    include ('db_connect.php');
    mysql_select_db(db123456);

    $vname=$_REQUEST['vname'];
    $nname=$_REQUEST['nname'];
    $ansprechpartner=$_REQUEST['ansprechpartner'];
    $firma=$_REQUEST['firma'];
    $strasse=$_REQUEST['strasse'];
    $nr=$_REQUEST['nr'];
    $plz=$_REQUEST['plz'];
    $ort=$_REQUEST['ort'];
    $land=$_REQUEST['land'];
    $telefon=$_REQUEST['telefon'];
    $fax=$_REQUEST['fax'];
    $email=$_REQUEST['email'];
    $url=$_REQUEST['url'];
    $username=$_REQUEST['username'];
    $passwort=$_REQUEST['passwort'];
    $bankname=$_REQUEST['bankname'];
    $blz=$_REQUEST['blz'];
    $konto_nr=$_REQUEST['konto_nr'];

    $eintrag = "INSERT INTO adressdaten (vname, nname, ansprechpartner,
    firma, strasse, nr, plz, ort, land, telefon, fax, email, url, username, passwort, bankname, blz, konto_nr) VALUES ('$vname', '$nname', '$ansprechpartner', '$firma','$strasse','$nr','$plz','$ort','$land','$telefon','$fax','$email','$url','$username','$pass wort','$bankname','$blz','$konto_nr')";
    $eintragen = mysql_query($eintrag) or die(mysql_error());
    // $info="echo("<p>Daten erfolgreich gespeichert</p>")";
    // print $info
    ?>
    was ist da falsch ?
     

  6. #6
    Registriert seit
    Sep 2003
    Ort
    Salzburg
    Beiträge
    225
    Original geschrieben von BenKioo
    @ Chocobanana

    wo ist der eigentlich der Unterschied zwischen $_REQUEST['var'] und dem $HTTP_POST_VARS['var'] ? gibts noch andere Möglichkeiten an die Werte des Formulars dranzukommen ?

    ps : bin auch Anfänger
    HTTP_POST_VARS ist soweit ich weiß früher verwendet worden. Seit den neuen PHP Versionen auch REQUEST

    Du kannst die Daten aber auch mit $_GET['Variable'] bearbeiten.

    @germanius:

    Werden die Daten in die DB geschrieben? Wenn nicht versuch mal nur eine Variable einzutragen.

    mit mysql_fetch_object kann ich dir leider nich helfen. Aber versuch doch mal $row=mysql_fetch_array($ergebnis, MYSQL_ASSOC);
    echo $row['Variable'];
     

  7. #7
    germanius germanius ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    21
    @choco:
    danke, wie es aussieht, trägt er gar keine Daten ein
    Verstehe ich nicht.
    Er gibt auch keine Fehler raus.
    Wenn ich in phpmyadmin nachsehe, wird die die Grundstruktur, also die Tabellenspaltenfelder angezeigt, aber keine Daten darin per Formular übertragen.

    woran liegts noch ?
    habe ich das request falsch eingetragen oder in der Abfrage ohne die $s ?
     

  8. #8
    Registriert seit
    Sep 2003
    Ort
    Salzburg
    Beiträge
    225
    Wenn nichts eingetragen wird, dann denk ich das nicht alle Variablen "gefüllt sind". Daher nochmal mein Tip. Vereinfache das Eintragen und probier nur eine Variable in die Datenbank zu schreiben, funktioniert das, dann kannst du sicher sein, dass es generell funktioniert und alle Befehle funktionieren.
    So, wenn die eine Variable ordnungsgemäß in der DB ist kannst du nun entweder Schritt für Schritt weitere Variablen hinzufügen und immer wieder schaun ob er sie einträgt, dann wirst du bald auf den Übeltäter stoßen.
    Alternativ kannst du auch die Variablen checken:

    if (isset($Variable)){
    echo ("Inhalt der Variable:".$Varbiable);
    }
    else {
    echo ("Variable existiert nicht");
    }

    DA gibts aber natürlich mehrere Möglichkeiten.
     

  9. #9
    markes markes ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    20
    das ganze geht auch viel einfacher...
    probier mal den code hier aus. ist nichts 100 %iges aber sollte funktionieren.
    Die html Optimierung muss ich dir überlassen, sieht noch ein wenig wild aus alles...
    achso, schreib das mal noch in deine db_connect.php und achte darauf, das sie im richtigen verzeichniss liegt..

    PHP-Code:
    $tab_anmeldung "adressdaten"
    muss ja nicht gleich jeder wissen, wie du deine datenbank tabellen nennst.
    ich würde es aufjedenfall so machen mit allen daten die du für die db brauchst.
    hier ein bsp.:

    PHP-Code:
    <?php
    $db_server 
    "localhost";
    $db_name "test";
    $db_user "root";
    $db_pass "";  
    $tab_anmeldung "adressdaten";        
    ?>
    PHP-Code:
    <? 
    include ('db_connect.php');
    mysql_select_db(db123456);

    $eintrag "INSERT INTO $tab_anmeldung (vname, nname, ansprechpartner, firma, strasse, nr,
                                            plz, ort, land, telefon, fax, email, url, username, passwort,
                                            bankname, blz, konto_nr)
                                   VALUES ('
    $vname', '$nname', '$ansprechpartner', '$firma','$strasse',
                                           '
    $nr','$plz','$ort','$land','$telefon','$fax','$email','$url',
                                           '
    $username','$passwort','$bankname','$blz','$konto_nr')";
    //Abfrage ob User schon eingetragen wurde                                       
    $abfrage mysql_query("select * from $tab_anmeldung where email = '$email'"); 
       if(
    mysql_num_rows($abfrage) > 0) {$error .=" Der Benutzer $name mit der Email $email wurde bereits eingetragen";} 
         else { 
          
    $eintragen mysql_query($eintrag)or die(mysql_error());
           echo 
    "Daten erfolgreich eingetragen";
           } 
    ?>
    <html>

    <head>
    <title>Kundenregistrierung</title>
    </head>

    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <p> Registrierung als Kunde:</p> 
    <form method="post" action="<? $PHP_SELF ?>">
      <table border="1" width="">
        <tr>
          <td width="101"> 
            <p> </p>
    </td>
          <td width=""> 
            <p> </p>
    </td>
    </tr>
    <tr>
          <td> 
            <p>Ihr Vorname</p>
    </td>
          <td> 
            <p>

              <input name="vname" type="text" id="vname">

    </td>
    </tr>
    <tr>
          <td> 
            <p>Ihr Nachnahme</p>
    </td>
          <td> 
            <p>
              <input name="nname" type="text" id="nname">
            </p>
    </td>
    </tr>
    <tr>
          <td> 
            <p>Weiterer Ansprechpartner</p>
    </td>
          <td> 
            <p>
              <input name="ansprechpartner" type="text" id="ansprechpartner">
            </p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Firmenname</p>
    </td>
          <td> 
            <p>
              <input name="firma" type="text" id="firma">
            </p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Strasse / Nr</p>
    </td>
          <td> 
            <p>
              <input name="strasse" type="text" id="strasse">
               
              <input name="nr" type="text" id="nr" size="4">
            </p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>PLZ / Ort</p>
    </td>
          <td> 
            <p><input type="text" name="plz" size="8"> <input type="text" name="ort"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Land</p>
    </td>
          <td> 
            <p><input type="text" name="land"></p>

    </td>
    </tr>
        <tr> 
          <td>
    <p>Telefon</p>
    </td>
          <td> 
            <p><input type="text" name="telefon"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Fax</p>
    </td>
          <td> 
            <p><input type="text" name="fax"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Email</p>
    </td>
          <td> 
            <p><input type="text" name="email"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Internet</p>
    </td>
          <td> 
            <p><input type="text" name="url"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>LoginName</p>
    </td>
          <td> 
            <p><input type="text" name="username"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Paßwort</p>
    </td>
          <td> 
            <p><input type="text" name="passwort"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Bankname</p>
    </td>
          <td> 
            <p><input type="text" name="bankname"></p>

    </td>
    </tr>
    <tr>
          <td> 
            <p>Bankleitzahl</p>
    </td>
          <td> 
            <p><input type="text" name="blz"></p>

    </td>
    </tr>
    <tr>
          <td height="30"> 
            <p>KontoNr</p>
    </td>
          <td> 
            <p><input type="text" name="konto_nr">
            </p>
    </td>
    </tr>
    <tr>
          <td> 
            <p> <input type="reset" name="delete" value="Daten löschen"></p>
    </td>
          <td> 
            <p> <input type="submit" name="daten_eintragen " value="Speichern">
            </p>
    </td>
    </tr>
    </table>
    </form>


    </body>

    </html>
     

  10. #10
    germanius germanius ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    21
    Hallo Markes & Co

    danke für deine Mühe und Tipps.
    Es tritt leider mit deinem Script der Fehler auf, daß er die Daten nicht in die Datenbank einträgt, wenn ich mit phpmyadmin nachsehe.

    Er trägt es sozusagen leer ein, bei nr z.b. setzt er eine null und läßt den rest weg bzw. leer.

    weißt du noch was dazu ?

    Vielen Dank
    mfg
    Germanius
     

  11. #11
    germanius germanius ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    21
    hi
    jetzt klappt es, ich hatte die $s vergessen beim insert...

    <?
    include ('db_connect.php');
    mysql_select_db(db123456);


    $vname=$_REQUEST['vname'];
    $nname=$_REQUEST['nname'];
    $ansprechpartner=$_REQUEST['ansprechpartner'];
    $firma=$_REQUEST['firma'];
    $strasse=$_REQUEST['strasse'];
    $nr=$_REQUEST['nr'];
    $plz=$_REQUEST['plz'];
    $ort=$_REQUEST['ort'];
    $land=$_REQUEST['land'];
    $telefon=$_REQUEST['telefon'];
    $fax=$_REQUEST['fax'];
    $email=$_REQUEST['email'];
    $url=$_REQUEST['url'];
    $username=$_REQUEST['username'];
    $passwort = $_REQUEST['passwort'];
    $passwort1 = md5(passwort);

    $bankname=$_REQUEST['bankname'];
    $blz=$_REQUEST['blz'];
    $konto_nr=$_REQUEST['konto_nr'];

    $eintrag = "INSERT INTO daten (vname, nname, ansprechpartner,
    firma, strasse, nr, plz, ort, land, telefon, fax, email, url, username, passwort, bankname, blz, konto_nr) VALUES ('$vname', '$nname', '$ansprechpartner', '$firma','$strasse','$nr','$plz','$ort','$land','$telefon','$fax','$email','$url','$username','$pass wort','$bankname','$blz','$konto_nr')";
    $eintragen = mysql_query($eintrag) or die(mysql_error());

    ?>

    Danke nochmal
    besten Gruß
    Germanius
    *jetzt kommt nur noch der umfangreiche "Rest" der Datenbank dran * ))
     

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 03.11.10, 09:11
  2. Antworten: 6
    Letzter Beitrag: 06.08.07, 14:03
  3. Finde Fehler in script nicht!
    Von Benjamin5 im Forum PHP
    Antworten: 0
    Letzter Beitrag: 08.07.07, 15:15
  4. Antworten: 2
    Letzter Beitrag: 26.06.06, 18:41
  5. Fehler im Script - ich finde ihn nicht!
    Von RageNo1 im Forum PHP
    Antworten: 15
    Letzter Beitrag: 06.04.05, 22:43